[nfs-utils/f20] nfs-utils: fix a number of specfile problems

Steve Dickson steved at fedoraproject.org
Thu Aug 22 18:18:27 UTC 2013


commit eb4b19b909c7205ca8de2ef275b1e0361a5d3437
Author: Jeff Layton <jlayton at redhat.com>
Date:   Thu Aug 22 14:10:25 2013 -0400

    nfs-utils: fix a number of specfile problems
    
    The package review for RHEL7 turned up a number of problems with the
    current nfs-utils specfile. This patch aims to fix most of them:
    
    - Swap out hardcoded paths for macros that are defined for this purpose
    - Move the systemd preconfig/postconfig scripts to /usr/libexec
    - Fix URL for Source0
    - add directives to clean out $RPM_BUILD_ROOT in %install and %clean
    - add a %defattr() directive to ensure that all files are owned by root
    - get rid bogus %attr() settings on symlinks
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve Dickson <steved at redhat.com>

 nfs-lock.service   |    2 +-
 nfs-server.service |    4 +-
 nfs-utils.spec     |  139 ++++++++++++++++++++++++++++------------------------
 3 files changed, 78 insertions(+), 67 deletions(-)
---
diff --git a/nfs-lock.service b/nfs-lock.service
index 2a66772..d5f0a99 100644
--- a/nfs-lock.service
+++ b/nfs-lock.service
@@ -8,7 +8,7 @@ Before=remote-fs-pre.target
 Type=forking
 StandardError=syslog+console
 EnvironmentFile=-/etc/sysconfig/nfs
-ExecStartPre=/usr/lib/nfs-utils/scripts/nfs-lock.preconfig
+ExecStartPre=/usr/libexec/nfs-utils/scripts/nfs-lock.preconfig
 ExecStart=/sbin/rpc.statd $STATDARG
 # Make sure lockd's ports are reset
 ExecStopPost=-/sbin/sysctl -w fs.nfs.nlm_tcpport=0 fs.nfs.nlm_udpport=0
diff --git a/nfs-server.service b/nfs-server.service
index 94be749..01ee598 100644
--- a/nfs-server.service
+++ b/nfs-server.service
@@ -9,10 +9,10 @@ Type=oneshot
 RemainAfterExit=yes
 StandardError=syslog+console
 EnvironmentFile=-/etc/sysconfig/nfs
-ExecStartPre=/usr/lib/nfs-utils/scripts/nfs-server.preconfig
+ExecStartPre=/usr/libexec/nfs-utils/scripts/nfs-server.preconfig
 ExecStartPre=/usr/sbin/exportfs -r
 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT
-ExecStartPost=-/usr/lib/nfs-utils/scripts/nfs-server.postconfig
+ExecStartPost=-/usr/libexec/nfs-utils/scripts/nfs-server.postconfig
 ExecStop=/usr/sbin/rpc.nfsd 0
 ExecStopPost=/usr/sbin/exportfs -f
 ExecReload=/usr/sbin/exportfs -r
diff --git a/nfs-utils.spec b/nfs-utils.spec
index 5775010..1e0b5a6 100644
--- a/nfs-utils.spec
+++ b/nfs-utils.spec
@@ -2,13 +2,13 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser
 Name: nfs-utils
 URL: http://sourceforge.net/projects/nfs
 Version: 1.2.8
-Release: 4.0%{?dist}
+Release: 4.1%{?dist}
 Epoch: 1
 
 # group all 32bit related archs
 %define all_32bit_archs i386 i486 i586 i686 athlon ppc sparcv9
 
-Source0: http://www.kernel.org/pub/linux/utils/nfs-utils/%{name}-%{version}.tar.bz2
+Source0: http://sourceforge.net/projects/nfs/files/nfs-utils/%{version}/%{name}-%{version}.tar.bz2
 
 Source9: id_resolver.conf
 Source10: nfs.sysconfig
@@ -127,62 +127,69 @@ CFLAGS="`echo $RPM_OPT_FLAGS $ARCH_OPT_FLAGS $PIE -D_FILE_OFFSET_BITS=64`"
 make %{?_smp_mflags} all
 
 %install
