sssd.spec.in revision b6840554b4eeda395f5460a56df2eac1f3f97397
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%global rhel7_minor %(%{__grep} -o "7.[0-9]*" /etc/redhat-release |%{__sed} -s 's/7.//')
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if 0%{?rhel} && 0%{?rhel} <= 6
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%{!?__python2: %global __python2 /usr/bin/python2}
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce# Fedora and RHEL 6+
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce# we don't want to provide private python extension libs
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%define __provides_exclude_from %{python2_sitearch}/.*\.so$
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} || 0%{?rhel} >= 7)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global use_systemd 1
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?use_systemd} == 1)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_initscript --with-initscript=systemd --with-systemdunitdir=%{_unitdir}
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_syslog --with-syslog=journald
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_initscript --with-initscript=sysv
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%global enable_experimental 1
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?enable_experimental} == 1)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global experimental --enable-all-experimental-features
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce# Determine the location of the LDB modules directory
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%global ldb_modulesdir %(pkg-config --variable=modulesdir ldb)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} || 0%{?rhel} >= 7)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%define _hardened_build 1
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} || 0%{?rhel} >= 7)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_cifs_utils_plugin 1
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_cifs_utils_plugin_option --disable-cifs-idmap-plugin
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} >= 21 || (0%{?rhel} == 7 && 0%{?rhel7_minor} >= 1))
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce %global with_krb5_localauth_plugin 1
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceName: @PACKAGE_NAME@
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceVersion: @PACKAGE_VERSION@
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceRelease: 0@PRERELEASE_VERSION@%{?dist}
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceSummary: System Security Services Daemon
edaadf8de0c86a2cfff2d29215775d42919476f3Pavel BřezinaLicense: GPLv3+
4ebab24f65b54720a6672898b76185462015ababPavel BřezinaSource0: %{name}-%{version}.tar.gz
75d66aea7accc842e68c88f085f9053112b20eccPavel BřezinaBuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
dee7a89098b698e756f63e4041734d7322ad8b1ePavel Březina### Patches ###
c6872e79e8496fd075e20aec0343ade99cca725cSimo Sorce### Dependencies ###
c6872e79e8496fd075e20aec0343ade99cca725cSimo SorceRequires: sssd-common = %{version}-%{release}
7c69221077c780e62f6c536e78675f2dc1c131bcMichal ZidekRequires: sssd-ldap = %{version}-%{release}
22a21e910fd216ec1468fe769dcc29f1621a52a4Ondrej KosRequires: sssd-krb5 = %{version}-%{release}
ab967283b710dfa05d11ee5b30c7ac916486ceecSimo SorceRequires: sssd-ipa = %{version}-%{release}
ab967283b710dfa05d11ee5b30c7ac916486ceecSimo SorceRequires: sssd-common-pac = %{version}-%{release}
ab967283b710dfa05d11ee5b30c7ac916486ceecSimo SorceRequires: sssd-ad = %{version}-%{release}
ab967283b710dfa05d11ee5b30c7ac916486ceecSimo SorceRequires: sssd-proxy = %{version}-%{release}
233a3c6c48972b177e60d6ef4cecfacd3cf31659Simo SorceRequires: python-sssdconfig = %{version}-%{release}
c6872e79e8496fd075e20aec0343ade99cca725cSimo Sorce%global servicename sssd
233a3c6c48972b177e60d6ef4cecfacd3cf31659Simo Sorce%global sssdstatedir %{_localstatedir}/lib/sss
233a3c6c48972b177e60d6ef4cecfacd3cf31659Simo Sorce%global dbpath %{sssdstatedir}/db
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl%global pipepath %{sssdstatedir}/pipes
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl%global mcpath %{sssdstatedir}/mc
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl%global pubconfpath %{sssdstatedir}/pubconf
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce%global gpocachepath %{sssdstatedir}/gpo_cache
f9961e5f82e0ef474d6492371bfdf9e74e208a99Pavel Březina### Build Dependencies ###
9cb46bc62f22e0104f1b41a423b014c281ef5fc2Jakub HrozekBuildRequires: autoconf
9cb46bc62f22e0104f1b41a423b014c281ef5fc2Jakub HrozekBuildRequires: automake
9cb46bc62f22e0104f1b41a423b014c281ef5fc2Jakub HrozekBuildRequires: libtool
7caf7ed4f2eae1ec1c0717b4ee6ce78bdacd5926Jakub HrozekBuildRequires: m4
dcc6877aa2e2dd63a9dc9c411a9c58feaeb36b9aStephen GallagherBuildRequires: popt-devel
bc30ce9b7d588a17e58012e699986f0d6898b791Pavel BřezinaBuildRequires: libtalloc-devel
b5ee224324b0158641d9b110f81d2bc6eddddc13Pavel ReichlBuildRequires: libtevent-devel
2a96981a0ac781d01e5bba473409ed2bdf4cd4e0Jakub HrozekBuildRequires: libtdb-devel
e81deec535d11912b87954c81a1edd768c1386c9Jakub HrozekBuildRequires: libldb-devel
4dd38025efda88f123eac672f87d3cda12f050c8Jakub HrozekBuildRequires: libdhash-devel >= 0.4.2
4dd38025efda88f123eac672f87d3cda12f050c8Jakub HrozekBuildRequires: libcollection-devel
0161a3c5637a0c0092bf54c436bb3d6508d7df26Jakub HrozekBuildRequires: libini_config-devel >= 1.1
0161a3c5637a0c0092bf54c436bb3d6508d7df26Jakub HrozekBuildRequires: dbus-devel
10a28f461c25d788ff4dcffefa881e7aa724a25dPavel BřezinaBuildRequires: dbus-libs
60cab26b12df9a2153823972cde0c38ca86e01b9Yassir ElleyBuildRequires: openldap-devel
1319e71fd1680ca4864afe0b1aca2b8c8e4a1ee4Stef WalterBuildRequires: pam-devel
0c1d65998907930678da2d091789446f2c344d5dJakub HrozekBuildRequires: nss-devel
a2ea3f5d9ef9f17efbb61e942c2bc6cff7d1ebf2Jakub HrozekBuildRequires: nspr-devel
f3a25949de81f80c136bb073e4a8f504b080c20cJakub HrozekBuildRequires: pcre-devel
8394eddba54b5d3e3fda868145e3751247bdbdb2Michal ZidekBuildRequires: libxslt
5a5c5cdeb92f4012fc75fd717bfea06598f68f12Pavel ReichlBuildRequires: libxml2
804df4040eb142f82a44c019c7a55b5ce524583cMichal ZidekBuildRequires: docbook-style-xsl
1243e093fd31c5660adf1bb3dd477d6935a755beJakub Hrozek%if (0%{?with_krb5_localauth_plugin} == 1)
1243e093fd31c5660adf1bb3dd477d6935a755beJakub HrozekBuildRequires: krb5-devel >= 1.12
979e8d8d6ed444007eeff6be5269e8dc5d2bdf68Pavel ReichlBuildRequires: krb5-devel
64ea4127f463798410a2c20e0261c6b15f60257fJakub HrozekBuildRequires: c-ares-devel
64ea4127f463798410a2c20e0261c6b15f60257fJakub HrozekBuildRequires: python-devel
a8d887323f83984679a7d9b827a70146656bb7b2Sumit BoseBuildRequires: check-devel
b42bf6c0c01db08208fb81d8295a2909d307284aPavel ReichlBuildRequires: doxygen
9118a539a5d59f669f551114f880fe91d6bb8741Jakub HrozekBuildRequires: libselinux-devel
b5825c74b6bf7a99ae2172392dbecb51179013a6Jakub HrozekBuildRequires: libsemanage-devel
19e44537c28f6d5f011cd7ac885c74c1e892605fSimo SorceBuildRequires: bind-utils
5f7cd30c865046a7ea69944f7e07c85b4c43465aSumit BoseBuildRequires: keyutils-libs-devel
c30b7a1931211fdcae0564551a7625cc4f6dee9fJakub HrozekBuildRequires: gettext-devel
e732d23f3ec986a463d757781a334040e03d1f59Jakub HrozekBuildRequires: pkgconfig
e732d23f3ec986a463d757781a334040e03d1f59Jakub HrozekBuildRequires: findutils
dd285415d7a8d8376207960cfa3e977524c3b98cJakub HrozekBuildRequires: glib2-devel
dd285415d7a8d8376207960cfa3e977524c3b98cJakub HrozekBuildRequires: selinux-policy-targeted
beec1ee5799570f34a51ea57674c7291c15f7022Jakub Hrozek%if 0%{?fedora}
fcbcfa69f9291936f01f24b5fcb5a7672dca46f3Jakub HrozekBuildRequires: libcmocka-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} >= 20)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: uid_wrapper
0c16d2eefbc6ac8331078a4cdcecfee817a71bc6Simo SorceBuildRequires: nss_wrapper
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: libnl3-devel
7650ded4ffa87fcf7ce5adf00920fecf89cffcf5Michal Zidek%if (0%{?use_systemd} == 1)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: systemd-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?with_cifs_utils_plugin} == 1)
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: cifs-utils-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorce%if (0%{?fedora} || (0%{?rhel} >= 7))
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: libnfsidmap-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: nfs-utils-lib-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: samba4-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceBuildRequires: libsmbclient-devel
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo SorceProvides a set of daemons to manage access to remote directories and
8bcabb97d988d1602882a1f036aac2eaf5e09234Simo Sorceauthentication mechanisms. It provides an NSS and PAM interface toward
Group: Applications/System
Group: Applications/System
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Group: Applications/System
SSSD when using id_provider = local in /etc/sssd/sssd.conf.
Group: Applications/System
Group: Development/Libraries
SSSD when using id_provider = local in /etc/sssd/sssd.conf.
Group: Development/Libraries
Group: Applications/System
Group: Applications/System
Group: Applications/System
Group: Applications/System
Group: Applications/System
Group: Applications/System
Group: Applications/System
Provides the proxy back end which can be used to wrap an existing NSS and/or
Group: Development/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Group: Development/Libraries
Group: Development/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Group: Development/Libraries
Group: Development/Libraries
Group: Development/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Group: Development/Libraries
Group: Development/Libraries
Group: Applications/System
Group: Development/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Group: Development/Libraries
Group: Applications/System
Group: Development/Libraries
--with-test-dir=/dev/shm \
--with-krb5-rcache-dir=%{_localstatedir}/cache/krb5rcache \
/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sssd
touch $RPM_BUILD_ROOT/%{_sysconfdir}/sssd/sssd.conf
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rwtab.d
for file in `ls $RPM_BUILD_ROOT/%{python2_sitelib}/*.egg-info 2> /dev/null`
echo %{python2_sitelib}/`basename $file` >> python2_sssdconfig.lang
touch sssd.lang
touch sssd_tools.lang
touch sssd_client.lang
touch sssd_$provider.lang
for man in `find $RPM_BUILD_ROOT/%{_mandir}/??/man?/ -type f | sed -e "s#$RPM_BUILD_ROOT/%{_mandir}/##"`
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_tools.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_client.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_client.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_ldap.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_krb5.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_ipa.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_ad.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd_proxy.lang
echo \%lang\(${lang}\) \%{_mandir}/${man}\* >> sssd.lang
%files common -f sssd.lang
%{_unitdir}/sssd.service
%{_libdir}/%{name}/libsss_simple.so
%{_libdir}/%{name}/libsss_child.so
%{_libdir}/%{name}/libsss_crypt.so
%{_libdir}/%{name}/libsss_debug.so
%{_libdir}/%{name}/libsss_ldap_common.so
%{_libdir}/%{name}/libsss_util.so
%{_libdir}/%{name}/libsss_semanage.so
%{_libdir}/sssd/modules/libsss_autofs.so
%{_libdir}/libsss_sudo.so
%{_libdir}/libnfsidmap/sss.so
%{ldb_modulesdir}/memberof.so
%dir %{_localstatedir}/cache/krb5rcache
%ghost %attr(0600,sssd,sssd) %config(noreplace) %{_sysconfdir}/sssd/sssd.conf
%attr(755,root,root) %dir %{_sysconfdir}/systemd/system/sssd.service.d
%config(noreplace) %{_sysconfdir}/systemd/system/sssd.service.d/journal.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/sssd
%config(noreplace) %{_sysconfdir}/rwtab.d/sssd
%{_datadir}/sssd/sssd.api.conf
%{_datadir}/sssd/sssd.api.d
%{_mandir}/man5/sssd.conf.5*
%{_mandir}/man5/sssd-simple.5*
%{_mandir}/man5/sssd-sudo.5*
%{_mandir}/man5/sss_rpcidmapd.5*
%{_mandir}/man8/sssd.8*
%{_mandir}/man8/sss_cache.8*
%{_mandir}/man1/sss_ssh_authorizedkeys.1*
%{_mandir}/man1/sss_ssh_knownhostsproxy.1*
%files ldap -f sssd_ldap.lang
%{_libdir}/%{name}/libsss_ldap.so
%{_mandir}/man5/sssd-ldap.5*
%{_libdir}/%{name}/libsss_krb5_common.so
%files krb5 -f sssd_krb5.lang
%{_libdir}/%{name}/libsss_krb5.so
%{_mandir}/man5/sssd-krb5.5*
%files ipa -f sssd_ipa.lang
%attr(755,root,root) %dir %{pubconfpath}/krb5.include.d
%{_libdir}/%{name}/libsss_ipa.so
%{_mandir}/man5/sssd-ipa.5*
%files ad -f sssd_ad.lang
%{_libdir}/%{name}/libsss_ad.so
%{_libdir}/%{name}/libsss_ad_common.so
%{_mandir}/man5/sssd-ad.5*
%{_libdir}/%{name}/libsss_proxy.so
%{_mandir}/man5/sssd-ifp.5*
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.sssd.infopipe.conf
%{_libdir}/%{name}/libsss_config.so
%{_libdir}/libsss_simpleifp.so.*
%{_includedir}/sss_sifp.h
%{_includedir}/sss_sifp_dbus.h
%{_libdir}/libsss_simpleifp.so
%{_libdir}/pkgconfig/sss_simpleifp.pc
%files client -f sssd_client.lang
/%{_lib}/libnss_sss.so.2
/%{_lib}/security/pam_sss.so
%{_libdir}/cifs-utils/cifs_idmap_sss.so
%ghost %{_sysconfdir}/cifs-utils/idmap-plugin
%{_libdir}/%{name}/modules/sssd_krb5_localauth_plugin.so
%{_mandir}/man8/pam_sss.8*
%{_mandir}/man8/sssd_krb5_locator_plugin.8*
%files tools -f sssd_tools.lang
%{_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*
%{_mandir}/man8/sss_obfuscate.8*
%{_mandir}/man8/sss_debuglevel.8*
%{_mandir}/man8/sss_seed.8*
%files -n python-sssdconfig -f python2_sssdconfig.lang
%{python2_sitearch}/pysss.so
%{python2_sitearch}/_py2sss.so
%{python2_sitearch}/pysss_murmur.so
%{python2_sitearch}/_py2sss_murmur.so
%{_libdir}/libsss_idmap.so.*
%doc idmap_doc/html
%{_includedir}/sss_idmap.h
%{_libdir}/libsss_idmap.so
%{_libdir}/pkgconfig/sss_idmap.pc
%{_libdir}/libipa_hbac.so.*
%doc hbac_doc/html
%{_includedir}/ipa_hbac.h
%{_libdir}/libipa_hbac.so
%{_libdir}/pkgconfig/ipa_hbac.pc
%{_libdir}/libsss_nss_idmap.so.*
%doc nss_idmap_doc/html
%{_includedir}/sss_nss_idmap.h
%{_libdir}/libsss_nss_idmap.so
%{_libdir}/pkgconfig/sss_nss_idmap.pc
%{python2_sitearch}/pysss_nss_idmap.so
%{python2_sitearch}/_py2sss_nss_idmap.so
%{python2_sitearch}/pyhbac.so
%{python2_sitearch}/_py2hbac.so
%{_libdir}/%{name}/modules/libwbclient.so.*
%{_includedir}/wbclient_sssd.h
%{_libdir}/%{name}/modules/libwbclient.so
%{_libdir}/pkgconfig/wbclient_sssd.pc
getent group sssd >/dev/null || groupadd -r sssd
/sbin/chkconfig --add %{servicename}
/sbin/chkconfig --del %{servicename}
/usr/sbin/alternatives --install /etc/cifs-utils/idmap-plugin cifs-idmap-plugin %{_libdir}/cifs-utils/cifs_idmap_sss.so 20
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%post -n libipa_hbac -p /sbin/ldconfig
%postun -n libipa_hbac -p /sbin/ldconfig
%post -n libsss_idmap -p /sbin/ldconfig
%postun -n libsss_idmap -p /sbin/ldconfig
%post -n libsss_nss_idmap -p /sbin/ldconfig
%postun -n libsss_nss_idmap -p /sbin/ldconfig