[sssd] Add support for python3 bindings

Lukas Slebodnik lslebodn at fedoraproject.org
Wed Feb 25 13:30:34 UTC 2015


commit ed82d05320d6153d5e88bd786bb2ccb14112b315
Author: Lukas Slebodnik <lslebodn at redhat.com>
Date:   Wed Feb 25 13:49:51 2015 +0100

    Add support for python3 bindings
    
    - Add requirement to python3 or python3 bindings
    - Resolves: rhbz#1014594 - sssd: Support Python 3

 sssd.spec | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 109 insertions(+), 13 deletions(-)
---
diff --git a/sssd.spec b/sssd.spec
index 09a1dbe..c17842e 100644
--- a/sssd.spec
+++ b/sssd.spec
@@ -1,7 +1,7 @@
 %global rhel7_minor %(%{__grep} -o "7.[0-9]*" /etc/redhat-release |%{__sed} -s 's/7.//')
 
 # we don't want to provide private python extension libs
-%define __provides_exclude_from %{python2_sitearch}/.*\.so$|%{_libdir}/%{name}/modules/libwbclient.so.*$
+%define __provides_exclude_from %{python2_sitearch}/.*\.so$|%{python3_sitearch}/.*\.so$|%{_libdir}/%{name}/modules/libwbclient.so.*$
 %define _hardened_build 1
 
 
@@ -27,7 +27,7 @@
 
 Name: sssd
 Version: 1.12.4
-Release: 1%{?dist}
+Release: 2%{?dist}
 Group: Applications/System
 Summary: System Security Services Daemon
 License: GPLv3+
@@ -60,7 +60,7 @@ Requires: sssd-ipa = %{version}-%{release}
 Requires: sssd-common-pac = %{version}-%{release}
 Requires: sssd-ad = %{version}-%{release}
 Requires: sssd-proxy = %{version}-%{release}
-Requires: python-sssdconfig = %{version}-%{release}
+Requires: python3-sssdconfig = %{version}-%{release}
 
 %global servicename sssd
 %global sssdstatedir %{_localstatedir}/lib/sss
@@ -103,6 +103,7 @@ BuildRequires: krb5-devel
 %endif
 BuildRequires: c-ares-devel
 BuildRequires: python-devel
+BuildRequires: python3-devel
 BuildRequires: check-devel
 BuildRequires: doxygen
 BuildRequires: libselinux-devel
@@ -197,8 +198,8 @@ Group: Applications/System
 License: GPLv3+
 Requires: sssd-common = %{version}-%{release}
 # required by sss_obfuscate
-Requires: python-sss = %{version}-%{release}
-Requires: python-sssdconfig = %{version}-%{release}
+Requires: python3-sss = %{version}-%{release}
+Requires: python3-sssdconfig = %{version}-%{release}
 
 %description tools
 Provides userspace tools for manipulating users, groups, and nested groups in
@@ -216,29 +217,60 @@ License: GPLv3+
 BuildArch: noarch
 
 %description -n python-sssdconfig
-Provides python files for manipulation SSSD and IPA configuration files.
+Provides python2 files for manipulation SSSD and IPA configuration files.
+
+%package -n python3-sssdconfig
+Summary: SSSD and IPA configuration file manipulation classes and functions
+Group: Applications/System
+License: GPLv3+
+BuildArch: noarch
+
+%description -n python3-sssdconfig
+Provides python3 files for manipulation SSSD and IPA configuration files.
 
 %package -n python-sss
-Summary: Python bindings for sssd
+Summary: Python2 bindings for sssd
 Group: Development/Libraries
 License: LGPLv3+
 Requires: sssd-common = %{version}-%{release}
 
 %description -n python-sss