-mkdir -p $RPM_BUILD_ROOT{/sbin,/usr/sbin,/lib/systemd/system}
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system/nfs.target.wants
-mkdir -p $RPM_BUILD_ROOT/usr/lib/%{name}/scripts
+rm -rf $RPM_BUILD_ROOT/*
+
+mkdir -p $RPM_BUILD_ROOT%/sbin
+mkdir -p $RPM_BUILD_ROOT%{_sbindir}
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}/nfs.target.wants
+mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts
 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
-mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
-mkdir -p $RPM_BUILD_ROOT/etc/request-key.d
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/request-key.d
 mkdir -p $RPM_BUILD_ROOT/lib/modprobe.d/
 make DESTDIR=$RPM_BUILD_ROOT install
-install -s -m 755 tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/usr/sbin
-install -m 644 utils/mount/nfsmount.conf  $RPM_BUILD_ROOT/etc
-install -m 644 %{SOURCE9} $RPM_BUILD_ROOT/etc/request-key.d
-install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfs
+install -s -m 755 tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT%{_sbindir}
+install -m 644 utils/mount/nfsmount.conf  $RPM_BUILD_ROOT%{_sysconfdir}
+install -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/request-key.d
+install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/nfs
 
 for service in %{nfs_services} ; do
-	install -m 644 $service $RPM_BUILD_ROOT/lib/systemd/system
+	install -m 644 $service $RPM_BUILD_ROOT%{_unitdir}
 done
 
 for service in %{nfs_automounts} ; do
-	install -m 644 $service $RPM_BUILD_ROOT/lib/systemd/system
+	install -m 644 $service $RPM_BUILD_ROOT%{_unitdir}
 done
 for config in %{nfs_configs} ; do
-	install -m 755 $config $RPM_BUILD_ROOT/usr/lib/%{name}/scripts
+	install -m 755 $config $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts
 done
 
-cd $RPM_BUILD_ROOT/lib/systemd/system
+cd $RPM_BUILD_ROOT%{_unitdir}
 ln -s nfs-idmap.service rpcidmapd.service
 ln -s nfs-lock.service nfslock.service
 ln -s nfs-secure-server.service rpcsvcgssd.service
 ln -s nfs-secure.service rpcgssd.service
 ln -s nfs-server.service nfs.service
 
-mkdir -p $RPM_BUILD_ROOT/var/lib/nfs/rpc_pipefs
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/nfs/rpc_pipefs
+
+touch $RPM_BUILD_ROOT%{_sharedstatedir}/nfs/rmtab
+mv $RPM_BUILD_ROOT%{_sbindir}/rpc.statd $RPM_BUILD_ROOT/sbin
 
-touch $RPM_BUILD_ROOT/var/lib/nfs/rmtab
-mv $RPM_BUILD_ROOT/usr/sbin/rpc.statd $RPM_BUILD_ROOT/sbin
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/nfs/statd/sm
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/nfs/statd/sm.bak
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/nfs/v4recovery
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/exports.d
 
-mkdir -p $RPM_BUILD_ROOT/var/lib/nfs/statd/sm
-mkdir -p $RPM_BUILD_ROOT/var/lib/nfs/statd/sm.bak
-mkdir -p $RPM_BUILD_ROOT/var/lib/nfs/v4recovery
-mkdir -p $RPM_BUILD_ROOT/etc/exports.d
+%clean
+rm -rf $RPM_BUILD_ROOT/*
 
 %pre
 
 # move files so the running service will have this applied as well
 for x in gssd svcgssd idmapd ; do
     if [ -f /var/lock/subsys/rpc.$x ]; then
-        mv /var/lock/subsys/rpc.$x /var/lock/subsys/rpc$x
+		mv /var/lock/subsys/rpc.$x /var/lock/subsys/rpc$x
     fi
 done
 
 /usr/sbin/useradd -l -c "RPC Service User" -r \
-        -s /sbin/nologin -u 29 -d /var/lib/nfs rpcuser 2>/dev/null || :
+		-s /sbin/nologin -u 29 -d /var/lib/nfs rpcuser 2>/dev/null || :
 /usr/sbin/groupadd -g 29 rpcuser 2>/dev/null || :
 
 # Using the 16-bit value of -2 for the nfsnobody uid and gid
-%define nfsnobody_uid   65534
+%define nfsnobody_uid	65534
 
 # Create nfsnobody gid as long as it does not already exist
 cat /etc/group | cut -d':' -f 1 | grep --quiet nfsnobody 2>/dev/null
@@ -196,7 +203,7 @@ fi
 cat /etc/passwd | cut -d':' -f 1 | grep --quiet nfsnobody 2>/dev/null
 if [ "$?" -eq 1 ]; then
     /usr/sbin/useradd -l -c "Anonymous NFS User" -r -g %{nfsnobody_uid} \
-        -s /sbin/nologin -u %{nfsnobody_uid} -d /var/lib/nfs nfsnobody 2>/dev/null || :
+		-s /sbin/nologin -u %{nfsnobody_uid} -d /var/lib/nfs nfsnobody 2>/dev/null || :
 else
 
    /usr/sbin/usermod -u %{nfsnobody_uid} -g %{nfsnobody_uid} nfsnobody 2>/dev/null || :
@@ -238,7 +245,7 @@ fi
 if [ $1 -ge 1 ]; then
 	# Package upgrade, not uninstall
 	for service in %(sed 's!\S*/!!g' <<< '%{nfs_start_services}') ; do
