nfs-utils/nfs-utils.spec
Neil Brown eb9980846b - New upstream version 1.3.0.
Includes all our bugfix patches except 1.
  Adds assorted other bugfixes and improvements including
  initial support for NFSv4.2
  Prepares the way for better systemd integration.
  Discards useless programs gss_clnt_send_err and gss_destroy_creds
- Removes: 0001-mountd-Fix-is_subdirectory-again.patch
- Removes: 0002-gssd-Fix-recent-fix-to-Avoid-DNS-reverse-resolution-.patch
- Removes: 0003-Fix-handling-of-preferred-realm-command-line-option.patch
- Removes: 0004-nfsiostat-restore-output-format.patch
- Removes: 0005-gssd-don-t-give-up-on-machine-credential-if-hostname.patch
- Removes: 0006-gssd-fixed-typo-in-machine-cred-name.patch
- Removes: skip-on-ENOENT.patch
- Removes: mountd-fix-bug-affecting-exports-of-dirs-with-64bit-.patch
- Removes: exportfs-exit-with-error-code-if-there-was-any-error.patch
- Removes: exportfs-report-failure-if-asked-to-unexport-somethi.patch
- Removes: gssd-mount-hang-fix.patch
- Removes: udp-fallback-fix.patch
- Removes: fedfs-lib-name.patch
- 0001-nfsidmap-Keys-need-to-be-invalidated-instead-of-revo.patch
 This upstream patch is currently reverted until we get a newer version
 of keyutils.

OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=119
2014-05-14 02:46:47 +00:00

319 lines
9.8 KiB
RPMSpec

#
# spec file for package nfs-utils
#
# Copyright (c) 2014 SUSE LINUX Products 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: 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: tcpd-devel
%if 0%{?suse_version} >= 1210
BuildRequires: systemd
%endif
%if 0%{?suse_version} >= 1310
BuildRequires: fedfs-utils-devel
%endif
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.0
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %fillup_prereq %insserv_prereq
%{?systemd_requires}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://kernel.org/pub/linux/utils/nfs-utils/%{version}/nfs-utils-%{version}.tar.bz2
# Download does not work:
# Source1: ftp://nfs.sourceforge.net/pub/nfs/nfs.doc.tar.bz2
Source1: nfs.doc.tar.bz2
Source2: nfs.init
Source3: nfsserver.init
Source4: sysconfig.nfs
Source5: nfs-kernel-server.xml
Source6: README.NFSv4
Source7: fw-client
Source8: fw-server
Source11: idmapd.conf
Source12: start-statd
Source13: nfs-utils.rpmlintrc
Patch0: nfs-utils-1.0.7-bind-syntax.patch
# PATCH-FIX-UPSTREAM nfsdcltrack.sbin.patch nfbrown@suse.de
Patch1: nfsdcltrack.sbin.patch
Patch2: 0001-nfsidmap-Keys-need-to-be-invalidated-instead-of-revo.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 %insserv_prereq
PreReq: permissions
Provides: aaa_base:/etc/init.d/nfs
%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 %insserv_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 -R
cp %{S:6} .
%build
rm -f configure; autoreconf -fi
CFLAGS="$RPM_OPT_FLAGS -fPIE -fno-strict-aliasing" LDFLAGS="-pie" ./configure \
--mandir=%{_mandir} \
--enable-nfsv4 \
--enable-gss \
--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
rm -f linux-nfs/Makefile*
# rc-script
install -d $RPM_BUILD_ROOT/etc/init.d
install -m 744 %{SOURCE3} $RPM_BUILD_ROOT/etc/init.d/nfsserver
install -m 744 %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d/nfs
ln -sf ../../etc/init.d/nfsserver $RPM_BUILD_ROOT/usr/sbin/rcnfsserver
ln -sf ../../etc/init.d/nfs $RPM_BUILD_ROOT/usr/sbin/rcnfs
# 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 -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 755 %{S:12} $RPM_BUILD_ROOT/usr/sbin/start-statd
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}
%clean
rm -rf $RPM_BUILD_ROOT
%pre -n nfs-client
useradd -r -c 'NFS statd daemon' \
-s /sbin/nologin -d /var/lib/nfs -g nogroup statd &> /dev/null || :
%service_add_pre nfs
%post -n nfs-client
chown statd:nogroup /var/lib/nfs
chown -R statd /var/lib/nfs/{state,sm,sm.bak} >& /dev/null || :
### 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_and_insserv -n nfs nfs}
#
%set_permissions /sbin/mount.nfs
%service_add_post nfs
%preun -n nfs-client
%stop_on_removal nfs
%service_del_preun nfs
%postun -n nfs-client
%restart_on_update nfs
%insserv_cleanup
%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
%stop_on_removal nfsserver
%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
###
%{fillup_and_insserv nfsserver}
%service_add_post nfsserver
%postun -n nfs-kernel-server
%restart_on_update nfsserver
%insserv_cleanup
%service_del_postun nfsserver
%files -n nfs-client
%defattr(-,root,root)
%config /etc/init.d/nfs
%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) /usr/sbin/mountstats
%attr(0755,root,root) /usr/sbin/nfsiostat
/usr/sbin/nfsidmap
/usr/sbin/nfsstat
/usr/sbin/rcnfs
/usr/sbin/rpc.gssd
/usr/sbin/rpc.idmapd
/usr/sbin/rpc.statd
/usr/sbin/rpcdebug
/usr/sbin/showmount
/usr/sbin/sm-notify
/usr/sbin/start-statd
/usr/sbin/blkmapd
%{_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)
%config /etc/init.d/nfsserver
/usr/sbin/exportfs
/usr/sbin/rcnfsserver
/usr/sbin/rpc.mountd
/usr/sbin/rpc.nfsd
/usr/sbin/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
/usr/share/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