[packages/sssd] - updated heimdal patch - added python patch, package python3 modules - adjusted krb5 bcond to contr

qboosh qboosh at pld-linux.org
Wed Jun 29 21:15:46 CEST 2016


commit 66c0dc33988c28139e48e42350e194707be6c65d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Jun 29 21:15:46 2016 +0200

    - updated heimdal patch
    - added python patch, package python3 modules
    - adjusted krb5 bcond to control heimdal vs MIT kerberos

 sssd-heimdal.patch |  62 +++++++----
 sssd-python.patch  |  30 +++++
 sssd.spec          | 317 +++++++++++++++++++++++++++++++++++++++++++----------
 3 files changed, 329 insertions(+), 80 deletions(-)
---
diff --git a/sssd.spec b/sssd.spec
index 73ef7db..1182261 100644
--- a/sssd.spec
+++ b/sssd.spec
@@ -1,14 +1,12 @@
 # TODO
-# - python3 packages
-# - pac-responder (currently relies on MIT krb5 >= 1.9)
 # - fix stripping before rpm:
 #   *** WARNING: no sources found for /usr/lib64/libipa_hbac.so.0.0.0 (stripped without sourcefile information?)
 #
 # Conditional build:
-%bcond_with	tests		# build with tests
+%bcond_with	tests	# check target
 %bcond_without	python2 # CPython 2.x module
-%bcond_with	python3 # CPython 3.x module
-%bcond_without	krb5 # Build without krb5 support
+%bcond_without	python3 # CPython 3.x module
+%bcond_with	krb5	# MIT Kerberos V instead of Heimdal (enables locator plugin, profile support and pac-responder)
 
 %define		ldb_version 1.1.0
 Summary:	System Security Services Daemon
@@ -21,6 +19,7 @@ Group:		Applications/System
 Source0:	https://fedorahosted.org/released/sssd/%{name}-%{version}.tar.gz
 # Source0-md5:	d147e0a4f4719d993693c6a99370b350
 Source1:	%{name}.init
+Patch0:		%{name}-python.patch
 Patch1:		%{name}-heimdal.patch
 Patch2:		%{name}-systemd.patch
 Patch3:		%{name}-link.patch
@@ -33,52 +32,64 @@ BuildRequires:	bind-utils
 BuildRequires:	c-ares-devel
 BuildRequires:	check-devel >= 0.9.5
 BuildRequires:	cifs-utils-devel
-BuildRequires:	cmocka-devel
+%{?with_tests:BuildRequires:	cmocka-devel >= 1.0.0}
 BuildRequires:	cyrus-sasl-devel >= 2
 BuildRequires:	dbus-devel >= 1.0.0
 BuildRequires:	docbook-dtd44-xml
 BuildRequires:	docbook-style-xsl
 BuildRequires:	doxygen
+%{?with_tests:BuildRequires:	fakeroot}
 BuildRequires:	gettext-tools >= 0.14.4
 BuildRequires:	glib2-devel >= 2.0
-BuildRequires:	heimdal-devel
+%{!?with_krb5:BuildRequires:	heimdal-devel}
 BuildRequires:	keyutils-devel
+%{?with_krb5:BuildRequires:	krb5-devel >= 1.9}
+BuildRequires:	ldb-devel >= %{ldb_version}
 BuildRequires:	libcollection-devel >= 0.5.1
 BuildRequires:	libdhash-devel >= 0.4.2
-BuildRequires:	libini_config-devel >= 1.0.0
-BuildRequires:	ldb-devel >= %{ldb_version}
+BuildRequires:	libini_config-devel >= 1.1.0
 BuildRequires:	libltdl-devel
 BuildRequires:	libnfsidmap-devel
 BuildRequires:	libnl-devel >= 3.2
 BuildRequires:	libselinux-devel
 BuildRequires:	libsemanage-devel
+BuildRequires:	libsmbclient-devel
 BuildRequires:	libtool >= 2:2
 BuildRequires:	libxml2-progs
 BuildRequires:	libxslt-progs
 BuildRequires:	m4
 BuildRequires:	nspr-devel
 BuildRequires:	nss-devel
