Hi all.
Here is a patch to create sssd/contrib/suse/sssd.spec.in for SLES build.
It's been tested under SLES10SP1 and SLES10SP2.
The only problem is to make main ./configure process use --with-os for
correct detection of spec .


2009/12/9 Sergei V. Kovylov <[email protected]>:
> Ok, i'll do this.
>
> 2009/12/9 Sumit Bose <[email protected]>:
>> On Wed, Dec 09, 2009 at 02:21:05PM +0300, Sergei V. Kovylov wrote:
>>> Here you may find a patch for sssd.spec file which provide correct
>>> build sssd for SLES (testes on SLES10SP1).
>>> In brief:
>>> There are 3 essences:
>>> redhat
>>> fedora
>>> sles
>>> which are detected by  /etc/<vendor release file> existence (ex.
>>> /etc/SuSE-release) in spec and all necessary actions are doing along
>>> the OS detection.
>>> Additionally for SLES there is "--without-selinux" flag while
>>> configuring, as SLES doesn't support SELinux.
>>
>> Thank you for the patch. Can you please provide the spec file for the
>> SLES build as a separate file in sssd/contrib/suse/sssd.spec.in ? See
>> https://fedorahosted.org/pipermail/sssd-devel/2009-December/001786.html
>> for the reasoning.
>>
>> I would also recommend not to use the /etc/*-release files to check for
>> the distribution, but rely on the variables defined by rpm. I have made
>> the experience that, e.g. the openSUSE build system does not always
>> install /etc/SuSE-release for SUSE builds. But there is a nice overview
>> of the variables defined by various distributions in
>> http://en.opensuse.org/Build_Service/cross_distribution_package_how_to
>>
>> bye,
>> Sumit
>> _______________________________________________
>> sssd-devel mailing list
>> [email protected]
>> https://fedorahosted.org/mailman/listinfo/sssd-devel
>>
>
diff -uNr sssd/contrib/suse/sssd.spec.in sssd.p/contrib/suse/sssd.spec.in
--- sssd/contrib/suse/sssd.spec.in	1970-01-01 00:00:00.000000000 +0000
+++ sssd.p/contrib/suse/sssd.spec.in	2009-12-10 10:07:33.031039387 +0000
@@ -0,0 +1,240 @@
+%{!?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())")}
+
+Name: @PACKAGE_NAME@
+Version: @PACKAGE_VERSION@
+Release: 0...@prerelease_version@%{?dist}
+Group: Applications/System
+Summary: System Security Services Daemon
+# The entire source code is GPLv3+ except replace/ which is LGPLv3+
+License: GPLv3+ and LGPLv3+
+URL: http://www.freeipa.org/
+Source0: %{name}-%{version}.tar.gz
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+### Patches ###
+
+### Dependencies ###
+
+Requires: libldb >= 0.9.3
+Requires: libtdb >= 1.1.3
+Requires: sssd-client = %{version}-%{release}
+Requires: cyrus-sasl-gssapi
+Requires(post): python
+Requires(preun):  aaa_base procps filesystem
+Requires(postun): /sbin/service
+
+%define servicename sssd
+%define sssdstatedir %{_localstatedir}/lib/sss
+%define dbpath %{sssdstatedir}/db
+%define pipepath %{sssdstatedir}/pipes
+%define pubconfpath %{sssdstatedir}/pubconf
+
+### Build Dependencies ###
+
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: m4
+BuildRequires: popt-devel
+BuildRequires: libtalloc-devel
+BuildRequires: libtevent-devel
+BuildRequires: libtdb-devel
+BuildRequires: libldb-devel
+BuildRequires: dbus-1-devel
+BuildRequires: dbus-1
+BuildRequires: openldap2-devel
+BuildRequires: docbook-xsl-stylesheets
+BuildRequires: mozilla-nss-devel
+BuildRequires: mozilla-nspr-devel
+BuildRequires: pam-devel
+BuildRequires: pcre-devel
+BuildRequires: libxslt
+BuildRequires: libxml2
+BuildRequires: krb5-devel
+BuildRequires: c-ares-devel
+BuildRequires: python-devel
+
+
+%description
+Provides a set of daemons to manage access to remote directories and
+authentication mechanisms. It provides an NSS and PAM interface toward
+the system and a pluggable backend system to connect to multiple different
+account sources. It is also the basis to provide client auditing and policy
+services for projects like FreeIPA.
+
+%package client
+Summary: SSSD Client libraries for NSS and PAM
+Group: Applications/System
+
+%description client
+Provides the libraries needed by the PAM and NSS stacks to connect to the SSSD
+service.
+
+%prep
+%setup -q
+
+%build
+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} \
+    --without-selinux \
+    --with-os=suse \
+    --enable-nsslibdir=/%{_lib}
+
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# 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/
+
+# 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}/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}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.la \
+    $RPM_BUILD_ROOT/%{python_sitearch}/pysss.la
+
+if test -e $RPM_BUILD_ROOT/%{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so
+then
+    # Apppend this file to the sss_daemon.lang
+    # Older versions of rpmbuild can only handle one -f option
+    echo %{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so >> sss_daemon.lang
+fi
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f sss_daemon.lang
+%defattr(-,root,root,-)
+%doc COPYING
+%{_initrddir}/%{name}
+%{_sbindir}/sssd
+%{_sbindir}/sss_useradd
+%{_sbindir}/sss_userdel
+%{_sbindir}/sss_usermod
+%{_sbindir}/sss_groupadd
+%{_sbindir}/sss_groupdel
+%{_sbindir}/sss_groupmod
+%{_libexecdir}/%{servicename}/
+%{_libdir}/%{name}/
+%{_libdir}/ldb/memberof.so
+%dir %{sssdstatedir}
+%attr(700,root,root) %dir %{dbpath}
+%attr(755,root,root) %dir %{pipepath}
+%attr(755,root,root) %dir %{pubconfpath}
+%attr(700,root,root) %dir %{pipepath}/private
+%attr(750,root,root) %dir %{_var}/log/%{name}
+%attr(700,root,root) %dir %{_sysconfdir}/sssd
+%config(noreplace) %{_sysconfdir}/sssd/sssd.conf
+%config %{_sysconfdir}/sssd/sssd.api.conf
+%attr(700,root,root) %dir %{_sysconfdir}/sssd/sssd.api.d
+%config %{_sysconfdir}/sssd/sssd.api.d/
+%{_mandir}/man5/sssd.conf.5*
+%{_mandir}/man5/sssd-ipa.5*
+%{_mandir}/man5/sssd-krb5.5*
+%{_mandir}/man5/sssd-ldap.5*
+%{_mandir}/man8/sssd.8*
+%{_mandir}/man8/sss_groupadd.8*
+%{_mandir}/man8/sss_groupdel.8*
+%{_mandir}/man8/sss_groupmod.8*
+%{_mandir}/man8/sss_useradd.8*
+%{_mandir}/man8/sss_userdel.8*
+%{_mandir}/man8/sss_usermod.8*
+%{_mandir}/man8/sssd_krb5_locator_plugin.8*
+%{python_sitearch}/pysss.so
+%{python_sitelib}/*.py*
+
+
+%files client -f sss_client.lang
+%defattr(-,root,root,-)
+/%{_lib}/libnss_sss.so.2
+/%{_lib}/security/pam_sss.so
+%{_mandir}/man8/pam_sss.8*
+
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add %{servicename}
+if [ $1 -ge 2 ] ; then
+# a one-time upgrade from confdb v1 to v2, only if upgrading
+    python %{_libexecdir}/%{servicename}/upgrade_config.py
+fi
+
+%preun
+if [ $1 = 0 ]; then
+    /sbin/service %{servicename} stop 2>&1 > /dev/null
+    /sbin/chkconfig --del %{servicename}
+fi
+
+%postun
+/sbin/ldconfig
+if [ $1 -ge 1 ] ; then
+    /sbin/service %{servicename} condrestart 2>&1 > /dev/null
+fi
+
+%post client -p /sbin/ldconfig
+
+%postun client -p /sbin/ldconfig
+
+%changelog
+* Mon Sep 28 2009 Sumit Bose <[email protected]> - 0.6.0-0
+- New upstream release 0.6.0
+
+* Fri Sep 25 2009 Simo Sorce <[email protected]> - 0.5.0-1
+- Split package into server and clients components
+- Convert to new config file format
+
+* Wed Sep 02 2009 Stephen Gallagher <[email protected]> - 0.5.0-0
+- New upstream release 0.5.0
+
+* Mon May 18 2009 Stephen Gallagher <[email protected]> - 0.4.0-1
+- Convert build system to automake
+
+* Mon Apr 20 2009 Jakub Hrozek <[email protected]> - 0.3.2-1
+- bugfix release 0.3.2
+
+* Mon Apr 13 2009 Simo Sorce <[email protected]> - 0.3.1-1
+- bugfix release
+
+* Sun Apr 12 2009 Stephen Gallagher <[email protected]> - 0.3.0-2
+- Remove InfoPipe from RPM build
+
+* Sun Apr 12 2009 Stephen Gallagher <[email protected]> - 0.3.0-1
+- Convert to using /etc/sssd/sssd.conf for configuration
+
+* Tue Mar 10 2009 Simo Sorce <[email protected]> - 0.2.1-1
+- Bump up to version 0.2.1
+
+* Fri Mar 06 2009 Jakub Hrozek <[email protected]> - 0.1.0-4
+- fixed items found during review
+- added initscript
+
+* Thu Mar 05 2009 Sumit Bose <[email protected]> - 0.1.0-3
+- added sss_client
+
+* Mon Feb 23 2009 Jakub Hrozek <[email protected]> - 0.1.0-2
+- Small cleanup and fixes in the spec file
+
+* Thu Feb 12 2009 Stephen Gallagher <[email protected]> - 0.1.0-1
+- Initial release (based on version 0.1.0 upstream code)
_______________________________________________
sssd-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to