1919c1cc48
systemd does this automatically. Trying to do it here too causes timing races (boo#963616) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=154
342 lines
11 KiB
RPMSpec
342 lines
11 KiB
RPMSpec
#
|
|
# spec file for package nfs-utils
|
|
#
|
|
# 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: nfs-utils
|
|
BuildRequires: device-mapper-devel
|
|
BuildRequires: e2fsprogs-devel
|
|
BuildRequires: fedfs-utils-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: libevent-devel
|
|
BuildRequires: libgssglue-devel >= 0.3
|
|
BuildRequires: libmount-devel
|
|
BuildRequires: librpcsecgss
|
|
BuildRequires: libtirpc-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: nfsidmap-devel >= 0.24
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: sqlite3-devel
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: tcpd-devel
|
|
Url: http://kernel.org/pub/linux/utils/nfs-utils/
|
|
Summary: Support Utilities for Kernel nfsd
|
|
License: GPL-2.0+
|
|
Group: Productivity/Networking/NFS
|
|
Version: 1.3.3
|
|
Release: 0
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
PreReq: %fillup_prereq
|
|
%{?systemd_requires}
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
Source0: http://kernel.org/pub/linux/utils/nfs-utils/%{version}/nfs-utils-%{version}.tar.xz
|
|
# Download does not work:
|
|
# Source1: ftp://nfs.sourceforge.net/pub/nfs/nfs.doc.tar.bz2
|
|
Source1: nfs.doc.tar.bz2
|
|
Source4: sysconfig.nfs
|
|
Source5: nfs-kernel-server.xml
|
|
Source6: README.NFSv4
|
|
Source7: fw-client
|
|
Source8: fw-server
|
|
Source11: idmapd.conf
|
|
Source12: nfs-config.restart.conf
|
|
Source13: nfs-utils.rpmlintrc
|
|
Source14: nfs-utils_env.sh
|
|
Source15: nfsserver.service
|
|
Source16: nfs.service
|
|
Source17: nfs-server.nfsserver.conf
|
|
Source18: nfs-client.nfs.conf
|
|
Patch0: nfs-utils-1.0.7-bind-syntax.patch
|
|
Patch1: nfs-utils-no-svcgss.service
|
|
Patch2: nfs-utils-uninit-mem.patch
|
|
Suggests: python-base
|
|
|
|
%description
|
|
This package contains the NFS utilities. You can tune the number of
|
|
server threads via the sysconfig variable USE_KERNEL_NFSD_NUMBER. For
|
|
quota over NFS support, install the quota package.
|
|
|
|
%package -n nfs-client
|
|
Summary: Support Utilities for NFS
|
|
Group: Productivity/Networking/NFS
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
Requires: keyutils
|
|
Requires: netcfg
|
|
Requires: rpcbind
|
|
PreReq: %fillup_prereq
|
|
PreReq: permissions
|
|
|
|
%description -n nfs-client
|
|
This package contains common NFS utilities which are needed for client
|
|
and kernel based server.
|
|
|
|
%package -n nfs-kernel-server
|
|
Summary: Support Utilities for Kernel nfsd
|
|
Group: Productivity/Networking/NFS
|
|
Provides: nfs-utils = %{version}
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
Conflicts: nfs-server
|
|
Requires: netcfg
|
|
Requires: nfs-client = %{version}
|
|
Requires: rpcbind
|
|
PreReq: %fillup_prereq
|
|
|
|
%description -n nfs-kernel-server
|
|
This package contains support for the kernel based NFS server. You can
|
|
tune the number of server threads via the sysconfig variable
|
|
USE_KERNEL_NFSD_NUMBER. For quota over NFS support, install the quota
|
|
package.
|
|
|
|
%package -n nfs-doc
|
|
Summary: Support Utilities for NFS
|
|
Group: Productivity/Networking/NFS
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
Requires: latex2html-pngicons
|
|
|
|
%description -n nfs-doc
|
|
This package contains additional NFS documentation.
|
|
|
|
%prep
|
|
%setup -q -n nfs-utils-%{version} -a 1
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
cp %{S:6} .
|
|
|
|
%build
|
|
rm -f configure; autoreconf -fi
|
|
export CFLAGS="%{optflags} -fPIE"
|
|
export LDFLAGS="-pie"
|
|
%{configure} \
|
|
--with-systemd \
|
|
--enable-nfsv4 \
|
|
--enable-gss \
|
|
--enable-svcgss \
|
|
--enable-ipv6 \
|
|
--enable-nfsdcltrack \
|
|
--enable-mount \
|
|
--enable-libmount-mount \
|
|
--enable-mountconfig
|
|
make
|
|
cd nfs
|
|
for i in *.html ; do
|
|
sed -i \
|
|
-e "s@/usr/lib/latex2html/icons.png/next_motif.png@/usr/share/latex2html/icons/next.png@" \
|
|
-e "s@/usr/lib/latex2html/icons.png/up_motif_gr.png@/usr/share/latex2html/icons/up.png@" \
|
|
-e "s@/usr/lib/latex2html/icons.png/previous_motif_gr.png@/usr/share/latex2html/icons/prev.png@" \
|
|
$i
|
|
done
|
|
|
|
%install
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
install -d $RPM_BUILD_ROOT/%{_unitdir}
|
|
install -m 644 %{S:15} $RPM_BUILD_ROOT%{_unitdir}/nfsserver.service
|
|
install -m 644 %{S:16} $RPM_BUILD_ROOT%{_unitdir}/nfs.service
|
|
install -d $RPM_BUILD_ROOT%{_unitdir}/nfs-server.service.d
|
|
install -m 644 %{S:17} $RPM_BUILD_ROOT%{_unitdir}/nfs-server.service.d/nfsserver.conf
|
|
install -d $RPM_BUILD_ROOT%{_unitdir}/nfs-client.target.d
|
|
install -m 644 %{S:18} $RPM_BUILD_ROOT%{_unitdir}/nfs-client.target.d/nfs.conf
|
|
install -d $RPM_BUILD_ROOT/usr/lib/systemd/scripts
|
|
install -m 755 %{S:14} $RPM_BUILD_ROOT/usr/lib/systemd/scripts/nfs-utils_env.sh
|
|
install -d $RPM_BUILD_ROOT%{_unitdir}/nfs-config.service.d
|
|
install -m 644 %{S:12} $RPM_BUILD_ROOT%{_unitdir}/nfs-config.service.d/restart.conf
|
|
ln -sf /usr/sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfsserver
|
|
ln -sf /usr/sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfs-server
|
|
ln -sf /usr/sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfs
|
|
ln -sf /usr/sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfs-client
|
|
# sysconfig-data
|
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
# idmapd setup
|
|
install -d $RPM_BUILD_ROOT/etc
|
|
install -m 644 %{S:11} $RPM_BUILD_ROOT/etc/idmapd.conf
|
|
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/rpc_pipefs
|
|
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/v4recovery
|
|
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/share/omc/svcinfo.d
|
|
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/share/omc/svcinfo.d
|
|
# sm-notify state
|
|
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/sm
|
|
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/sm.bak
|
|
touch $RPM_BUILD_ROOT/var/lib/nfs/state
|
|
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services
|
|
install -m 0644 %{SOURCE7} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-client
|
|
install -m 0644 %{SOURCE8} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server
|
|
install -m 644 utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc/nfsmount.conf
|
|
#
|
|
# hack to avoid automatic python dependency
|
|
chmod 644 $RPM_BUILD_ROOT%{_sbindir}/{mountstats,nfsiostat}
|
|
|
|
%pre -n nfs-client
|
|
useradd -r -c 'NFS statd daemon' \
|
|
-s /sbin/nologin -d /var/lib/nfs -g nogroup statd > /dev/null 2>&1 || :
|
|
%service_add_pre nfs
|
|
|
|
%post -n nfs-client
|
|
chown statd:nogroup /var/lib/nfs
|
|
for i in state sm sm.bak; do
|
|
chown -R statd /var/lib/nfs/$i > /dev/null 2>&1 || :
|
|
done
|
|
### migrate from /var/lock/subsys
|
|
[ -d /run/nfs ] || mkdir /run/nfs
|
|
if [ -f /var/lock/subsys/nfs-rpc.idmapd ]; then
|
|
mv /var/lock/subsys/nfs-rpc.idmapd /run/nfs
|
|
fi
|
|
if [ -f /var/lock/subsys/nfsserver-rpc.idmapd ]; then
|
|
mv /var/lock/subsys/nfsserver-rpc.idmapd /run/nfs
|
|
fi
|
|
###
|
|
%{fillup_only -n nfs nfs}
|
|
#
|
|
%set_permissions /sbin/mount.nfs
|
|
%service_add_post nfs
|
|
|
|
%preun -n nfs-client
|
|
%service_del_preun nfs
|
|
|
|
%postun -n nfs-client
|
|
%service_del_postun nfs
|
|
|
|
%verifyscript -n nfs-client
|
|
%verify_permissions -e /sbin/mount.nfs
|
|
|
|
%pre -n nfs-kernel-server
|
|
%service_add_pre nfsserver
|
|
|
|
%preun -n nfs-kernel-server
|
|
%service_del_preun nfsserver
|
|
|
|
%post -n nfs-kernel-server
|
|
### migrate from /var/lock/subsys
|
|
[ -d /run/nfs ] || mkdir /run/nfs
|
|
if [ -f /var/lock/subsys/nfs-rpc.idmapd ]; then
|
|
mv /var/lock/subsys/nfs-rpc.idmapd /run/nfs
|
|
fi
|
|
if [ -f /var/lock/subsys/nfsserver-rpc.idmapd ]; then
|
|
mv /var/lock/subsys/nfsserver-rpc.idmapd /run/nfs
|
|
fi
|
|
###
|
|
%service_add_post nfsserver
|
|
|
|
%postun -n nfs-kernel-server
|
|
%service_del_postun nfsserver
|
|
|
|
%files -n nfs-client
|
|
%defattr(-,root,root)
|
|
%config /etc/idmapd.conf
|
|
%config /etc/nfsmount.conf
|
|
%verify(not mode) %attr(0755,root,root) /sbin/mount.nfs
|
|
/sbin/mount.nfs4
|
|
/sbin/umount.nfs
|
|
/sbin/umount.nfs4
|
|
/sbin/osd_login
|
|
%attr(0755,root,root) %{_sbindir}/mountstats
|
|
%attr(0755,root,root) %{_sbindir}/nfsiostat
|
|
%{_sbindir}/nfsidmap
|
|
%{_sbindir}/nfsstat
|
|
%{_sbindir}/rcnfs
|
|
%{_sbindir}/rcnfs-client
|
|
%{_sbindir}/rpc.gssd
|
|
%{_sbindir}/rpc.idmapd
|
|
%{_sbindir}/rpc.statd
|
|
%{_sbindir}/rpcdebug
|
|
%{_sbindir}/showmount
|
|
%{_sbindir}/sm-notify
|
|
%{_sbindir}/start-statd
|
|
%{_sbindir}/blkmapd
|
|
%{_unitdir}/auth-rpcgss-module.service
|
|
%{_unitdir}/nfs-blkmap.service
|
|
%{_unitdir}/nfs-client.target
|
|
%{_unitdir}/nfs-config.service
|
|
%{_unitdir}/nfs-idmapd.service
|
|
%{_unitdir}/nfs-utils.service
|
|
%{_unitdir}/rpc-gssd.service
|
|
%{_unitdir}/rpc-statd-notify.service
|
|
%{_unitdir}/rpc-statd.service
|
|
%{_unitdir}/rpc-svcgssd.service
|
|
%{_unitdir}/var-lib-nfs-rpc_pipefs.mount
|
|
%{_unitdir}/nfs.service
|
|
%dir %{_unitdir}/nfs-client.target.d
|
|
%{_unitdir}/nfs-client.target.d/nfs.conf
|
|
%dir %{_unitdir}/nfs-config.service.d
|
|
%{_unitdir}/nfs-config.service.d/restart.conf
|
|
%dir %{_libexecdir}/systemd/scripts
|
|
%{_libexecdir}/systemd/scripts/nfs-utils_env.sh
|
|
%{_mandir}/man5/nfsmount.conf.5.gz
|
|
%{_mandir}/man5/nfs.5.gz
|
|
%{_mandir}/man8/mount.nfs.8.gz
|
|
%{_mandir}/man8/nfsidmap.8.gz
|
|
%{_mandir}/man8/nfsstat.8.gz
|
|
%{_mandir}/man8/rpc.sm-notify.8.gz
|
|
%{_mandir}/man8/showmount.8.gz
|
|
%{_mandir}/man8/sm-notify.8.gz
|
|
%{_mandir}/man8/umount.nfs.8.gz
|
|
%{_mandir}/man8/rpc.gssd.8.gz
|
|
%{_mandir}/man8/rpc.idmapd.8.gz
|
|
%{_mandir}/man8/gssd.8.gz
|
|
%{_mandir}/man8/idmapd.8.gz
|
|
%{_mandir}/man8/svcgssd.8.gz
|
|
%{_mandir}/man8/rpc.statd.8.gz
|
|
%{_mandir}/man8/rpcdebug.8.gz
|
|
%{_mandir}/man8/statd.8.gz
|
|
%{_mandir}/man8/mountstats.8.gz
|
|
%{_mandir}/man8/nfsiostat.8.gz
|
|
%{_mandir}/man8/blkmapd.8.gz
|
|
/var/adm/fillup-templates/sysconfig.nfs
|
|
%attr(0711,statd,nogroup) %dir /var/lib/nfs
|
|
%dir /var/lib/nfs/rpc_pipefs
|
|
%dir /var/lib/nfs/v4recovery
|
|
%attr(0700,statd,nogroup) %dir /var/lib/nfs/sm
|
|
%attr(0700,statd,nogroup) %dir /var/lib/nfs/sm.bak
|
|
%attr(0700,statd,nogroup) %ghost /var/lib/nfs/state
|
|
%config %attr(0644,root,root) /etc/sysconfig/SuSEfirewall2.d/services/nfs-client
|
|
|
|
%files -n nfs-kernel-server
|
|
%defattr(-,root,root)
|
|
%{_unitdir}/nfs-mountd.service
|
|
%{_unitdir}/nfs-server.service
|
|
%{_unitdir}/proc-fs-nfsd.mount
|
|
%{_unitdir}/nfsserver.service
|
|
%dir %{_unitdir}/nfs-server.service.d
|
|
%{_unitdir}/nfs-server.service.d/nfsserver.conf
|
|
%{_sbindir}/exportfs
|
|
%{_sbindir}/rcnfsserver
|
|
%{_sbindir}/rcnfs-server
|
|
%{_sbindir}/rpc.mountd
|
|
%{_sbindir}/rpc.nfsd
|
|
%{_sbindir}/rpc.svcgssd
|
|
/sbin/nfsdcltrack
|
|
%{_mandir}/man5/exports.5.gz
|
|
%{_mandir}/man7/nfsd.7.gz
|
|
%{_mandir}/man8/exportfs.8.gz
|
|
%{_mandir}/man8/mountd.8.gz
|
|
%{_mandir}/man8/nfsd.8.gz
|
|
%{_mandir}/man8/rpc.mountd.8.gz
|
|
%{_mandir}/man8/rpc.nfsd.8.gz
|
|
%{_mandir}/man8/rpc.svcgssd.8.gz
|
|
%{_mandir}/man8/nfsdcltrack.8.gz
|
|
%{_datadir}/omc/svcinfo.d/nfs-kernel-server.xml
|
|
%config(noreplace) /var/lib/nfs/xtab
|
|
%config(noreplace) /var/lib/nfs/etab
|
|
%config(noreplace) /var/lib/nfs/rmtab
|
|
%config %attr(0644,root,root) /etc/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server
|
|
|
|
%files -n nfs-doc
|
|
%defattr(-,root,root)
|
|
%doc nfs/*.html nfs/*.ps README.NFSv4
|
|
|
|
%changelog
|