File autofs.spec of Package autofs
#
# spec file for package autofs
#
# Copyright (c) 2017 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/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%if 0%{?suse_version} >= 1220
%define with_systemd 1
%else
%define with_systemd 0
%endif
%if 0%{?suse_version} >= 1230
%define with_udisks 1
%else
%define with_udisks 0
%endif
%if 0%{?suse_version} >= 1230
%define with_sssd 1
%else
%define with_sssd 0
%endif
Name: autofs
Url: http://www.kernel.org/pub/linux/daemons/autofs/v5/
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: cyrus-sasl-devel
BuildRequires: dbus-1-devel
BuildRequires: e2fsprogs
BuildRequires: flex
BuildRequires: krb5-devel
BuildRequires: libnsl-devel
BuildRequires: libopenssl-devel
BuildRequires: libtirpc-devel
BuildRequires: libxml2-devel
BuildRequires: module-init-tools
BuildRequires: nfs-client
BuildRequires: openldap2-devel
BuildRequires: pkg-config
%if 0%{?suse_version} >= 1330
BuildRequires: rpcgen
%endif
BuildRequires: xz
%if %{with_sssd}
BuildRequires: sssd
%endif
%if %{with_udisks}
BuildRequires: udisks2-devel
%endif
%if %{with_systemd}
BuildRequires: systemd
%endif
Version: 5.1.3
Release: 0
Summary: A Kernel-Based Automounter
License: GPL-2.0+
Group: System/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: https://www.kernel.org/pub/linux/daemons/autofs/v5/%{name}-%{version}.tar.xz
Source1: sysconfig.autofs
Source2: autofs.init
Source3: autofs.schema
Source4: README.SUSE.ldap
Source5: README.SUSE
Source6: autofs.service
Source7: NetworkManager-autofs
Source8: get-upstream-patches
Source9: https://www.kernel.org/pub/linux/daemons/autofs/v5/%{name}-%{version}.tar.sign
Source10: autofs.keyring
Source42: org.freedesktop.AutoMount.conf
# PATCH-FIX-OPENSUSE autofs-suse-auto_master_default.patch
Patch100: autofs-5.1.1-suse-auto_master_default.patch
# PATCH-FIX-OPENSUSE autofs-debuginfo-fix.patch
Patch101: autofs-5.1.1-debuginfo-fix.patch
# PATCH-EXTEND-OPENSUSE autofs-dbus-udisks-monitor.patch
Patch102: autofs-5.1.1-dbus-udisks-monitor.patch
# PATCH-FIX-OPENSUSE autofs-use-libldap_r-instead-of-libldap-for-thread-safety.patch [bsc#955477]
Patch104: autofs-use-libldap_r-instead-of-libldap-for-thread-safety.patch
# PATCH-FIX-OPENSUSE autofs-5-1-3-fix-unset-tsd-group-name-handling.patch
Patch105: autofs-5-1-3-fix-unset-tsd-group-name-handling.patch
# PATCH-FIX-OPENSUSE autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
Patch106: autofs-5-1-3-fix-ordering-of-seteuid-setegid-in-do_spawn.patch
# PATCH-FIX-OPENSUSE autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
Patch107: autofs-5-1-3-fix-possible-map-instance-memory-leak.patch
# PATCH-FIX-OPENSUSE autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
Patch108: autofs-5-1-3-check-map-instances-for-staleness-on-map-update.patch
Requires(pre): %fillup_prereq
Requires(pre): aaa_base
%if %{with_systemd}
%{?systemd_requires}
%else
Requires(pre): %insserv_prereq
%endif
Recommends: nfs-client
%description
AutoFS is a kernel-based automounter for Linux. It automatically
mounts filesystems when you use them, and unmounts them later when
you are not using them. This can include network filesystems, CD-ROMs,
floppies, and so forth.
%prep
%setup -q
cp %{SOURCE3} .
cp %{SOURCE4} .
cp %{SOURCE5} .
#
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%build
autoreconf -fiv
SUSE_ASNEEDED=0
%configure %{_target_cpu}-suse-linux \
--libdir=%{_libdir} --mandir=%{_mandir} \
--with-confdir=/etc/sysconfig \
--disable-mount-locking \
--enable-forced-shutdown \
--enable-ignore-busy \
%if %{with_systemd}
--with-systemd \
%endif
--with-libtirpc \
--with-hesiod=no \
--with-sasl
make all DONTSTRIP=1 LOCAL_CFLAGS="%{optflags} %(getconf LFS_CFLAGS)" \
%{?_smp_mflags}
%install
make install INSTALLROOT=%{buildroot}
install -d -m 755 %{buildroot}%{_sysconfdir}/auto.master.d
install -D -m 644 %{SOURCE1} %{buildroot}%{_fillupdir}/sysconfig.autofs
install -D -m 755 %{SOURCE7} %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/autofs
ln -s %{_mandir}/man8/autofs.8.gz %{buildroot}/%{_mandir}/man8/rcautofs.8.gz
%if %{with_systemd}
install -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/autofs.service
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcautofs
%else
install -D -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/init.d/autofs
ln -s ../../etc/init.d/autofs %{buildroot}%{_sbindir}/rcautofs
%endif
%if %{with_udisks}
install -D -m 644 %{SOURCE42} %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.freedesktop.AutoMount.conf
%endif
# will be installed by fillup scripts
rm -f %{buildroot}%{_sysconfdir}/sysconfig/autofs
%pre
%if %{with_systemd}
%service_add_pre %{name}.service
%endif
%post
%if %{with_systemd}
%service_add_post %{name}.service
%else
if /sbin/chkconfig -c autofs 3; then
%{insserv_force_if_yast autofs}
fi
%endif
%{fillup_only}
%preun
%{stop_on_removal autofs}
%if %{with_systemd}
%service_del_preun %{name}.service
%endif
%{fillup_only}
%postun
%if %{with_systemd}
%service_del_postun %{name}.service
%else
%{restart_on_update autofs}
%{insserv_cleanup}
%endif
%files
%defattr (-, root, root)
%{_fillupdir}/sysconfig.autofs
%config(noreplace) %{_sysconfdir}/autofs.conf
%config(noreplace) %{_sysconfdir}/auto.master
%config(noreplace) %{_sysconfdir}/auto.misc
%config(noreplace) %{_sysconfdir}/auto.net
%config(noreplace) %{_sysconfdir}/auto.smb
%config(noreplace) %{_sysconfdir}/autofs_ldap_auth.conf
%if %{with_udisks}
%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.AutoMount.conf
%endif
%dir %{_sysconfdir}/auto.master.d
%dir %{_sysconfdir}/NetworkManager
%dir %{_sysconfdir}/NetworkManager/dispatcher.d
%{_sysconfdir}/NetworkManager/dispatcher.d/autofs
%doc COPYRIGHT README README.changer README.ncpfs README.replicated-server
%doc README.smbfs README.v5.release autofs.schema README.active-restart
%doc README.SUSE README.SUSE.ldap
%dir %{_libdir}/autofs/
%{_libdir}/autofs/
%{_mandir}/man5/*
%{_mandir}/man8/*
%{_sbindir}/automount
%{_sbindir}/rcautofs
%if %{with_systemd}
%{_unitdir}/autofs.service
%else
%config %{_sysconfdir}/init.d/autofs
%endif
%changelog