-Provides python module for manipulating users, groups, and nested groups in
+Provides python2 module for manipulating users, groups, and nested groups in
+SSSD when using id_provider = local in /etc/sssd/sssd.conf.
+
+Also provides several other useful python2 bindings:
+    * function for retrieving list of groups user belongs to.
+    * class for obfuscation of passwords
+
+%package -n python3-sss
+Summary: Python3 bindings for sssd
+Group: Development/Libraries
+License: LGPLv3+
+Requires: sssd-common = %{version}-%{release}
+
+%description -n python3-sss
+Provides python3 module for manipulating users, groups, and nested groups in
 SSSD when using id_provider = local in /etc/sssd/sssd.conf.
 
-Also provides several other useful python bindings:
+Also provides several other useful python3 bindings:
     * function for retrieving list of groups user belongs to.
     * class for obfuscation of passwords
 
 %package -n python-sss-murmur
-Summary: Python bindings for murmur hash function
+Summary: Python2 bindings for murmur hash function
 Group: Development/Libraries
 License: LGPLv3+
 
 %description -n python-sss-murmur
-Provides python module for calculating the murmur hash version 3
+Provides python2 module for calculating the murmur hash version 3
+
+%package -n python3-sss-murmur
+Summary: Python3 bindings for murmur hash function
+Group: Development/Libraries
+License: LGPLv3+
+
+%description -n python3-sss-murmur
+Provides python3 module for calculating the murmur hash version 3
 
 %package ldap
 Summary: The LDAP back end of the SSSD
@@ -365,7 +397,7 @@ Requires: libipa_hbac = %{version}-%{release}
 Utility library to validate FreeIPA HBAC rules for authorization requests
 
 %package -n libipa_hbac-python
-Summary: Python bindings for the FreeIPA HBAC Evaluator library
+Summary: Python2 bindings for the FreeIPA HBAC Evaluator library
 Group: Development/Libraries
 License: LGPLv3+
 Requires: libipa_hbac = %{version}-%{release}
@@ -374,6 +406,16 @@ Requires: libipa_hbac = %{version}-%{release}
 The libipa_hbac-python contains the bindings so that libipa_hbac can be
 used by Python applications.
 
+%package -n python3-libipa_hbac
+Summary: Python3 bindings for the FreeIPA HBAC Evaluator library
+Group: Development/Libraries
+License: LGPLv3+
+Requires: libipa_hbac = %{version}-%{release}
+
+%description -n python3-libipa_hbac
+The python3-libipa_hbac contains the bindings so that libipa_hbac can be
+used by Python applications.
+
 %package -n libsss_nss_idmap
 Summary: Library for SID based lookups
 Group: Development/Libraries
@@ -394,7 +436,7 @@ Requires: libsss_nss_idmap = %{version}-%{release}
 Utility library for SID based lookups
 
 %package -n libsss_nss_idmap-python
-Summary: Python bindings for libsss_nss_idmap
+Summary: Python2 bindings for libsss_nss_idmap
 Group: Development/Libraries
 License: LGPLv3+
 Requires: libsss_nss_idmap = %{version}-%{release}
@@ -403,6 +445,16 @@ Requires: libsss_nss_idmap = %{version}-%{release}
 The libsss_nss_idmap-python contains the bindings so that libsss_nss_idmap can
 be used by Python applications.
 
+%package -n python3-libsss_nss_idmap
+Summary: Python3 bindings for libsss_nss_idmap
+Group: Development/Libraries
+License: LGPLv3+
+Requires: libsss_nss_idmap = %{version}-%{release}
+
+%description -n python3-libsss_nss_idmap
+The python3-libsss_nss_idmap contains the bindings so that libsss_nss_idmap can
+be used by Python applications.
+
 %package dbus
 Summary: The D-Bus responder of the SSSD
 Group: Applications/System
@@ -503,6 +555,12 @@ autoreconf -ivf
 make %{?_smp_mflags} all docs
 
 %check
+
+# the utility patch did not apply changes in file permissions
+chmod 755 src/config/SSSDConfigTest.py*.sh \
+          src/tests/pyhbac-test.py*.sh \
+          src/tests/pysss_murmur-test.py*.sh
+
 export CK_TIMEOUT_MULTIPLIER=10
 make %{?_smp_mflags} check VERBOSE=yes
 unset CK_TIMEOUT_MULTIPLIER