+%{?with_tests:BuildRequires:	nss_wrapper}
 BuildRequires:	openldap-devel
 BuildRequires:	pam-devel
 BuildRequires:	pcre-devel >= 7
 BuildRequires:	pkgconfig
 BuildRequires:	po4a
 BuildRequires:	popt-devel
-BuildRequires:	python-devel >= 1:2.4
+%{?with_python2:BuildRequires:	python-devel >= 1:2.6}
+%{?with_tests:BuildRequires:	python-pytest}
+%{?with_python3:BuildRequires:	python3-devel >= 1:3.3}
 BuildRequires:	rpm-pythonprov
-BuildRequires:	rpmbuild(macros) >= 1.228
-# pkgconfig(ndr_nbt)
+BuildRequires:	rpmbuild(macros) >= 1.612
+# pkgconfig(ndr_nbt), pkgconfig(ndr_krb5pac) if with krb5
 BuildRequires:	samba-devel >= 4
+BuildRequires:	systemd-devel >= 1:209
 BuildRequires:	systemd-units
 BuildRequires:	talloc-devel
 BuildRequires:	tdb-devel >= 1.1.3
 BuildRequires:	tevent-devel
+%{?with_tests:BuildRequires:	uid_wrapper}
 Requires(post):	/sbin/ldconfig
 Requires(post,preun):	/sbin/chkconfig
 Requires:	%{name}-client = %{version}-%{release}
 Requires:	cyrus-sasl-gssapi
 Requires:	ldb >= %{ldb_version}
+Requires:	libcollection >= 0.5.1
+Requires:	libdhash >= 0.4.2
+Requires:	libini_config >= 1.1.0
 Requires:	libsss_idmap = %{version}-%{release}
+Requires:	pcre >= 7
 Requires:	rc-scripts >= 0.4.0.10
 Requires:	tdb >= 1.1.3
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -110,6 +121,8 @@ Summary:	SSSD Client libraries for NSS and PAM
 Summary(pl.UTF-8):	Biblioteki klienckie SSSD dla NSS i PAM
 License:	LGPL v3+
 Group:		Applications/System
+Requires:	libsss_idmap = %{version}-%{release}
+Requires:	libsss_nss_idmap = %{version}-%{release}
 
 %description client
 Provides the libraries needed by the PAM and NSS stacks to connect to
@@ -145,6 +158,108 @@ Pakiet zawiera także kilka innych narzędzi administracyjnych:
  - sss_seed tworzący wpis użytkownika do szybkiego rozruchu,
  - sss_obfuscate do generowania utajnionego hasła LDAP.
 
