### Abstract ###
# global prerelease b4
# Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1520990
# openldap does not re-register nss shutdown callbacks after nss_Shutdown is
# called.
%if 0%{?fedora} <= 26
%global openldap_version 2.4.45-2
%else # F27+
%global openldap_version 2.4.45-4
%endif
%bcond_with python2
Name: python-ldap
Version: 3.3.1
Release: 2%{?dist}
License: Python
Group: System Environment/Libraries
Summary: An object-oriented API to access LDAP directory servers
URL: http://python-ldap.org/
Source0: https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}%{?prerelease}.tar.gz
Patch0001: 0001-Fix-SASL-get-set-options-on-big-endian-platforms.patch
### Build Dependencies ###
BuildRequires: openldap-devel >= %{openldap_version}
BuildRequires: openssl-devel
BuildRequires: cyrus-sasl-devel
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
%endif #{with python2}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
# Test dependencies
%if %{with python2}
BuildRequires: python2-pytest
BuildRequires: python2-coverage
BuildRequires: python2-pyasn1 >= 0.3.7
BuildRequires: python2-pyasn1-modules >= 0.1.5
%endif #{with python2}
BuildRequires: python3-pytest
BuildRequires: openldap-servers >= %{openldap_version}
BuildRequires: openldap-clients >= %{openldap_version}
BuildRequires: python3-coverage
BuildRequires: python3-pyasn1 >= 0.3.7
BuildRequires: python3-pyasn1-modules >= 0.1.5
%global _description\
python-ldap provides an object-oriented API for working with LDAP within\
Python programs. It allows access to LDAP directory servers by wrapping the\
OpenLDAP 2.x libraries, and contains modules for other LDAP-related tasks\
(including processing LDIF, LDAPURLs, LDAPv3 schema, etc.).
%description %_description
%if %{with python2}
%package -n python2-ldap
Summary: %summary
Requires: openldap >= %{openldap_version}
Requires: python2-pyasn1 >= 0.3.7
Requires: python2-pyasn1-modules >= 0.1.5
Requires: python2-setuptools
Provides: python2-ldap%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-ldap}
%description -n python2-ldap %_description
%endif #{with python2}
%package -n python3-ldap
Summary: %{summary}
Requires: openldap >= %{openldap_version}
Requires: python3-pyasn1 >= 0.3.7
Requires: python3-pyasn1-modules >= 0.1.5
%if 0%{?rhel} && 0%{?rhel} >= 8
Requires: platform-python-setuptools
%else
Requires: python3-setuptools
%endif
%{?python_provide:%python_provide python3-ldap}
Obsoletes: python3-pyldap < 3
Provides: python3-pyldap = %{version}-%{release}
Provides: python3-pyldap%{?_isa} = %{version}-%{release}
%description -n python3-ldap %_description
%prep
%setup -qc
pushd %{name}-%{version}%{?prerelease}
%patch1 -p1
popd
mv %{name}-%{version}%{?prerelease} python3
cp -a python{3,2}
# Fix interpreter
%if %{with python2}
find python2 -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python2}|'
%endif #{with python2}
find python3 -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
# Disable warnings in test to work around "'U' mode is deprecated"
# https://github.com/python-ldap/python-ldap/issues/96
sed -i 's,-Werror,-Wignore,g' python3/tox.ini
%build
%if %{with python2}
pushd python2
%py2_build
popd
%endif #%{with python2}
pushd python3
%py3_build
popd
%check
%if %{with python2}
pushd python2
LANG=C.UTF-8 LOGLEVEL=10 \
PYTHONPATH=%{buildroot}%{python2_sitearch} %{__python2} -m pytest
popd
%endif #{with python2}
pushd python3
LANG=C.UTF-8 LOGLEVEL=10 \
PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest
popd
%install
%if %{with python2}
pushd python2
%py2_install
popd
%endif #{with python2}
pushd python3
%py3_install
popd
%if %{with python2}
%files -n python2-ldap
%defattr(-,root,root,-)
%license python2/LICENCE
%doc python2/CHANGES python2/README python2/TODO python2/Demo
%{python_sitearch}/_ldap.so
%{python_sitearch}/ldapurl.py*
%{python_sitearch}/ldif.py*
%{python_sitearch}/slapdtest/
%{python_sitearch}/ldap/
%{python_sitearch}/python_ldap-%{version}%{?prerelease}-py2.7.egg-info
%endif %#with python2}
%files -n python3-ldap
%defattr(-,root,root,-)
%license python3/LICENCE
%doc python3/CHANGES python3/README python3/TODO python3/Demo
%{python3_sitearch}/_ldap.cpython-*.so
%{python3_sitearch}/ldapurl.py*
%{python3_sitearch}/ldif.py*
%{python3_sitearch}/__pycache__/*
%{python3_sitearch}/slapdtest/
%{python3_sitearch}/ldap/
%{python3_sitearch}/python_ldap-%{version}%{?prerelease}-py%{python3_version}.egg-info
%changelog
* Mon Jun 28 2021 Christian Heimes <cheimes@redhat.com> - 3.3.1-2
- Fix SASL get/set options on big endian platforms
- Resolves: #1931865
* Wed Oct 21 2020 Christian Heimes <cheimes@redhat.com> - 3.3.1-1
- New upstream release 3.1.0
- Resolves: rhbz#1889615
* Fri Nov 16 2018 Lumír Balhar <lbalhar@redhat.com> - 3.1.0-5
- Require platform-python-setuptools instead of python3-setuptools
- Resolves: rhbz#1650537
* Mon Jul 09 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-4
- Don't build the python2 subpackage
(fix for the previous commit)
* Wed Jun 27 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-3
- Conditionalize, and don't build, the python2 subpackage
* Wed Jun 20 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-2
- In %%check, use pytest directly rather than tox
* Fri May 25 2018 Christian Heimes <cheimes@redhat.com> - 3.1.0-1
- New upstream release 3.1.0
* Wed Mar 21 2018 Christian Heimes <cheimes@redhat.com> - 3.0.0-1
- New upstream release 3.0.0
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-0.5.b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jan 10 2018 Christian Heimes <cheimes@redhat.com> - 3.0.0-0.4.b4
- New upstream release 3.0.0b4 (RHBZ #1496470)
* Wed Dec 20 2017 Christian Heimes <cheimes@redhat.com> - 3.0.0-0.3.b3
- New upstream release 3.0.0b3 (RHBZ #1496470)
* Mon Dec 11 2017 Christian Heimes <cheimes@redhat.com> - 3.0.0-0.2.b2
- New upstream release 3.0.0b2 (RHBZ #1496470)
- Require OpenLDAP with fix for NSS issue (see #1520990)
* Mon Dec 04 2017 Christian Heimes <cheimes@redhat.com> - 0:3.0.0-0.1.b1
- New upstream release 3.0.0b1 (RHBZ #1496470)
- Resolves RHBZ #1489184
- Enable unittests
- Remove dsml module
- Package python3-ldap, which obsoletes python3-pyldap
* Wed Nov 08 2017 Christian Heimes <cheimes@redhat.com> - 0:2.4.25-9
- Fix issue in pyasn1 patch
* Tue Nov 07 2017 Christian Heimes <cheimes@redhat.com> - 0:2.4.25-8
- Apply fix for pyasn1 >= 0.3
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0:2.4.25-7
- Python 2 binary package renamed to python2-ldap
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.4.25-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.4.25-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 0:2.4.25-4
- Rebuild due to bug in RPM (RHBZ #1468476)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.4.25-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.25-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Apr 20 2016 Petr Spacek <pspacek@redhat.com> - 2.4.25-1
- New upstream release 2.4.25
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.4.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Sep 29 2014 Petr Spacek <pspacek@redhat.com> - 0:2.4.17-1
- New upstream release adds features required in bug 1122486
- Dependency on pyasn1-modules was added to fix bug 995545
* Thu Sep 25 2014 Petr Spacek <pspacek@redhat.com> - 0:2.4.16-1
- New upstream release fixes bug 1007820
- Dependency on pyasn1 was added to fix bug 995545
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.4.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Jan 02 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.6-1
- New upstream release
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.3.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Sep 24 2010 Parag Nemade <paragn AT fedoraproject.org> - 0:2.3.12-1
- Merge-review cleanup (#226343)
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0:2.3.10-2
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Thu Jan 14 2010 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.10-1
- Update to 2.3.10
- Change source URI to pypi.python.org.
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 0:2.3.6-3
- rebuilt with new openssl
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Apr 01 2009 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.6-1
- Update to 2.3.6
* Fri Feb 27 2009 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.5-5
- Fix a build error.
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.3.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Jan 16 2009 Tomas Mraz <tmraz@redhat.com> - 0:2.3.5-3
- rebuild with new openssl
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0:2.3.5-2
- Rebuild for Python 2.6
* Wed Sep 3 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0:2.3.5-1
- fix license tag
- update to 2.3.5
* Sun Feb 17 2008 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.1-3.fc9
- Rebuild with GCC 4.3
* Wed Dec 05 2007 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.1-2.fc9
- Rebuild against new openssl.
* Wed Oct 10 2007 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.1-1.fc8
- Update to 2.3.1
* Fri Jun 08 2007 Matthew Barnes <mbarnes@redhat.com> - 0:2.3.0-1.fc8
- Update to 2.3
- Spec file cleanups.
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0:2.2.0-3
- rebuild against python 2.5
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com>
- rebuild
* Wed May 17 2006 Matthew Barnes <mbarnes@redhat.com> - 2.2.0-2
- Put back the epoch line... happy beehive?
* Mon May 15 2006 Matthew Barnes <mbarnes@redhat.com> - 2.2.0-1
- Update to 2.2.0
- Update python-ldap-2.0.6-rpath.patch and rename it to
python-ldap-2.2.0-dirs.patch.
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0:2.0.6-5.2.1
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0:2.0.6-5.2
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Tue Nov 8 2005 Tomas Mraz <tmraz@redhat.com> - 2.0.6-5
- rebuilt with new openssl
* Tue Mar 22 2005 Warren Togami <wtogami@redhat.com> - 2.0.6-4
- add LICENCE (#150842)
- simplify python reqs
- remove invalid rpath
* Wed Mar 16 2005 Dan Williams <dcbw@redhat.com> - 0:2.0.6-2
- rebuilt to pick up new libssl.so.5
* Tue Feb 8 2005 David Malcolm <dmalcolm@redhat.com> - 0:2.0.6-1
- 2.0.6
* Tue Nov 16 2004 Nalin Dahyabhai <nalin@redhat.com> - 0:2.0.1-3
- rebuild (#139161)
* Mon Aug 30 2004 David Malcolm <dmalcolm@redhat.com> - 0:2.0.1-2
- Rewrote description; added requirement for openldap
* Tue Aug 17 2004 David Malcolm <dmalcolm@redhat.com> - 0:2.0.1-1
- imported into Red Hat's packaging system from Fedora.us; set release to 1
* Wed Jun 30 2004 Panu Matilainen <pmatilai@welho.com> 0:2.0.1-0.fdr.1
- update to 2.0.1
* Sun Dec 07 2003 Panu Matilainen <pmatilai@welho.com> 0:2.0.0-0.fdr.0.4.pre16
- fix spec permissions + release tag order (bug 1099)
* Sat Dec 6 2003 Ville Skyttä <ville.skytta at iki.fi> 0:2.0.0-0.fdr.0.pre16.3
- Stricter python version requirements.
- BuildRequire openssl-devel.
- Explicitly build *.pyo, install them as %%ghost.
- Own more installed dirs.
- Remove $RPM_BUILD_ROOT at start of %%install.
* Wed Dec 03 2003 Panu Matilainen <pmatilai@welho.com> 0:2.0.0-0.fdr.0.pre16.2
- duh, build requires python-devel, not just python...
* Wed Dec 03 2003 Panu Matilainen <pmatilai@welho.com> 0:2.0.0-0.fdr.0.pre16.1
- Initial Fedora packaging.