From 6d94154b074a16ff1ebde8ef9faa2032c2391685 Mon Sep 17 00:00:00 2001 From: liksh Date: Tue, 11 May 2021 14:56:27 +0800 Subject: [PATCH 1/2] upload source code and spec of python2-ldappool for building multi-version openstack --- ldappool-2.3.1.tar.gz | Bin 0 -> 16125 bytes ldappool-2.4.1.tar.gz | Bin 18611 -> 0 bytes python-ldappool.spec | 167 +++++++++++++++++++++++++----------------- 3 files changed, 98 insertions(+), 69 deletions(-) create mode 100644 ldappool-2.3.1.tar.gz delete mode 100644 ldappool-2.4.1.tar.gz diff --git a/ldappool-2.3.1.tar.gz b/ldappool-2.3.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..57f88369ddd3fbd6562931bf0ef4ede69fbd07f1 GIT binary patch literal 16125 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 K$V^cH-~j-%KX#)4 diff --git a/python-ldappool.spec b/python-ldappool.spec index 1bb0d89..6649e00 100644 --- a/python-ldappool.spec +++ b/python-ldappool.spec @@ -1,80 +1,109 @@ -%global _empty_manifest_terminate_build 0 -Name: python-ldappool -Version: 2.4.1 -Release: 1 -Summary: A simple connector pool for python-ldap. -License: MPL 2.0 and GPL-2.0 and LGPL-2.1 and Apache-2.0 -URL: https://git.openstack.org/cgit/openstack/ldappool -Source0: https://files.pythonhosted.org/packages/d9/fa/cf16c80de9a76a6436f591badcaec41b833274fb1db7b4354a7e801a7f2a/ldappool-2.4.1.tar.gz +%global with_python2 1 +%global with_python3 0 +%global srcname ldappool + +Name: python-%{srcname} + +Version: 2.3.1 +Release: 1 +Url: https://github.com/openstack/ldappool +Summary: A connection pool for python-ldap +License: Apache-2.0 +Source: https://files.pythonhosted.org/packages/source/l/%{srcname}/%{srcname}-%{version}.tar.gz +BuildArch: noarch + +%global _description\ +A simple connector pool for python-ldap.\ +\ +The pool keeps LDAP connectors alive and let you reuse them,\ +drastically reducing the time spent to initiate a ldap connection.\ +\ +The pool has useful features like:\ +\ +- transparent re-connection on failures or server restarts\ +- configurable pool size and connectors timeouts\ +- configurable max lifetime for connectors\ +- a context manager to simplify acquiring and releasing a connector + +%description %_description + +%if 0%{?with_python2} +%package -n python2-%{srcname} +Summary: %summary +Requires: python-ldap +BuildRequires: python2-devel +BuildRequires: python-ldap +BuildRequires: python2-pbr +BuildRequires: python2-stestr +BuildRequires: python2-testtools +BuildRequires: python2-testresources +%{?python_provide:%python_provide python2-%{srcname}} + +%description -n python2-%{srcname} %_description +%endif + +%if 0%{?with_python3} +%package -n python3-%{srcname} +Summary: %summary +Requires: python3-ldap +BuildRequires: python3-devel +BuildRequires: python3-pyldap BuildRequires: python3-pbr -BuildArch: noarch - -Requires: python3-ldap -Requires: python3-prettytable - -%description -A simple connector pool for python-ldap. -The pool keeps LDAP connectors alive and let you reuse them, -drastically reducing the time spent to initiate a ldap connection. - -%package -n python3-ldappool -Summary: A simple connector pool for python-ldap. -Provides: python-ldappool -BuildRequires: python3-devel -BuildRequires: python3-setuptools -%description -n python3-ldappool -A simple connector pool for python-ldap. -The pool keeps LDAP connectors alive and let you reuse them, -drastically reducing the time spent to initiate a ldap connection. - -%package help -Summary: Development documents and examples for ldappool -Provides: python3-ldappool-doc -%description help -A simple connector pool for python-ldap. -The pool keeps LDAP connectors alive and let you reuse them, -drastically reducing the time spent to initiate a ldap connection. +BuildRequires: python3-stestr +BuildRequires: python3-testtools +BuildRequires: python3-testresources +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} %_description +%endif %prep -%autosetup -n ldappool-2.4.1 +%setup -q -n %{srcname}-%{version} %build +%if 0%{?with_python3} %py3_build +%endif + +%if 0%{?with_python2} +%py2_build +%endif %install +%if 0%{?with_python3} %py3_install -install -d -m755 %{buildroot}/%{_pkgdocdir} -if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi -if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi -if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi -if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi -pushd %{buildroot} -if [ -d usr/lib ]; then - find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/lib64 ]; then - find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/bin ]; then - find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/sbin ]; then - find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst -fi -touch doclist.lst -if [ -d usr/share/man ]; then - find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst -fi -popd -mv %{buildroot}/filelist.lst . -mv %{buildroot}/doclist.lst . - -%files -n python3-ldappool -f filelist.lst -%dir %{python3_sitelib}/* - -%files help -f doclist.lst -%{_docdir}/* +%endif + +%if 0%{?with_python2} +%py2_install +%endif + +%check +%if 0%{?with_python3} +PYTHON=python3 stestr-3 run +%endif + +%if 0%{?with_python2} +PYTHON=python2 stestr-2 run +%endif + +# FIXME: add license files as soon as upstream adds them +# https://github.com/mozilla-services/ldappool/issues/2 + +%if 0%{?with_python3} +%files -n python3-%{srcname} +%doc README.rst +%{python3_sitelib}/%{srcname} +%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info +%endif + +%if 0%{?with_python2} +%files -n python2-%{srcname} +%doc README.rst +%{python2_sitelib}/%{srcname} +%{python2_sitelib}/%{srcname}-%{version}-py?.?.egg-info +%endif %changelog -* Tue Feb 09 2021 liusheng -- Initial package +* Tue May 11 2021 Python_Bot +- Package Spec generated -- Gitee From 794ce852c1e13ea04a7d538a314dc4a7bf08beba Mon Sep 17 00:00:00 2001 From: huangtianhua Date: Mon, 31 May 2021 19:12:32 +0800 Subject: [PATCH 2/2] Fixes Requires and BuildRequires error --- python-ldappool.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python-ldappool.spec b/python-ldappool.spec index 6649e00..f4752ae 100644 --- a/python-ldappool.spec +++ b/python-ldappool.spec @@ -5,7 +5,7 @@ Name: python-%{srcname} Version: 2.3.1 -Release: 1 +Release: 2 Url: https://github.com/openstack/ldappool Summary: A connection pool for python-ldap License: Apache-2.0 @@ -30,9 +30,9 @@ The pool has useful features like:\ %if 0%{?with_python2} %package -n python2-%{srcname} Summary: %summary -Requires: python-ldap +Requires: python2-ldap BuildRequires: python2-devel -BuildRequires: python-ldap +BuildRequires: python2-ldap BuildRequires: python2-pbr BuildRequires: python2-stestr BuildRequires: python2-testtools @@ -105,5 +105,7 @@ PYTHON=python2 stestr-2 run %endif %changelog +* Mon May 31 2021 huangtianhua +- Fixes Requires and BuildRequires error * Tue May 11 2021 Python_Bot - Package Spec generated -- Gitee