+%package -n python-sss
+Summary:	Python 2 bindings for sssd
+Summary(pl.UTF-8):	Wiązania Pythona 2 do sssd
+License:	LGPL v3+
+Group:		Libraries/Python
+Requires:	%{name} = %{version}-%{release}
+
+%description -n python-sss
+Python 2 module for manipulating users, groups, and nested groups in
+SSSD when using id_provider = local in /etc/sssd/sssd.conf.
+
+This module also provides several other useful Python 2 bindings:
+ - function for retrieving list of groups user belongs to.
+ - class for obfuscation of passwords
+
+%description -n python-sss -l pl.UTF-8
+Moduł Pythona 2 do operowania na użytkownikach, grupach i
+zagnieżdżonych grupach w SSSD w przypadku używania id_provider = local
+w /etc/sssd/sssd.conf.
+
+Ten moduł dostarcza także kilka innych przydatnych wiązań Pythona 2:
+ - funkcję do użyskiwania list grup, do których należy użytkownik,
+ - klasę do ukrywania haseł.
+
+%package -n python-sss-murmur
+Summary:	Python 2 bindings for murmur hash function
+Summary(pl.UTF-8):	Wiązania Pythona 2 do funkcji mieszającej murmur
+License:	LGPL v3+
+Group:		Libraries/Python
+
+%description -n python-sss-murmur
+Python 2 module for calculating the murmur hash version 3.
+
+%description -n python-sss-murmur -l pl.UTF-8
+Moduł Pythona 2 do obliczania skrótu murmur w wersji 3.
+
+%package -n python-sssdconfig
+Summary:	SSSD and IPA configuration file manipulation classes and functions for Python 2
+Summary(pl.UTF-8):	Klasy i funkcje Pythona 2 do operowania na plikach konfiguracyjnych SSSD oraz IPA
+License:	GPL v3+
+Group:		Libraries/Python
+BuildArch:	noarch
+
+%description -n python-sssdconfig
+SSSD and IPA configuration file manipulation classes and functions for
+Python 2.
+
+%description -n python-sssdconfig -l pl.UTF-8
+Klasy i funkcje Pythona 2 do operowania na plikach konfiguracyjnych
+SSSD oraz IPA.
+
+%package -n python3-sss
+Summary:	Python 3 bindings for sssd
+Summary(pl.UTF-8):	Wiązania Pythona 3 do sssd
+License:	LGPL v3+
+Group:		Libraries/Python
+Requires:	%{name} = %{version}-%{release}
+
+%description -n python3-sss
+Python 3 module for manipulating users, groups, and nested groups in
+SSSD when using id_provider = local in /etc/sssd/sssd.conf.
+
+This module also provides several other useful Python 3 bindings:
+ - function for retrieving list of groups user belongs to.
+ - class for obfuscation of passwords
+
+%description -n python3-sss -l pl.UTF-8
+Moduł Pythona 3 do operowania na użytkownikach, grupach i
+zagnieżdżonych grupach w SSSD w przypadku używania id_provider = local
+w /etc/sssd/sssd.conf.
+
+Ten moduł dostarcza także kilka innych przydatnych wiązań Pythona 3:
+ - funkcję do użyskiwania list grup, do których należy użytkownik,
+ - klasę do ukrywania haseł.
+
+%package -n python3-sss-murmur
+Summary:	Python 3 bindings for murmur hash function
+Summary(pl.UTF-8):	Wiązania Pythona 3 do funkcji mieszającej murmur
+License:	LGPL v3+
+Group:		Libraries/Python
+
+%description -n python3-sss-murmur
+Python 3 module for calculating the murmur hash version 3.
+
+%description -n python3-sss-murmur -l pl.UTF-8
+Moduł Pythona 3 do obliczania skrótu murmur w wersji 3.
+
+%package -n python3-sssdconfig
+Summary:	SSSD and IPA configuration file manipulation classes and functions for Python 3
+Summary(pl.UTF-8):	Klasy i funkcje Pythona 3 do operowania na plikach konfiguracyjnych SSSD oraz IPA
+License:	GPL v3+
+Group:		Libraries/Python
+BuildArch:	noarch
+
+%description -n python3-sssdconfig
+SSSD and IPA configuration file manipulation classes and functions for
+Python 3.
+
+%description -n python3-sssdconfig -l pl.UTF-8
+Klasy i funkcje Pythona 3 do operowania na plikach konfiguracyjnych
+SSSD oraz IPA.
+
 %package libwbclient
 Summary:	The SSSD libwbclient implementation
 Summary(pl.UTF-8):	Implementacja libwbclient oparta na SSSD
@@ -201,8 +316,8 @@ Development files for FreeIPA HBAC Evaluator library.
 Pliki programistyczne biblioteki oceniająca FreeIPA HBAC.
 
 %package -n python-libipa_hbac
-Summary:	Python bindings for the FreeIPA HBAC Evaluator library
-Summary(pl.UTF-8):	Wiązania Pythona do biblioteki oceniającej FreeIPA HBAC
+Summary:	Python 2 bindings for the FreeIPA HBAC Evaluator library
+Summary(pl.UTF-8):	Wiązania Pythona 2 do biblioteki oceniającej FreeIPA HBAC
 License:	LGPL v3+
 Group:		Libraries/Python
 Requires:	libipa_hbac = %{version}-%{release}
@@ -210,11 +325,26 @@ Obsoletes:	libipa_hbac-python
 
 %description -n python-libipa_hbac
 This package contains the bindings so that libipa_hbac can be used by
-Python applications.
+Python 2 applications.
 
 %description -n python-libipa_hbac -l pl.UTF-8
 Ten pakiet zawiera wiązania pozwalające na używanie libipa_hbac w
