From 026e8e0f23bc3932392636413f9e40e2797ad70b Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 17 Mar 2010 16:53:01 +0000 Subject: [PATCH] - Release candidate for SSSD 1.1 - Add simple access provider - Create subpackages for libcollection, libini_config, libdhash and librefarray - Support IPv6 - Support LDAP referrals - Fix cache issues - Better feedback from PAM when offline --- .cvsignore | 2 +- sources | 2 +- sssd.spec | 284 +++++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 269 insertions(+), 19 deletions(-) diff --git a/.cvsignore b/.cvsignore index a175bbe..b839b77 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -sssd-1.0.5.tar.gz +sssd-1.1.0-pre20100317git0ea7f19.tar.gz diff --git a/sources b/sources index 482df63..282d9da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ec9cf2aea9a0ea57423302b4706dcef1 sssd-1.0.5.tar.gz +22c472dc87e66c7d0a4599df8af75fba sssd-1.1.0-pre20100317git0ea7f19.tar.gz diff --git a/sssd.spec b/sssd.spec index f6498b6..8ce91fd 100644 --- a/sssd.spec +++ b/sssd.spec @@ -1,25 +1,42 @@ -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_lib(1))")} -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_lib())")} +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%endif Name: sssd -Version: 1.0.5 -Release: 2%{?dist} +Version: 1.1.0 +Release: 1.pre20100317git0ea7f19%{?dist} Group: Applications/System Summary: System Security Services Daemon -# The entire source code is GPLv3+ except replace/ which is LGPLv3+ License: GPLv3+ -URL: http://fedorahosted.org/sssd -Source: https://fedorahosted.org/released/sssd/sssd-%{version}.tar.gz +URL: http://fedorahosted.org/sssd/ + +# This version of the sssd is built from a prerelease copy of the sssd +# To obtain an exact copy of these sources, use the following commands: +# git clone git://git.fedorahosted.org/sssd.git +# cd sssd +# git checkout 0ea7f19 +# ./configure && make dist +# mv sssd-1.1.0.tar.gz sssd-1.1.0-pre20100317git0ea7f19.tar.gz +Source0: sssd-%{version}-pre20100317git0ea7f19.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +%define dhash_version 0.4.0 +%define path_utils_version 0.2.0 +%define collection_version 0.4.0 +%define ini_config_version 0.4.0 +%define refarray_version 0.1.0 + ### Patches ### ### Dependencies ### Requires: libldb >= 0.9.3 Requires: libtdb >= 1.1.3 -Requires: libtevent >= 0.9.8-7 Requires: sssd-client = %{version}-%{release} +Requires: libdhash = %{dhash_version}-%{release} +Requires: libcollection = %{collection_version}-%{release} +Requires: libini_config = %{ini_config_version}-%{release} Requires: cyrus-sasl-gssapi Requires(post): python Requires(preun): initscripts chkconfig @@ -45,7 +62,7 @@ BuildRequires: popt BuildRequires: popt-devel %endif BuildRequires: libtalloc-devel -BuildRequires: libtevent-devel >= 0.9.8-7 +BuildRequires: libtevent-devel BuildRequires: libtdb-devel BuildRequires: libldb-devel BuildRequires: dbus-devel @@ -61,6 +78,8 @@ BuildRequires: docbook-style-xsl BuildRequires: krb5-devel BuildRequires: c-ares-devel BuildRequires: python-devel +BuildRequires: check-devel +BuildRequires: doxygen %description Provides a set of daemons to manage access to remote directories and @@ -78,6 +97,108 @@ License: LGPLv3+ Provides the libraries needed by the PAM and NSS stacks to connect to the SSSD service. +%package -n libdhash +Summary: Dynamic hash table +Group: Development/Libraries +Version: %{dhash_version} +License: LGPLv3+ + +%description -n libdhash +A hash table which will dynamically resize to achieve optimal storage & access +time properties + +%package -n libdhash-devel +Summary: Development files for libdhash +Group: Development/Libraries +Version: %{dhash_version} +Requires: libdhash = %{dhash_version}-%{release} +License: LGPLv3+ + +%description -n libdhash-devel +A hash table which will dynamically resize to achieve optimal storage & access +time properties + +%package -n libpath_utils +Summary: Filesystem Path Utilities +Group: Development/Libraries +Version: %{path_utils_version} +License: LGPLv3+ + +%description -n libpath_utils +Utility functions to manipulate filesystem pathnames + +%package -n libpath_utils-devel +Summary: Development files for libpath_utils +Group: Development/Libraries +Version: %{path_utils_version} +Requires: libpath_utils = %{path_utils_version}-%{release} +License: LGPLv3+ + +%description -n libpath_utils-devel +Utility functions to manipulate filesystem pathnames + +%package -n libcollection +Summary: Collection data-type for C +Group: Development/Libraries +Version: %{collection_version} +License: LGPLv3+ + +%description -n libcollection +A data-type to collect data in a heirarchical structure for easy iteration +and serialization + +%package -n libcollection-devel +Summary: Development files for libcollection +Group: Development/Libraries +Version: %{collection_version} +Requires: libcollection = %{collection_version}-%{release} +License: LGPLv3+ + +%description -n libcollection-devel +A data-type to collect data in a heirarchical structure for easy iteration +and serialization + +%package -n libini_config +Summary: INI file parser for C +Group: Development/Libraries +Version: %{ini_config_version} +Requires: libcollection = %{collection_version}-%{release} +License: LGPLv3+ + +%description -n libini_config +Library to process config files in INI format into a libcollection data +structure + +%package -n libini_config-devel +Summary: Development files for libini_config +Group: Development/Libraries +Version: %{ini_config_version} +Requires: libini_config = %{ini_config_version}-%{release} +License: LGPLv3+ + +%description -n libini_config-devel +Library to process config files in INI format into a libcollection data +structure + +%package -n libref_array +Summary: A refcounted array for C +Group: Development/Libraries +Version: %{refarray_version} +License: LGPLv3+ + +%description -n libref_array +A dynamically-growing, reference-counted array + +%package -n libref_array-devel +Summary: Development files for libref_array +Group: Development/Libraries +Version: %{refarray_version} +Requires: libref_array = %{refarray_version}-%{release} +License: LGPLv3+ + +%description -n libref_array-devel +A dynamically-growing, reference-counted array + %prep %setup -q @@ -85,39 +206,64 @@ service. NSS_LIBS=-lnss3 \ KRB5_LIBS=-lkrb5 \ %configure \ - --without-tests \ --with-db-path=%{dbpath} \ --with-pipe-path=%{pipepath} \ --with-pubconf-path=%{pubconfpath} \ --with-init-dir=%{_initrddir} \ - --enable-nsslibdir=/%{_lib} + --enable-nsslibdir=/%{_lib} \ + --disable-static \ + --disable-rpath make %{?_smp_mflags} +pushd common +make %{?_smp_mflags} docs +popd + +%check +make %{?_smp_mflags} check + %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT +# Remove the example files from the output directory +# We will copy them directly from the source directory +# for packaging +rm -f \ + $RPM_BUILD_ROOT/usr/share/doc/dhash/README \ + $RPM_BUILD_ROOT/usr/share/doc/dhash/examples/dhash_example.c \ + $RPM_BUILD_ROOT/usr/share/doc/dhash/examples/dhash_test.c + # Prepare language files /usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sss_daemon -/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sss_client # Copy default sssd.conf file mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sssd -install -m600 server/examples/sssd.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.conf -install -m400 server/config/etc/sssd.api.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.conf -install -m400 server/config/etc/sssd.api.d/* $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.d/ +install -m600 src/examples/sssd.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.conf +install -m400 src/config/etc/sssd.api.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.conf +install -m400 src/config/etc/sssd.api.d/* $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.d/ + +# Copy default logrotate file +mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d +install -m644 src/examples/logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sssd # Remove .la files created by libtool rm -f \ $RPM_BUILD_ROOT/%{_lib}/libnss_sss.la \ $RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \ + $RPM_BUILD_ROOT/%{_libdir}/libdhash.la \ + $RPM_BUILD_ROOT/%{_libdir}/libpath_utils.la \ + $RPM_BUILD_ROOT/%{_libdir}/libcollection.la \ + $RPM_BUILD_ROOT/%{_libdir}/libini_config.la \ + $RPM_BUILD_ROOT/%{_libdir}/libref_array.la \ $RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_krb5.la \ $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ipa.la \ + $RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_simple.la \ $RPM_BUILD_ROOT/%{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.la \ $RPM_BUILD_ROOT/%{python_sitearch}/pysss.la @@ -146,6 +292,7 @@ rm -rf $RPM_BUILD_ROOT %{_sbindir}/sss_groupadd %{_sbindir}/sss_groupdel %{_sbindir}/sss_groupmod +%{_sbindir}/sss_groupshow %{_libexecdir}/%{servicename}/ %{_libdir}/%{name}/ %{_libdir}/ldb/memberof.so @@ -157,6 +304,7 @@ rm -rf $RPM_BUILD_ROOT %attr(750,root,root) %dir %{_var}/log/%{name} %attr(700,root,root) %dir %{_sysconfdir}/sssd %config(noreplace) %{_sysconfdir}/sssd/sssd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/sssd %config %{_sysconfdir}/sssd/sssd.api.conf %attr(700,root,root) %dir %{_sysconfdir}/sssd/sssd.api.d %config %{_sysconfdir}/sssd/sssd.api.d/ @@ -164,10 +312,12 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man5/sssd-ipa.5* %{_mandir}/man5/sssd-krb5.5* %{_mandir}/man5/sssd-ldap.5* +%{_mandir}/man5/sssd-simple.5* %{_mandir}/man8/sssd.8* %{_mandir}/man8/sss_groupadd.8* %{_mandir}/man8/sss_groupdel.8* %{_mandir}/man8/sss_groupmod.8* +%{_mandir}/man8/sss_groupshow.8* %{_mandir}/man8/sss_useradd.8* %{_mandir}/man8/sss_userdel.8* %{_mandir}/man8/sss_usermod.8* @@ -176,13 +326,88 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/*.py* -%files client -f sss_client.lang +%files client %defattr(-,root,root,-) -%doc sss_client/COPYING sss_client/COPYING.LESSER +%doc src/sss_client/COPYING src/sss_client/COPYING.LESSER /%{_lib}/libnss_sss.so.2 /%{_lib}/security/pam_sss.so %{_mandir}/man8/pam_sss.8* +%files -n libdhash +%defattr(-,root,root,-) +%doc common/dhash/COPYING +%doc common/dhash/COPYING.LESSER +%{_libdir}/libdhash.so.1 +%{_libdir}/libdhash.so.1.0.0 + +%files -n libdhash-devel +%defattr(-,root,root,-) +%{_includedir}/dhash.h +%{_libdir}/libdhash.so +%{_libdir}/pkgconfig/dhash.pc +%doc common/dhash/README +%doc common/dhash/examples + +%files -n libpath_utils +%defattr(-,root,root,-) +%doc common/path_utils/COPYING +%doc common/path_utils/COPYING.LESSER +%{_libdir}/libpath_utils.so.1 +%{_libdir}/libpath_utils.so.1.0.0 + +%files -n libpath_utils-devel +%defattr(-,root,root,-) +%{_includedir}/path_utils.h +%{_libdir}/libpath_utils.so +%{_libdir}/pkgconfig/path_utils.pc +%doc common/path_utils/README + +%files -n libcollection +%defattr(-,root,root,-) +%doc common/collection/COPYING +%doc common/collection/COPYING.LESSER +%{_libdir}/libcollection.so.1 +%{_libdir}/libcollection.so.1.0.0 + +%files -n libcollection-devel +%defattr(-,root,root,-) +%{_includedir}/collection.h +%{_includedir}/collection_tools.h +%{_includedir}/collection_queue.h +%{_includedir}/collection_stack.h +%{_libdir}/libcollection.so +%{_libdir}/pkgconfig/collection.pc +%doc common/collection/doc/html/ + +%files -n libini_config +%defattr(-,root,root,-) +%doc common/ini/COPYING +%doc common/ini/COPYING.LESSER +%{_libdir}/libini_config.so.1 +%{_libdir}/libini_config.so.1.0.0 + +%files -n libini_config-devel +%defattr(-,root,root,-) +%{_includedir}/ini_config.h +%{_libdir}/libini_config.so +%{_libdir}/pkgconfig/ini_config.pc +%doc common/ini/doc/html/ + +%files -n libref_array +%defattr(-,root,root,-) +%doc common/refarray/COPYING +%doc common/refarray/COPYING.LESSER +%{_libdir}/libref_array.so.1 +%{_libdir}/libref_array.so.1.0.0 + +%files -n libref_array-devel +%defattr(-,root,root,-) +%{_includedir}/ref_array.h +%{_libdir}/libref_array.so +%{_libdir}/pkgconfig/ref_array.pc +%doc common/refarray/README + + %post /sbin/ldconfig /sbin/chkconfig --add %{servicename} @@ -207,7 +432,32 @@ fi %postun client -p /sbin/ldconfig +%post -n libdhash -p /sbin/ldconfig + +%postun -n libdhash -p /sbin/ldconfig + +%post -n libpath_utils -p /sbin/ldconfig +%postun -n libpath_utils -p /sbin/ldconfig + +%post -n libcollection -p /sbin/ldconfig +%postun -n libcollection -p /sbin/ldconfig + +%post -n libini_config -p /sbin/ldconfig +%postun -n libini_config -p /sbin/ldconfig + +%post -n libref_array -p /sbin/ldconfig +%postun -n libref_array -p /sbin/ldconfig + %changelog +* Wed Mar 17 2010 Stephen Gallagher - 1.1.0-1.pre20100317git0ea7f19 +- Release candidate for SSSD 1.1 +- Add simple access provider +- Create subpackages for libcollection, libini_config, libdhash and librefarray +- Support IPv6 +- Support LDAP referrals +- Fix cache issues +- Better feedback from PAM when offline + * Wed Feb 24 2010 Stephen Gallagehr - 1.0.5-2 - Rebuild against new libtevent