File nss-pam-ldapd.spec of Package nss-pam-ldapd

#
# spec file for package nss-pam-ldapd
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           nss-pam-ldapd
BuildRequires:  automake
BuildRequires:  krb5-devel
BuildRequires:  openldap2-devel
BuildRequires:  pam-devel
BuildRequires:  systemd-rpm-macros
Version:        0.9.7
Release:        0
Summary:        NSS module and daemon for using LDAP as a naming service
License:        LGPL-2.1+
Group:          Productivity/Networking/LDAP/Clients
Url:            http://arthurdejong.org/nss-ldapd/
Requires(pre):  shadow
Conflicts:      nss_ldap pam_ldap
Obsoletes:      nss-ldapd < %{version}-%{release}
Provides:       nss-ldapd = %{version}-%{release}
Source:         nss-pam-ldapd-%{version}.tar.gz
Source1:        baselibs.conf
Source2:        nslcd.service
Source100:      nss-pam-ldapd-rpmlintrc
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This is nss-pam-ldapd which provides a Name Service Switch (NSS)
module that allows your LDAP server to provide user account, group,
host name, alias, netgroup, and basically any other information that
you would normally get from /etc flat files or NIS. It also provides a
Pluggable Authentication Module (PAM) to do authentication to an LDAP
server.

This is implemented using thin NSS and PAM modules which delegate to a
dedicated service (nslcd) that queries the LDAP server with persistent
connections, authentication, attribute translation, etc.

%prep
%setup -q

%build
%{?suse_update_config:%{suse_update_config -f}}
autoreconf
export CPPFLAGS="-I/usr/include/sasl"
%configure --libdir=/%{_lib} \
	    --with-pam-seclib-dir=/%{_lib}/security \
		--disable-utils
make %{?_smp_mflags}

%install
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}/
install -p -m644 %{S:2} $RPM_BUILD_ROOT/%{_unitdir}/
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcnslcd

%pre
# creating groupd and user nslcd
%{_bindir}/getent group nslcd >/dev/null || %{_sbindir}/groupadd -r nslcd
%{_bindir}/getent passwd nslcd >/dev/null || \
  %{_sbindir}/useradd -r -g nslcd -d / -s /sbin/nologin \
  -c "nslcd ldap user" nslcd
%service_add_pre nslcd.service

%post
/sbin/ldconfig
%service_add_post nslcd.service

%preun
%stop_on_removal nslcd
%service_del_preun nslcd.service

%postun
/sbin/ldconfig
%service_del_postun nslcd.service
%restart_on_update nslcd
%insserv_cleanup

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
/%{_lib}/libnss_ldap.so.2
/%{_lib}/security/pam_ldap.so
%{_mandir}/man?/*
%config(noreplace) %attr(640,root,root) /etc/nslcd.conf
/%{_unitdir}/nslcd.service
%{_sbindir}/nslcd
%{_sbindir}/rcnslcd

%changelog
openSUSE Build Service is sponsored by