-aplikacjach Pythona.
+aplikacjach Pythona 2.
+
+%package -n python3-libipa_hbac
+Summary:	Python 3 bindings for the FreeIPA HBAC Evaluator library
+Summary(pl.UTF-8):	Wiązania Pythona 3 do biblioteki oceniającej FreeIPA HBAC
+License:	LGPL v3+
+Group:		Libraries/Python
+Requires:	libipa_hbac = %{version}-%{release}
+
+%description -n python3-libipa_hbac
+This package contains the bindings so that libipa_hbac can be used by
+Python 3 applications.
+
+%description -n python3-libipa_hbac -l pl.UTF-8
+Ten pakiet zawiera wiązania pozwalające na używanie libipa_hbac w
+aplikacjach Pythona 3.
 
 %package -n libsss_idmap
 Summary:	FreeIPA Idmap library
@@ -267,19 +397,34 @@ Development files for sss_nss_idmap library.
 Pliki programistyczne biblioteki sss_nss_idmap.
 
 %package -n python-libsss_nss_idmap
-Summary:	Python bindings for libsss_nss_idmap
-Summary(pl.UTF-8):	Wiązania Pythona do biblioteki libsss_nss_idmap
+Summary:	Python 2 bindings for libsss_nss_idmap
+Summary(pl.UTF-8):	Wiązania Pythona 2 do biblioteki libsss_nss_idmap
 Group:		Libraries/Python
 License:	LGPL v3+
 Requires:	libsss_nss_idmap = %{version}-%{release}
 
 %description -n python-libsss_nss_idmap
 This package contains the bindings so that libsss_nss_idmap can be
-used by Python applications.
+used by Python 2 applications.
 
 %description -n python-libsss_nss_idmap -l pl.UTF-8
 Ten pakiet zawiera wiązania umożliwiające korzystanie z biblioteki
-libsss_nss_idmap w aplikacjach Pythona.
+libsss_nss_idmap w aplikacjach Pythona 2.
+
+%package -n python3-libsss_nss_idmap
+Summary:	Python 3 bindings for libsss_nss_idmap
+Summary(pl.UTF-8):	Wiązania Pythona 3 do biblioteki libsss_nss_idmap
+Group:		Libraries/Python
+License:	LGPL v3+
+Requires:	libsss_nss_idmap = %{version}-%{release}
+
+%description -n python3-libsss_nss_idmap
+This package contains the bindings so that libsss_nss_idmap can be
+used by Python 3 applications.
+
+%description -n python3-libsss_nss_idmap -l pl.UTF-8
+Ten pakiet zawiera wiązania umożliwiające korzystanie z biblioteki
+libsss_nss_idmap w aplikacjach Pythona 3.
 
 %package -n libsss_simpleifp
 Summary:	A library that simplifies work with the InfoPipe responder
@@ -310,6 +455,7 @@ Pliki nagłówkowe biblioteki libsss_simpleifp.
 
 %prep
 %setup -q
+%patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -317,14 +463,15 @@ Pliki nagłówkowe biblioteki libsss_simpleifp.
 %build
 %{__libtoolize}
 %{__gettextize}
-%{__aclocal}
-%{__automake}
+%{__aclocal} -I m4
 %{__autoconf}
-#CFLAGS="-Wno-deprecated-declarations"
+%{__automake}
 %configure \
 	NSCD=/usr/sbin/nscd \
+	%{!?with_krb5:--disable-krb5-locator-plugin} \
 	--enable-nfsidmaplibdir=/%{_lib}/libnfsidmap \
 	--enable-nsslibdir=/%{_lib} \
+	%{!?with_krb5:--disable-pac-responder} \
 	--enable-pammoddir=/%{_lib}/security \
 	--disable-rpath \
 	--with-db-path=%{dbpath} \
@@ -332,12 +479,9 @@ Pliki nagłówkowe biblioteki libsss_simpleifp.
 	--with-initscript=sysv,systemd \
 	--with-pipe-path=%{pipepath} \
 	--with-pubconf-path=%{pubconfpath} \
-	--with%{!?with_python2:out}-python2-bindings \
-	--with%{!?with_python3:out}-python3-bindings \
+	--with-python2-bindings%{!?with_python2:=no} \
+	--with-python3-bindings%{!?with_python3:=no} \
 	--with-systemdunitdir=%{systemdunitdir} \
