Dirk Mueller
e3d5b9e382
This resolves the issues reported when building against the latest systemd package (either you are responsible to pull in shadow or you can't rely on it being there) OBS-URL: https://build.opensuse.org/request/show/440248 OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=173
333 lines
11 KiB
RPMSpec
333 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
|
|
Version: 1.3.4
|
|
Release: 0
|
|
Summary: Support Utilities for Kernel nfsd
|
|
License: GPL-2.0+
|
|
Group: Productivity/Networking/NFS
|
|
Url: http://kernel.org/pub/linux/utils/nfs-utils/
|
|
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
|
|
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: 0001-Make-location-of-nfs-utils_env.sh-configurable.patch
|
|
BuildRequires: e2fsprogs-devel
|
|
BuildRequires: fedfs-utils-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: libtool
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: tcpd-devel
|
|
BuildRequires: pkgconfig(devmapper)
|
|
BuildRequires: pkgconfig(kdb)
|
|
BuildRequires: pkgconfig(krb5)
|
|
BuildRequires: pkgconfig(libevent)
|
|
BuildRequires: pkgconfig(libnfsidmap) >= 0.24
|
|
BuildRequires: pkgconfig(libtirpc)
|
|
BuildRequires: pkgconfig(mount)
|
|
BuildRequires: pkgconfig(sqlite3)
|
|
Suggests: python-base
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%{?systemd_requires}
|
|
|
|
%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
|
|
Requires: keyutils
|
|
Requires: netcfg
|
|
Requires: rpcbind
|
|
Requires(post): %fillup_prereq
|
|
Requires(pre): permissions
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
|
|
%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
|
|
Requires: netcfg
|
|
Requires: nfs-client = %{version}
|
|
Requires: rpcbind
|
|
Conflicts: nfs-server
|
|
Provides: nfs-utils = %{version}
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
|
|
%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
|
|
Requires: latex2html-pngicons
|
|
Obsoletes: nfs-utils < 1.1.0
|
|
|
|
%description -n nfs-doc
|
|
This package contains additional NFS documentation.
|
|
|
|
%prep
|
|
%setup -q -a 1
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
|
|
cp %{SOURCE6} .
|
|
|
|
%build
|
|
autoreconf -fvi
|
|
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 %{?_smp_mflags}
|
|
cd nfs
|
|
for i in *.html ; do
|
|
sed -i \
|
|
-e "s@%{_prefix}/lib/latex2html/icons.png/next_motif.png@%{_datadir}/latex2html/icons/next.png@" \
|
|
-e "s@%{_prefix}/lib/latex2html/icons.png/up_motif_gr.png@%{_datadir}/latex2html/icons/up.png@" \
|
|
-e "s@%{_prefix}/lib/latex2html/icons.png/previous_motif_gr.png@%{_datadir}/latex2html/icons/prev.png@" \
|
|
$i
|
|
done
|
|
|
|
%install
|
|
make %{?_smp_mflags} DESTDIR=%{buildroot} install
|
|
install -d %{buildroot}/%{_unitdir}
|
|
install -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/nfsserver.service
|
|
install -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/nfs.service
|
|
install -d %{buildroot}%{_unitdir}/nfs-server.service.d
|
|
install -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/nfs-server.service.d/nfsserver.conf
|
|
install -d %{buildroot}%{_unitdir}/nfs-client.target.d
|
|
install -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/nfs-client.target.d/nfs.conf
|
|
install -d %{buildroot}%{_libexecdir}/nfs-utils
|
|
install -m 755 %{SOURCE14} %{buildroot}%{_libexecdir}/nfs-utils/nfs-utils_env.sh
|
|
install -d %{buildroot}%{_unitdir}/nfs-config.service.d
|
|
install -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/nfs-config.service.d/restart.conf
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcnfsserver
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcnfs-server
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcnfs
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcnfs-client
|
|
# sysconfig-data
|
|
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
|
|
install -m 644 %{SOURCE4} %{buildroot}%{_localstatedir}/adm/fillup-templates
|
|
# idmapd setup
|
|
install -d %{buildroot}/etc
|
|
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/idmapd.conf
|
|
mkdir -p -m 755 %{buildroot}%{_localstatedir}/lib/nfs/rpc_pipefs
|
|
mkdir -p -m 755 %{buildroot}%{_localstatedir}/lib/nfs/v4recovery
|
|
# sm-notify state
|
|
mkdir -p -m 755 %{buildroot}%{_localstatedir}/lib/nfs/sm
|
|
mkdir -p -m 755 %{buildroot}%{_localstatedir}/lib/nfs/sm.bak
|
|
touch %{buildroot}%{_localstatedir}/lib/nfs/state
|
|
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
|
|
install -m 0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/nfs-client
|
|
install -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server
|
|
install -m 644 utils/mount/nfsmount.conf %{buildroot}%{_sysconfdir}/nfsmount.conf
|
|
#
|
|
# hack to avoid automatic python dependency
|
|
chmod 644 %{buildroot}%{_sbindir}/{mountstats,nfsiostat}
|
|
|
|
%pre -n nfs-client
|
|
useradd -r -c 'NFS statd daemon' \
|
|
-s /sbin/nologin -d %{_localstatedir}/lib/nfs -g nogroup statd > /dev/null 2>&1 || :
|
|
%service_add_pre nfs
|
|
|
|
%post -n nfs-client
|
|
chown statd:nogroup %{_localstatedir}/lib/nfs > /dev/null 2>&1 || :
|
|
for i in state sm sm.bak; do
|
|
chown -R statd %{_localstatedir}/lib/nfs/$i > /dev/null 2>&1 || :
|
|
done
|
|
### migrate from /var/lock/subsys
|
|
[ -d /run/nfs ] || mkdir /run/nfs
|
|
if [ -f %{_localstatedir}/lock/subsys/nfs-rpc.idmapd ]; then
|
|
mv %{_localstatedir}/lock/subsys/nfs-rpc.idmapd /run/nfs
|
|
fi
|
|
if [ -f %{_localstatedir}/lock/subsys/nfsserver-rpc.idmapd ]; then
|
|
mv %{_localstatedir}/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 %{_localstatedir}/lock/subsys/nfs-rpc.idmapd ]; then
|
|
mv %{_localstatedir}/lock/subsys/nfs-rpc.idmapd /run/nfs
|
|
fi
|
|
if [ -f %{_localstatedir}/lock/subsys/nfsserver-rpc.idmapd ]; then
|
|
mv %{_localstatedir}/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 %{_sysconfdir}/idmapd.conf
|
|
%config %{_sysconfdir}/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
|
|
%{_sbindir}/rpc.svcgssd
|
|
%{_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}/nfs-utils
|
|
%{_libexecdir}/nfs-utils/nfs-utils_env.sh
|
|
%{_mandir}/man5/nfsmount.conf.5%{ext_man}
|
|
%{_mandir}/man5/nfs.5%{ext_man}
|
|
%{_mandir}/man8/mount.nfs.8%{ext_man}
|
|
%{_mandir}/man8/nfsidmap.8%{ext_man}
|
|
%{_mandir}/man8/nfsstat.8%{ext_man}
|
|
%{_mandir}/man8/rpc.sm-notify.8%{ext_man}
|
|
%{_mandir}/man8/showmount.8%{ext_man}
|
|
%{_mandir}/man8/sm-notify.8%{ext_man}
|
|
%{_mandir}/man8/umount.nfs.8%{ext_man}
|
|
%{_mandir}/man8/rpc.gssd.8%{ext_man}
|
|
%{_mandir}/man8/rpc.idmapd.8%{ext_man}
|
|
%{_mandir}/man8/gssd.8%{ext_man}
|
|
%{_mandir}/man8/idmapd.8%{ext_man}
|
|
%{_mandir}/man8/svcgssd.8%{ext_man}
|
|
%{_mandir}/man8/rpc.statd.8%{ext_man}
|
|
%{_mandir}/man8/rpcdebug.8%{ext_man}
|
|
%{_mandir}/man8/statd.8%{ext_man}
|
|
%{_mandir}/man8/mountstats.8%{ext_man}
|
|
%{_mandir}/man8/nfsiostat.8%{ext_man}
|
|
%{_mandir}/man8/blkmapd.8%{ext_man}
|
|
%{_mandir}/man8/rpc.svcgssd.8%{ext_man}
|
|
%{_localstatedir}/adm/fillup-templates/sysconfig.nfs
|
|
%attr(0711,statd,nogroup) %dir %{_localstatedir}/lib/nfs
|
|
%dir %{_localstatedir}/lib/nfs/rpc_pipefs
|
|
%dir %{_localstatedir}/lib/nfs/v4recovery
|
|
%attr(0700,statd,nogroup) %dir %{_localstatedir}/lib/nfs/sm
|
|
%attr(0700,statd,nogroup) %dir %{_localstatedir}/lib/nfs/sm.bak
|
|
%attr(0700,statd,nogroup) %ghost %{_localstatedir}/lib/nfs/state
|
|
%config %attr(0644,root,root) %{_sysconfdir}/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
|
|
/sbin/nfsdcltrack
|
|
%{_mandir}/man5/exports.5%{ext_man}
|
|
%{_mandir}/man7/nfsd.7%{ext_man}
|
|
%{_mandir}/man8/exportfs.8%{ext_man}
|
|
%{_mandir}/man8/mountd.8%{ext_man}
|
|
%{_mandir}/man8/nfsd.8%{ext_man}
|
|
%{_mandir}/man8/rpc.mountd.8%{ext_man}
|
|
%{_mandir}/man8/rpc.nfsd.8%{ext_man}
|
|
%{_mandir}/man8/nfsdcltrack.8%{ext_man}
|
|
%config(noreplace) %{_localstatedir}/lib/nfs/xtab
|
|
%config(noreplace) %{_localstatedir}/lib/nfs/etab
|
|
%config(noreplace) %{_localstatedir}/lib/nfs/rmtab
|
|
%config %attr(0644,root,root) %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server
|
|
|
|
%files -n nfs-doc
|
|
%defattr(-,root,root)
|
|
%doc nfs/*.html nfs/*.ps README.NFSv4
|
|
|
|
%changelog
|