-    	/bin/systemctl try-restart $service >/dev/null 2>&1 || :
+		/bin/systemctl try-restart $service >/dev/null 2>&1 || :
 	done
 fi
 /bin/systemctl --system daemon-reload >/dev/null 2>&1 || :
@@ -256,54 +263,58 @@ if /sbin/chkconfig --level 3 rpcsvcgssd ; then
 fi
 
 %files
+%defattr(-,root,root,-)
 %config(noreplace) /etc/sysconfig/nfs
 %config(noreplace) /etc/nfsmount.conf
-%dir /etc/exports.d
-%dir /var/lib/nfs/v4recovery
-%dir /var/lib/nfs/rpc_pipefs
-%dir /var/lib/nfs
-%dir /usr/lib/%{name}/scripts
-%dir /usr/lib/%{name}
-%dir %attr(700,rpcuser,rpcuser) /var/lib/nfs/statd
-%dir %attr(700,rpcuser,rpcuser) /var/lib/nfs/statd/sm
-%dir %attr(700,rpcuser,rpcuser) /var/lib/nfs/statd/sm.bak
-%config(noreplace) %attr(644,rpcuser,rpcuser) /var/lib/nfs/state
-%config(noreplace) /var/lib/nfs/xtab
-%config(noreplace) /var/lib/nfs/etab
-%config(noreplace) /var/lib/nfs/rmtab
+%dir %{_sysconfdir}/exports.d
+%dir %{_sharedstatedir}/nfs/v4recovery
+%dir %{_sharedstatedir}/nfs/rpc_pipefs
+%dir %{_sharedstatedir}/nfs
+%dir %{_libexecdir}/%{name}/scripts
+%dir %{_libexecdir}/%{name}
+%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd
+%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm
+%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm.bak
+%config(noreplace) %attr(644,rpcuser,rpcuser) %{_sharedstatedir}/nfs/state
+%config(noreplace) %{_sharedstatedir}/nfs/xtab
+%config(noreplace) %{_sharedstatedir}/nfs/etab
+%config(noreplace) %{_sharedstatedir}/nfs/rmtab
 %config(noreplace) %{_sysconfdir}/request-key.d/id_resolver.conf
 %doc linux-nfs/ChangeLog linux-nfs/KNOWNBUGS linux-nfs/NEW linux-nfs/README
 %doc linux-nfs/THANKS linux-nfs/TODO
 /sbin/rpc.statd
 /sbin/osd_login
-/usr/sbin/exportfs
-/usr/sbin/nfsstat
-/usr/sbin/rpcdebug
-/usr/sbin/rpc.mountd
-/usr/sbin/rpc.nfsd
-/usr/sbin/showmount
-/usr/sbin/rpc.idmapd
-/usr/sbin/rpc.gssd
-/usr/sbin/rpc.svcgssd
-/usr/sbin/gss_clnt_send_err
-/usr/sbin/gss_destroy_creds
-/usr/sbin/sm-notify
-/usr/sbin/start-statd
-/usr/sbin/mountstats
-/usr/sbin/nfsiostat
-/usr/sbin/nfsidmap
-/usr/sbin/blkmapd
-/usr/sbin/nfsdcltrack
+%{_sbindir}/exportfs
+%{_sbindir}/nfsstat
+%{_sbindir}/rpcdebug
+%{_sbindir}/rpc.mountd
+%{_sbindir}/rpc.nfsd
+%{_sbindir}/showmount
+%{_sbindir}/rpc.idmapd
+%{_sbindir}/rpc.gssd
+%{_sbindir}/rpc.svcgssd
+%{_sbindir}/gss_clnt_send_err
+%{_sbindir}/gss_destroy_creds
+%{_sbindir}/sm-notify
+%{_sbindir}/start-statd
+%{_sbindir}/mountstats
+%{_sbindir}/nfsiostat
+%{_sbindir}/nfsidmap
+%{_sbindir}/blkmapd
+%{_sbindir}/nfsdcltrack
 %{_mandir}/*/*
-/lib/systemd/system/*
-/usr/lib/%{name}/scripts/*
+%{_unitdir}/*
+%{_libexecdir}/%{name}/scripts/*
 
-%attr(4755,root,root)   /sbin/mount.nfs
-%attr(4755,root,root)   /sbin/mount.nfs4
-%attr(4755,root,root)   /sbin/umount.nfs
-%attr(4755,root,root)   /sbin/umount.nfs4
+%attr(4755,root,root)	/sbin/mount.nfs
+/sbin/mount.nfs4
+/sbin/umount.nfs
+/sbin/umount.nfs4
 
 %changelog
+* Thu Aug 22 2013 Steve Dickson <steved at redhat.com> 1.2.8-4.1
+- nfs-utils: fix a number of specfile problems
+
 * Mon Aug 19 2013 Steve Dickson <steved at redhat.com> 1.2.8-4.0
 - Updated to latest upstream RC release: nfs-utils-1-2-9-rc4
 


More information about the scm-commits mailing list