-%if %{without krb5}
-	--disable-krb5-locator-plugin \
-%endif
 	--with-test-dir=/dev/shm
 
 %{__make}
@@ -350,8 +494,10 @@ unset CK_TIMEOUT_MULTIPLIER
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
+
+%{__make} -j1 install \
+	DESTDIR=$RPM_BUILD_ROOT \
+	python3dir=%{py3_sitescriptdir}
 
 # Prepare language files
 %find_lang %{name}
@@ -368,12 +514,6 @@ cp -p src/examples/logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sssd
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d
 cp -p src/examples/rwtab $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/sssd
 
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_comp $RPM_BUILD_ROOT%{py_sitedir}
-%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
-%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
-%py_postclean
-
 # Remove .la files created by libtool
 %{__rm} \
 	$RPM_BUILD_ROOT/%{_lib}/libnss_sss.la \
@@ -381,11 +521,17 @@ cp -p src/examples/rwtab $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/sssd
 	$RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \
 	$RPM_BUILD_ROOT%{ldb_modulesdir}/memberof.la \
 	$RPM_BUILD_ROOT%{_libdir}/cifs-utils/*.la \
-	$RPM_BUILD_ROOT%{_libdir}/krb5/plugins/libkrb5/sss*.la \
+	%{?with_krb5:$RPM_BUILD_ROOT%{_libdir}/krb5/plugins/libkrb5/sss*.la} \
 	$RPM_BUILD_ROOT%{_libdir}/sssd/libsss_*.la \
 	$RPM_BUILD_ROOT%{_libdir}/sssd/modules/lib*.la \
-	$RPM_BUILD_ROOT%{_libdir}/lib*.la \
-	$RPM_BUILD_ROOT%{py_sitedir}/*.la
+	$RPM_BUILD_ROOT%{_libdir}/lib*.la
+%if %{with python2}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
+%py_postclean
+%endif
+%if %{with python3}
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.la
+%endif
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
 
@@ -443,14 +589,16 @@ fi
 %attr(755,root,root) %{_bindir}/sss_ssh_knownhostsproxy
 %attr(755,root,root) %{_sbindir}/sss_cache
 %attr(755,root,root) %{_sbindir}/sssd
+# sudo plugin
 %attr(755,root,root) %{_libdir}/libsss_sudo.so
 %dir %{_libdir}/sssd
 # internal shared libraries
-%attr(755,root,root) %{_libdir}/sssd/libsss_ad_common.so
+%attr(755,root,root) %{_libdir}/sssd/libsss_cert.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_child.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_config.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_crypt.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_debug.so
+%attr(755,root,root) %{_libdir}/sssd/libsss_krb5_common.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_ldap_common.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_semanage.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_util.so
@@ -459,7 +607,6 @@ fi
 %attr(755,root,root) %{_libdir}/sssd/libsss_ad.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_ipa.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_krb5.so
-%attr(755,root,root) %{_libdir}/sssd/libsss_krb5_common.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_ldap.so
 %attr(755,root,root) %{_libdir}/sssd/libsss_proxy.so
 %dir %{_libdir}/sssd/modules
@@ -470,6 +617,7 @@ fi
 %attr(755,root,root) %{_libexecdir}/sssd/gpo_child
 %attr(755,root,root) %{_libexecdir}/sssd/krb5_child
 %attr(755,root,root) %{_libexecdir}/sssd/ldap_child
+%attr(755,root,root) %{_libexecdir}/sssd/p11_child
 %attr(755,root,root) %{_libexecdir}/sssd/proxy_child
 %attr(755,root,root) %{_libexecdir}/sssd/selinux_child
 %attr(755,root,root) %{_libexecdir}/sssd/sss_signal
@@ -477,6 +625,9 @@ fi
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_be
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_ifp
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_nss
+%if %{with krb5}
+%attr(755,root,root) %{_libexecdir}/sssd/sssd_pac
+%endif
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_pam
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_ssh
 %attr(755,root,root) %{_libexecdir}/sssd/sssd_sudo
@@ -519,19 +670,18 @@ fi
 %{_mandir}/man5/sssd-sudo.5*
 %{_mandir}/man8/sss_cache.8*
 %{_mandir}/man8/sssd.8*
-%attr(755,root,root) %{py_sitedir}/pysss.so
-%attr(755,root,root) %{py_sitedir}/pysss_murmur.so
-%dir %{py_sitescriptdir}/SSSDConfig
-%{py_sitescriptdir}/SSSDConfig/*.py[co]
-%{py_sitescriptdir}/SSSDConfig-%{version}-py*.egg-info
 
 %files client -f sssd_client.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libnss_sss.so.2
 %attr(755,root,root) /%{_lib}/security/pam_sss.so
 %attr(755,root,root) %{_libdir}/cifs-utils/cifs_idmap_sss.so
-# FIXME: is it proper path for heimdal? where to package parent dirs?
-#%attr(755,root,root) %{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so
+%if %{with krb5}
+# XXX: verify locations
+%attr(755,root,root) %{_libdir}/krb5/plugins/libkrb5/sssd_krb5_localauth_plugin.so
+%attr(755,root,root) %{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so
+%attr(755,root,root) %{_libdir}/krb5/plugins/libkrb5/sssd_pac_plugin.so
+%endif
 %{_mandir}/man8/pam_sss.8*
 %{_mandir}/man8/sssd_krb5_locator_plugin.8*
 
@@ -543,6 +693,7 @@ fi
 %attr(755,root,root) %{_sbindir}/sss_groupmod
 %attr(755,root,root) %{_sbindir}/sss_groupshow
 %attr(755,root,root) %{_sbindir}/sss_obfuscate
+%attr(755,root,root) %{_sbindir}/sss_override
 %attr(755,root,root) %{_sbindir}/sss_seed
 %attr(755,root,root) %{_sbindir}/sss_useradd
 %attr(755,root,root) %{_sbindir}/sss_userdel
@@ -553,11 +704,55 @@ fi
 %{_mandir}/man8/sss_groupmod.8*
 %{_mandir}/man8/sss_groupshow.8*
 %{_mandir}/man8/sss_obfuscate.8*
+%{_mandir}/man8/sss_override.8*
 %{_mandir}/man8/sss_seed.8*
 %{_mandir}/man8/sss_useradd.8*
 %{_mandir}/man8/sss_userdel.8*
 %{_mandir}/man8/sss_usermod.8*
 
+%if %{with python2}
+%files -n python-sss
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/pysss.so
+
+%files -n python-sss-murmur
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/pysss_murmur.so
+
+%files -n python-sssdconfig
+%defattr(644,root,root,755)
+%dir %{py_sitescriptdir}/SSSDConfig
+%{py_sitescriptdir}/SSSDConfig/*.py[co]
+%{py_sitescriptdir}/SSSDConfig-%{version}-py*.egg-info
+%endif
+
+%if %{with python3}
+%files -n python3-sss
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/pysss.so
+
+%files -n python3-sss-murmur
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/pysss_murmur.so
+
+%files -n python3-sssdconfig
+%defattr(644,root,root,755)
+%dir %{py3_sitescriptdir}/SSSDConfig
+%{py3_sitescriptdir}/SSSDConfig/*.py
+%{py3_sitescriptdir}/SSSDConfig/__pycache__
+%{py3_sitescriptdir}/SSSDConfig-%{version}-py*.egg-info
+%endif
+
+%files libwbclient
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/sssd/modules/libwbclient.so.*
+
+%files libwbclient-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/sssd/modules/libwbclient.so
+%{_includedir}/wbclient_sssd.h
+%{_pkgconfigdir}/wbclient_sssd.pc
+
 %files -n libipa_hbac
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libipa_hbac.so.*.*.*
@@ -569,9 +764,17 @@ fi
 %{_includedir}/ipa_hbac.h
 %{_pkgconfigdir}/ipa_hbac.pc
 
+%if %{with python2}
 %files -n python-libipa_hbac
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/pyhbac.so
+%endif
+
+%if %{with python3}
+%files -n python3-libipa_hbac
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/pyhbac.so
+%endif
 
 %files -n libsss_idmap
 %defattr(644,root,root,755)
@@ -595,9 +798,17 @@ fi
 %{_includedir}/sss_nss_idmap.h
 %{_pkgconfigdir}/sss_nss_idmap.pc
 
+%if %{with python2}
 %files -n python-libsss_nss_idmap
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/pysss_nss_idmap.so
+%endif
+
+%if %{with python3}
+%files -n python3-libsss_nss_idmap
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/pysss_nss_idmap.so
+%endif
 
 %files -n libsss_simpleifp
 %defattr(644,root,root,755)
@@ -610,13 +821,3 @@ fi
 %{_includedir}/sss_sifp.h
 %{_includedir}/sss_sifp_dbus.h
 %{_pkgconfigdir}/sss_simpleifp.pc
-
-%files libwbclient
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/sssd/modules/libwbclient.so.*
-
-%files libwbclient-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/sssd/modules/libwbclient.so
-%{_includedir}/wbclient_sssd.h
-%{_pkgconfigdir}/wbclient_sssd.pc
diff --git a/sssd-heimdal.patch b/sssd-heimdal.patch
index 5218cf7..0183e87 100644
--- a/sssd-heimdal.patch
+++ b/sssd-heimdal.patch
@@ -680,11 +680,19 @@ index 0c6b68b..102827e 100644
      krb5_free_principal(kcontext, princ);
      krb5_free_context(kcontext);
      return ret;
-diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c
-index f8a7e6f..a954d10 100644
---- a/src/util/sss_krb5.c
-+++ b/src/util/sss_krb5.c
-@@ -484,7 +484,9 @@ void KRB5_CALLCONV sss_krb5_get_init_cre
+--- sssd-1.13.4/src/util/sss_krb5.c.orig	2016-04-13 16:48:41.000000000 +0200
++++ sssd-1.13.4/src/util/sss_krb5.c	2016-06-28 16:50:29.169609569 +0200
+@@ -20,7 +20,9 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <talloc.h>
++#ifdef HAVE_PROFILE_H
+ #include <profile.h>
++#endif
+ 
+ #include "config.h"
+ 
+@@ -485,7 +487,9 @@
  
  void KRB5_CALLCONV sss_krb5_free_unparsed_name(krb5_context context, char *name)
  {
@@ -695,7 +703,7 @@ index f8a7e6f..a954d10 100644
      krb5_free_unparsed_name(context, name);
  #else
      if (name != NULL) {
-@@ -494,6 +496,15 @@ void KRB5_CALLCONV sss_krb5_free_unparse
+@@ -495,6 +499,15 @@
  #endif
  }
  
@@ -711,7 +719,7 @@ index f8a7e6f..a954d10 100644
  
  krb5_error_code KRB5_CALLCONV sss_krb5_get_init_creds_opt_set_expire_callback(
                                                     krb5_context context,
-@@ -752,15 +763,16 @@ cleanup:
+@@ -753,15 +766,16 @@
  #endif /* HAVE_KRB5_UNPARSE_NAME_FLAGS */
  }
  
