# # spec file for package python-ldap # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-ldap Version: 3.1.0 Release: 4.7 Summary: Python LDAP interface License: Python-2.0 Group: Development/Libraries/Python URL: https://www.python-ldap.org/ Source0: https://files.pythonhosted.org/packages/source/p/python-ldap/python-ldap-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: %{python_module pyasn1 >= 0.3.7} BuildRequires: %{python_module pyasn1-modules >= 0.1.5} BuildRequires: %{python_module setuptools} BuildRequires: cyrus-sasl-devel >= 2.1 BuildRequires: fdupes BuildRequires: krb5-devel BuildRequires: libopenssl-devel >= 0.9.7 # needed for slapd binary in tests BuildRequires: openldap2 # needed for ldapadd binary in tests BuildRequires: openldap2-client BuildRequires: openldap2-devel >= 2.4.11 BuildRequires: python-rpm-macros Requires: python-pyasn1 >= 0.3.7 Requires: python-pyasn1-modules >= 0.1.5 %python_subpackages %description python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP 2.x libs for that purpose. Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 schema, etc.). %prep %setup -q # eisfair has sasl3 sed -i 's|/usr/lib/sasl2|/usr/lib/sasl3|' Build/setup.cfg.suse-linux cp Build/setup.cfg.suse-linux setup.cfg %build CFLAGS="%{optflags}" %python_build %install %python_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %check %python_exec setup.py test %files %{python_files} %license LICENCE %doc README Demo CHANGES TODO %{python_sitearch}/* %changelog * Mon Dec 10 2018 Tomáš Chvátal - Reduce the runtime dependencies to match the actual needs * User can use either openldap or 389-ds or anything else - Run the tests on the package - Fix the fdupes call * Fri Dec 7 2018 Tomáš Chvátal - Add this package to SLE wrt fate#325747 - Do not add version dependency to devel requirement * Tue Aug 14 2018 tchvatal@suse.com - Require openldap2-client as some of the binaries are called on the runtime * Tue Aug 7 2018 michael@stroeder.com - update to upstream release 3.1.0: * Long-deprecated functions `ldap.open()` and `ldap.init()` are removed * `LDAPObject.compare_s()` and `compare_ext_s` return bool instead of 0 or 1 * Tons of changes see CHANGES file * Thu Jan 18 2018 fbergmann@suse.com - update to upstream release 3.0.0b4: - Adds support for Python 3.4+ - Adds support for `bytes_mode` - Idiotmatic python code changes - Adds testing for `pypy` - Fixes/enhances tests - Remove python-ldap.keyring and python-ldap-%%{version}.tar.gz.asc: There is no signature provided for the new upstream tarball * Mon Nov 20 2017 michael@stroeder.com - update to upstream release 2.5.2 Changes since 2.5.1: * code-cleaning in setup.py Modules/ * PyBytes_ instead of PyString_ and added PyInt_FromLong compat macro * moved code from version.c to ldapmodule.c * removed obsolete back-ward compability constants from common.h * build checks whether LDAP_API_VERSION is OpenLDAP 2.4.x * _ldap.__author__ and _ldap.__license__ also set from ldap.pkginfo * assume C extension API for Python 2.7+ Lib/ * removed all dependencies on modules string and types * removed use of .has_key() * removed class ldap.ldapobject.NonblockingLDAPObject * new global constant ldap.LIBLDAP_API_INFO * right after importing _ldap there is a call into libldap to initialize it * method .decodeControlValue() of SSSResponseControl and VLVResponseControl does not set class attribute result_code anymore * always use bytes() for UUID() constructor in ldap.syncrepl * module ldif now uses functions b64encode() and b64decode() * fixed pickling and restoring of ReconnectLDAPObject * more modules with PEP-8 compliance * ldap.ldapobject split into module-package Tests/ * scripts do not directly call SlapdTestCase.setUpClass() anymore * added LDIF test with folded, base64-encoded attribute * added more tests for sub-module ldap.dn * added tests for ldap.syncrepl (thanks to Karl Kornel) * Sun Nov 12 2017 michael@stroeder.com - update to upstream release 2.5.1 - adjusted BuildRequires to match upstream prerequisites Changes since 2.4.45: Mandatory prerequisites: - Python 2.7.x - pyasn1 0.3.7+ and pyasn1_modules 0.1.5+ Modules/ * removed unused code schema.c Lib/ * ldap.__version__, ldap.__author__ and ldap.__license__ now imported from new sub-module ldap.pkginfo also to setup.py * Added safety assertion when importing _ldap: ldap.pkginfo.__version__ must match _ldap.__version__ * removed stand-alone module dsml * slapdtest.SlapdObject.restart() just restarts slapd without cleaning any data * Compability changes for pyasn1 0.3.x or newer (thanks to Ilya Etingof and Christian Heimes) * The methods SSSResponseControl.decodeControlValue() and VLVResponseControl.decodeControlValue() now follow the coding convention to use camel-cased ASN.1 name as class attribute name. The old class names are still set for back-ward compability but should not be used in new code because they might be removed in a later release. * removed SSSRequestControl from ldap.controls.KNOWN_RESPONSE_CONTROLS Tests/ * added explicit reconnect tests for ReconnectLDAPObject * Mon Oct 9 2017 michael@stroeder.com - update to upstream release 2.4.45 * fixed error handling * Thu Sep 7 2017 michael@stroeder.com - update to upstream release 2.4.44 * GIL fix * Thu Sep 7 2017 michael@stroeder.com - update to upstream release 2.4.43 * SASL bind fix * Mon Sep 4 2017 michael@stroeder.com - update to upstream release 2.4.42 * small enhancements to test suite * Wed Jul 12 2017 michael@stroeder.com - update to upstream release 2.4.41 (small LDIF parser enhancement) * Tue Jun 27 2017 michael@stroeder.com - update to upstream release 2.4.40 (small memleak fix) * Wed May 31 2017 michael@stroeder.com - update to upstream release 2.4.39 * Thu May 18 2017 jmatejek@suse.com - provide python2-ldap to support singlespec packages * Fri Apr 28 2017 michael@stroeder.com - update to upstream release 2.4.38 * Thu Apr 27 2017 michael@stroeder.com - update to upstream release 2.4.37 * Wed Feb 8 2017 michael@stroeder.com - Update to upstream release 2.4.30 (with compability fix for pyasn1 0.2.x) * Wed Jan 25 2017 michael@stroeder.com - Update to upstream release 2.4.29 - added python-ldap.keyring to validate upstream source signatures * Fri Nov 18 2016 michael@stroeder.com - Update to upstream release 2.4.28 * Mon Aug 1 2016 michael@stroeder.com - Update to upstream release 2.4.27 * Sun Jul 24 2016 michael@stroeder.com - Update to upstream release 2.4.26 - updated pypi source URL * Tue Feb 23 2016 michael@stroeder.com - Use HTTPS links * Wed Feb 10 2016 michael@stroeder.com - Aligned desciption with project's web site - Removed obsolete stuff: * build flag -DLDAP_DEPRECATED * outdated URL in package description * removing of CVS files * Mon Jan 18 2016 michael@stroeder.com - Update to upstream release 2.4.25 * Sat Oct 24 2015 michael@stroeder.com - Update to upstream release 2.4.22 * Fri Sep 25 2015 michael@stroeder.com - Update to upstream release 2.4.21 * Tue Jul 7 2015 michael@stroeder.com - Update to upstream release 2.4.20 * Sun Jan 11 2015 michael@stroeder.com - Update to upstream release 2.4.19 * Thu Oct 9 2014 michael@stroeder.com - Update to upstream release 2.4.18 * Sat Sep 27 2014 michael@stroeder.com - Update to upstream release 2.4.17 * Wed Sep 10 2014 michael@stroeder.com - Update to upstream release 2.4.16 * Fri Mar 28 2014 speilicke@suse.com - Set license ot Python-2.0 (according to legal) * Mon Mar 24 2014 michael@stroeder.com - Update to upstream release 2.4.15 * Various fixes * Support for subordinates search scope * Support for select schema description extension * Thu Jun 27 2013 michael@stroeder.com - Update to upstream release 2.4.13 * mainly important fixes for ReconnectLDAPObject * Tue Jun 18 2013 jengelh@inai.de - Explicitly specify openssl build dependency * Thu Jun 7 2012 michael@stroeder.com - update to 2.4.10 * Fri Mar 23 2012 michael@stroeder.com - Added dependencies to python-pyasn1 and python-pyasn1-modules * Fri Mar 16 2012 saschpe@suse.de - Remove service - Spec file cleanup: * Remove outdated sections * Proper macro usage * Tue Oct 11 2011 jmatejek@suse.com - removed sasl.patch as it is no longer necessary - update to 2.4.3 * requires OpenLDAP 2.4.11 or higher * improved documentation * backwards-incompatible API for ldap.control * a couple new features, e.g. support for OPT_X_TLS_PACKAGE * improved LDAPv3 support * Thu Mar 3 2011 saschpe@suse.de - update to 2.3.13: * Correct #ifdef-statement for LDAP_OPT_X_TLS_CRLFILE in constants.c fixes build with older OpenLDAP libs * Support for LDAP_OPT_DEFBASE (see SF#3072016) * Several documentation improvements * Thu Aug 6 2009 matejcik@suse.cz - update to 2.3.9 * support for handling ldap url extensions without explicit exvalue * common version number for all modules * Wed May 6 2009 matejcik@suse.cz - update to 2.3.8 * supposedly supports gcc4.4 * better handling of corner case errors * minor fixes - fixed rpmlint warnings * Fri Sep 5 2008 matejcik@suse.cz - update to 2.3.5 * minor fixes - removed cvs-related files from the package * Thu Apr 3 2008 matejcik@suse.cz - update to 2.3.4 * better RFC 4514 compatibility * bugfixes - cleaned up spec file - removed unnecessary source - added %%fdupes * Wed Aug 1 2007 jmatejek@suse.cz - update to 2.3.1 * openLDAP 2.3+ is now required * upstream fixed python2.5 problems * support for Cancel operation * DN related functions moved to submodule ldap.dn * numerous bugfixes * Mon Jan 22 2007 jmatejek@suse.cz - removed dependency on openldap, added dependency on openldap-client * Thu Nov 16 2006 jmatejek@suse.cz - fixed a bug that would in some cases lead to invalid free() call while deallocating the object * Mon Oct 23 2006 jmatejek@suse.cz - update to 2.2.0 - OpenLDAP 2.2+ is now required - code is cleaned up, many memory leaks fixed - improved ldap.async - fixed Dict, added IndexedDict - lots of bugs fixed - fixed some 64bit problems with PEP353 conversion * Tue Feb 28 2006 jmatejek@suse.cz - updated to reflect python changes due to #149809 * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Thu Jan 5 2006 jmatejek@suse.cz - update to 2.0.11 - using setup.cfg source designed for SuSE (minor adjustments against Build/setup.cfg.suse-linux * Tue Oct 25 2005 rhafer@suse.de - added LDAP_DEPRECATED to CFLAGS to build correctly with· OpenLDAP 2.3 * Thu Oct 6 2005 matejcik@suse.cz - update to 2.0.10 * Wed Jun 29 2005 ltinkl@suse.cz - update to 2.0.8 * Tue May 10 2005 mcihar@suse.cz - update to 2.0.7 * Mon Dec 6 2004 mcihar@suse.cz - update to 2.0.6 * Tue Nov 23 2004 mcihar@suse.cz - update to 2.0.5 * Fri Jul 30 2004 mcihar@suse.cz - update to 2.0.2 * Wed Jun 30 2004 mcihar@suse.cz - update to 2.0.1 * Wed May 19 2004 mcihar@suse.cz - update to 2.0.0 final * Fri Jan 30 2004 mcihar@suse.cz - include licence * Fri Jan 23 2004 mcihar@suse.cz - updated to 2.0.0pre19 * Tue Dec 16 2003 mcihar@suse.cz - updated to 2.0.0pre18 * Thu Nov 13 2003 mcihar@suse.cz - updated to 2.0.0pre15 * Wed Oct 15 2003 mcihar@suse.cz - don't build as root - updated to 2.0.0pre14: ldap.ldapobject: * Added class attribute LDAPObject.network_timeout mapped to set_option(ldap.OPT_NETWORK_TIMEOUT,..) * LDAPObject.search_ext(): Pass arguments serverctrls,clientctrls to _ldap.search_ext() ldap.sasl: * Added class ldap.sasl.external for handling the SASL mechanism EXTERNAL * Dictionary ldap.sasl.saslmech_handler_class built during import for all the known SASL mechanisms derived from class definitions ldap.schema: * More graceful handling of KeyError in SubSchema.attribute_types() * New method SubSchema.get_inheritedattr() for retrieving inherited class attributes * New method SubSchema.get_inheritedobj() for retrieving a schema element instance including all inherited class attributes * Mon Aug 11 2003 mcihar@suse.cz - updated to 2.0.0pre13 * Mon Jun 16 2003 mcihar@suse.cz - use record-rpm * Tue May 27 2003 mcihar@suse.cz - updated to 2.0.0pre12 * Tue May 13 2003 mcihar@suse.cz - updated to 2.0.0pre11 - use distutils for build * Mon May 12 2003 mcihar@suse.cz - use versioned dependency on python * Thu Jan 30 2003 ro@suse.de - use sasl2 * Fri Jan 10 2003 mcihar@suse.cz - updated to 2.0.0pre06 - build with more features - add demo into docs * Mon Aug 26 2002 rhafer@suse.de - LDAP_FILT_MAXSIZ isn't defined in libldap anymore * Wed Aug 14 2002 vinil@suse.cz - new version: 2.0.0pre05 * Mon Jun 3 2002 stepan@suse.de - use %%_lib instead of lib * Wed Feb 27 2002 vinil@suse.cz - version 2.0.0pre04 to work with openldap2 (bug #13948) * Tue Sep 4 2001 rvasice@suse.cz - fix Group tag to Development/Libraries/Python * Thu Mar 15 2001 kukuk@suse.de - Remove openldap from Requires * Thu Mar 15 2001 ro@suse.de - changed for openldap2 * Thu Mar 15 2001 ro@suse.de - fixed neededforbuild for openldap * Wed Nov 22 2000 mt@suse.de - renamed from pyldapm to python-ldap - updated to python-ldap-1.10alpha3 - adopted spec file for python2.0 * Mon Nov 6 2000 ro@suse.de - fixed neededforbuild (added ldaplib) * Sun Oct 29 2000 kukuk@suse.de - fix need for build * Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. * Wed May 26 1999 mt@suse.de - new version 1.5