@@ -510,6 +568,8 @@ unset CK_TIMEOUT_MULTIPLIER
 %install
 rm -rf $RPM_BUILD_ROOT
 
+sed -i -e 's:/usr/bin/python:/usr/bin/python3:' src/tools/sss_obfuscate
+
 make install DESTDIR=$RPM_BUILD_ROOT
 
 # Prepare language files
@@ -545,6 +605,11 @@ do
     echo %{python2_sitelib}/`basename $file` >> python2_sssdconfig.lang
 done
 
+for file in `ls $RPM_BUILD_ROOT/%{python3_sitelib}/*.egg-info 2> /dev/null`
+do
+    echo %{python3_sitelib}/`basename $file` >> python3_sssdconfig.lang
+done
+
 touch sssd_tools.lang
 touch sssd_client.lang
 for provider in ldap krb5 ipa ad proxy
@@ -793,16 +858,32 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{python2_sitelib}/SSSDConfig
 %{python2_sitelib}/SSSDConfig/*.py*
 
+%files -n python3-sssdconfig -f python3_sssdconfig.lang
+%defattr(-,root,root,-)
+%dir %{python3_sitelib}/SSSDConfig
+%{python3_sitelib}/SSSDConfig/*.py*
+%{python3_sitelib}/SSSDConfig/__pycache__/*.py*
+
 %files -n python-sss
 %defattr(-,root,root,-)
 %{python2_sitearch}/pysss.so
 %{python2_sitearch}/_py2sss.so
 
+%files -n python3-sss
+%defattr(-,root,root,-)
+%{python3_sitearch}/pysss.so
+%{python3_sitearch}/_py3sss.so
+
 %files -n python-sss-murmur
 %defattr(-,root,root,-)
 %{python2_sitearch}/pysss_murmur.so
 %{python2_sitearch}/_py2sss_murmur.so
 
+%files -n python3-sss-murmur
+%defattr(-,root,root,-)
+%{python3_sitearch}/pysss_murmur.so
+%{python3_sitearch}/_py3sss_murmur.so
+
 %files -n libsss_idmap
 %defattr(-,root,root,-)
 %doc src/sss_client/COPYING src/sss_client/COPYING.LESSER
@@ -844,11 +925,21 @@ rm -rf $RPM_BUILD_ROOT
 %{python2_sitearch}/pysss_nss_idmap.so
 %{python2_sitearch}/_py2sss_nss_idmap.so
 
+%files -n python3-libsss_nss_idmap
+%defattr(-,root,root,-)
+%{python3_sitearch}/pysss_nss_idmap.so
+%{python3_sitearch}/_py3sss_nss_idmap.so
+
 %files -n libipa_hbac-python
 %defattr(-,root,root,-)
 %{python2_sitearch}/pyhbac.so
 %{python2_sitearch}/_py2hbac.so
 
+%files -n python3-libipa_hbac
+%defattr(-,root,root,-)
+%{python3_sitearch}/pyhbac.so
+%{python3_sitearch}/_py3hbac.so
+
 %files libwbclient
 %defattr(-,root,root,-)
 %{_libdir}/%{name}/modules/libwbclient.so.*
@@ -933,6 +1024,11 @@ if [ $1 -eq 0 ]; then
 fi
 
 %changelog
+* Wed Feb 25 2015 Lukas Slebodnik <lslebodn at redhat.com> - 1.12.4-2
+- Add support for python3 bindings
+- Add requirement to python3 or python3 bindings
+- Resolves: rhbz#1014594 - sssd: Support Python 3
+
 * Wed Feb 18 2015 Lukas Slebodnik <lslebodn at redhat.com> - 1.12.4-1
 - New upstream release 1.12.4
 - https://fedorahosted.org/sssd/wiki/Releases/Notes-1.12.4


More information about the scm-commits mailing list