@@ -734,7 +742,7 @@ index f8a7e6f..a954d10 100644
  #else
      DEBUG(SSSDBG_OP_FAILURE, "Kerberos principal canonicalization is not available!\n");
  #endif
-@@ -1022,7 +1034,7 @@ done:
+@@ -1023,7 +1037,7 @@
              KRB5_DEBUG(SSSDBG_MINOR_FAILURE, ctx, kerr);
          }
      }
@@ -743,10 +751,22 @@ index f8a7e6f..a954d10 100644
  
      return ret_ccname;
  #else
-@@ -1069,3 +1081,44 @@ krb5_error_code sss_krb5_kt_have_content
-     return 0;
- #endif
- }
+@@ -1076,6 +1090,7 @@
+ 
+ bool sss_krb5_realm_has_proxy(const char *realm)
+ {
++#ifdef HAVE_PROFILE_H
+     krb5_context context = NULL;
+     krb5_error_code kerr;
+     struct _profile_t *profile = NULL;
+@@ -1128,4 +1143,48 @@
+     krb5_free_context(context);
+ 
+     return res;
++#else
++    return false;
++#endif
++}
 +
 +krb5_error_code KRB5_CALLCONV
 +sss_krb5_unparse_name_ext(krb5_context ctx,
@@ -787,7 +807,7 @@ index f8a7e6f..a954d10 100644
 +    *microseconds = 0;
 +    return 0;
 +#endif
-+}
+ }
 --- sssd-1.13.4/src/util/sss_krb5.h~	2016-05-01 12:23:18.000000000 +0300
 +++ sssd-1.13.4/src/util/sss_krb5.h	2016-05-01 12:24:04.615247459 +0300
 @@ -70,6 +70,8 @@ void KRB5_CALLCONV sss_krb5_get_init_cre
@@ -848,15 +868,13 @@ index f8a7e6f..a954d10 100644
  krb5_error_code copy_keytab_into_memory(TALLOC_CTX *mem_ctx, krb5_context kctx,
                                          char *inp_keytab_file,
                                          char **_mem_name,
-#--- sssd-1.11.4/src/external/pac_responder.m4.orig	2014-02-17 19:55:32.000000000 +0100
-#+++ sssd-1.11.4/src/external/pac_responder.m4	2014-03-22 17:59:50.707675270 +0100
-#@@ -21,7 +21,8 @@
+#--- sssd-1.13.4/src/external/pac_responder.m4.orig	2016-04-13 16:48:41.000000000 +0200
+#+++ sssd-1.13.4/src/external/pac_responder.m4	2016-06-28 17:56:26.774836046 +0200
+#@@ -18,6 +18,7 @@
+#     AC_MSG_CHECKING(for supported MIT krb5 version)
+#     KRB5_VERSION="`$KRB5_CONFIG --version`"
+#     case $KRB5_VERSION in
+#+        heimdal\ *) | \
 #         Kerberos\ 5\ release\ 1.9* | \
 #         Kerberos\ 5\ release\ 1.10* | \
 #         Kerberos\ 5\ release\ 1.11* | \
-#-        Kerberos\ 5\ release\ 1.12*)
-#+        Kerberos\ 5\ release\ 1.12* | \
-#+        heimdal\ *)
-#             krb5_version_ok=yes
-#             AC_MSG_RESULT([yes])
-#             ;;
diff --git a/sssd-python.patch b/sssd-python.patch
new file mode 100644
index 0000000..af3801f
--- /dev/null
+++ b/sssd-python.patch
@@ -0,0 +1,30 @@
+--- sssd-1.13.4/Makefile.am.orig	2016-06-28 17:57:00.181321734 +0200
++++ sssd-1.13.4/Makefile.am	2016-06-28 18:18:06.907792621 +0200
+@@ -3598,11 +3598,13 @@
+ 		cd $(builddir)/src/config; \
+ 		$(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config \
+ 			install $(DISTSETUPOPTS) --prefix=$(PYTHON2_PREFIX) \
++			--install-purelib=$(python2dir) --optimize=2 \
+ 			--record=$(abs_builddir)/src/config/.files2; \
+ 	else \
+ 		cd $(builddir)/src/config; \
+ 		$(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config \
+ 			install $(DISTSETUPOPTS) --prefix=$(PYTHON2_PREFIX) \
++			--install-purelib=$(python2dir) --optimize=2 \
+ 			--record=$(abs_builddir)/src/config/.files2 --root=$(DESTDIR); \
+ 	fi
+ 	cd $(DESTDIR)$(py2execdir) && \
+@@ -3616,11 +3618,13 @@
+ 		cd $(builddir)/src/config; \
+ 		$(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config \
+ 			install $(DISTSETUPOPTS) --prefix=$(PYTHON3_PREFIX) \
++			--install-purelib=$(python3dir) --optimize=2 \
+ 			--record=$(abs_builddir)/src/config/.files3; \
+ 	else \
+ 		cd $(builddir)/src/config; \
+ 		$(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config \
+ 			install $(DISTSETUPOPTS) --prefix=$(PYTHON3_PREFIX) \
++			--install-purelib=$(python3dir) --optimize=2 \
+ 			--record=$(abs_builddir)/src/config/.files3 --root=$(DESTDIR); \
+ 	fi
+ 	cd $(DESTDIR)$(py3execdir) && \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/sssd.git/commitdiff/66c0dc33988c28139e48e42350e194707be6c65d



More information about the pld-cvs-commit mailing list