Hello community, here is the log from the commit of package nfs-utils for openSUSE:Factory checked in at 2015-07-20 11:16:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nfs-utils (Old) and /work/SRC/openSUSE:Factory/.nfs-utils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nfs-utils" Changes: -------- --- /work/SRC/openSUSE:Factory/nfs-utils/nfs-utils.changes 2014-09-18 07:12:09.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.nfs-utils.new/nfs-utils.changes 2015-07-20 11:16:52.000000000 +0200 @@ -1,0 +2,24 @@ +Sun Nov 09 19:34:00 UTC 2014 - Led <led...@gmail.com> + +- fix bashisms in pre/post scripts + +------------------------------------------------------------------- +Wed Nov 5 00:48:09 UTC 2014 - nfbr...@suse.com + +- new upstream nfs-utils-1.3.1 + This brings numerous fixes, particularly to gssd and + nfsdcltrack. It incorporates all the upstreamable + patches we had: +- Delete nfsdcltrack.sbin.patch +- Delete start-statd.patch +- 0001-nfs-client.target-Removed-a-ordering-cycle-with-nfs-.patch + 0002-Centralize-dependencies-on-the-auth-unit.patch + Patches from 1.3.2-rc, which look useful + +- Convert from /etc/init.d startup scripts to full + systemd integration. + The upstream standard names are "nfs-client" and "nfs-server" + rather than "nfs" and "nfsserver", so local "nfs" "nfsserver" + aliases are created and "rcXXX" links are provided for all 4. + +------------------------------------------------------------------- Old: ---- nfs-utils-1.3.0.tar.xz nfs.init nfsdcltrack.sbin.patch nfsserver.init start-statd.patch New: ---- 0001-nfs-client.target-Removed-a-ordering-cycle-with-nfs-.patch 0002-Centralize-dependencies-on-the-auth-unit.patch nfs-client.nfs.conf nfs-config.restart.conf nfs-server.nfsserver.conf nfs-utils-1.3.1.tar.xz nfs-utils_env.sh nfs.service nfsserver.service ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nfs-utils.spec ++++++ --- /var/tmp/diff_new_pack.Pc5Y4y/_old 2015-07-20 11:16:54.000000000 +0200 +++ /var/tmp/diff_new_pack.Pc5Y4y/_new 2015-07-20 11:16:54.000000000 +0200 @@ -41,30 +41,34 @@ Summary: Support Utilities for Kernel nfsd License: GPL-2.0+ Group: Productivity/Networking/NFS -Version: 1.3.0 +Version: 1.3.1 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build -PreReq: %fillup_prereq %insserv_prereq +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 -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: 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 -# PATCH-FIX-UPSTREAM nfsdcltrack.sbin.patch nfbr...@suse.de -Patch1: nfsdcltrack.sbin.patch -# PATCH-FIX-OPENSUSE start-statd.patch nfbr...@suse.de -Patch2: start-statd.patch +# PATCH-FIX-UPSTREAM 0001-nfs-client.target-Removed-a-ordering-cycle-with-nfs-.patch nfbr...@suse.de +Patch1: 0001-nfs-client.target-Removed-a-ordering-cycle-with-nfs-.patch +# PATCH-FIX-UPSTREAM 0002-Centralize-dependencies-on-the-auth-unit.patch nfbr...@suse.de +Patch2: 0002-Centralize-dependencies-on-the-auth-unit.patch Suggests: python-base %description @@ -79,9 +83,8 @@ Requires: keyutils Requires: netcfg Requires: rpcbind -PreReq: %fillup_prereq %insserv_prereq +PreReq: %fillup_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 @@ -96,7 +99,7 @@ Requires: netcfg Requires: nfs-client = %{version} Requires: rpcbind -PreReq: %fillup_prereq %insserv_prereq +PreReq: %fillup_prereq %description -n nfs-kernel-server This package contains support for the kernel based NFS server. You can @@ -144,17 +147,26 @@ %install make install DESTDIR=$RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/%{_unitdir} -install -m 644 systemd/rpc-statd.service $RPM_BUILD_ROOT/%{_unitdir} -# 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 +install -m 644 systemd/*.{service,target,mount} $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 /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfsserver +ln -sf /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfs-server +ln -sf /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcnfs +ln -sf /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 @@ -177,12 +189,14 @@ %pre -n nfs-client useradd -r -c 'NFS statd daemon' \ - -s /sbin/nologin -d /var/lib/nfs -g nogroup statd &> /dev/null || : + -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 -chown -R statd /var/lib/nfs/{state,sm,sm.bak} >& /dev/null || : +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 @@ -192,7 +206,7 @@ mv /var/lock/subsys/nfsserver-rpc.idmapd /run/nfs fi ### -%{fillup_and_insserv -n nfs nfs} +%{fillup_only -n nfs nfs} # %set_permissions /sbin/mount.nfs %service_add_post nfs @@ -203,7 +217,6 @@ %postun -n nfs-client %restart_on_update nfs -%insserv_cleanup %service_del_postun nfs %verifyscript -n nfs-client @@ -226,17 +239,14 @@ 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 @@ -249,6 +259,7 @@ /usr/sbin/nfsidmap /usr/sbin/nfsstat /usr/sbin/rcnfs +/usr/sbin/rcnfs-client /usr/sbin/rpc.gssd /usr/sbin/rpc.idmapd /usr/sbin/rpc.statd @@ -257,7 +268,25 @@ /usr/sbin/sm-notify /usr/sbin/start-statd /usr/sbin/blkmapd +%{_unitdir}/auth-rpcgss-module.service +%{_unitdir}/nfs-blkmap.service +%{_unitdir}/nfs-blkmap.target +%{_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 /usr/lib/systemd/scripts +/usr/lib/systemd/scripts/nfs-utils_env.sh %{_mandir}/man5/nfsmount.conf.5.gz %{_mandir}/man5/nfs.5.gz %{_mandir}/man8/mount.nfs.8.gz @@ -289,9 +318,15 @@ %files -n nfs-kernel-server %defattr(-,root,root) -%config /etc/init.d/nfsserver +%{_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 /usr/sbin/exportfs /usr/sbin/rcnfsserver +/usr/sbin/rcnfs-server /usr/sbin/rpc.mountd /usr/sbin/rpc.nfsd /usr/sbin/rpc.svcgssd ++++++ 0001-nfs-client.target-Removed-a-ordering-cycle-with-nfs-.patch ++++++ >From 12a95edae598ba0c63a30b07d7b3529871e145e2 Mon Sep 17 00:00:00 2001 From: Steve Dickson <ste...@redhat.com> Date: Mon, 29 Sep 2014 11:23:39 -0400 Subject: [PATCH 1/2] nfs-client.target: Removed a ordering cycle with nfs-server.service On a VM that boots very fast and with out kerberos enabled a systemd ordering cycle happens between nfs-client and nfs-server units when both were enabled. Having nfs-client start the gssd daemons in the same matter as the nfs-server does ('After=') seemed to eliminated the ordering cycle. Acked-by: J. Bruce Fields <bfie...@fieldses.org> Signed-off-by: Steve Dickson <ste...@redhat.com> --- systemd/nfs-client.target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd/nfs-client.target b/systemd/nfs-client.target index 474f5e9ad74b..87a1ce8cec8f 100644 --- a/systemd/nfs-client.target +++ b/systemd/nfs-client.target @@ -7,7 +7,7 @@ Wants=remote-fs-pre.target # start that on demand if needed. Wants=rpc-gssd.service rpc-svcgssd.service auth-rpcgss-module.service Wants=nfs-blkmap.service rpc-statd-notify.service -Before=rpc-gssd.service rpc-svcgssd.service nfs-blkmap.service +After=rpc-gssd.service rpc-svcgssd.service nfs-blkmap.service [Install] WantedBy=multi-user.target -- 2.1.1 ++++++ 0002-Centralize-dependencies-on-the-auth-unit.patch ++++++ >From 8d51c77c81f0cd5b0b8508eb50d5a53d6d2375ae Mon Sep 17 00:00:00 2001 From: Simo Sorce <s...@redhat.com> Date: Tue, 30 Sep 2014 15:33:10 -0400 Subject: [PATCH 2/2] Centralize dependencies on the auth unit. With this patch either gssproxy or rpc.svcgssd are started only if the auth module is requested, and it finds a keytab. If the wants are in the main nfs-client or nfs-server unit files then the two deamons are started unconditionally and would require conditions which we can test once and for all in a single unit file instead. Change also Before and After statments accordingly to properly serialize loading modules and starting daemons in 3 steps 1. load kernel GSS auth module 2. start GSS handling daemons 3. start NFS client/server daemons Signed-off-by: Simo Sorce <s...@redhat.com> Signed-off-by: Steve Dickson <ste...@redhat.com> --- systemd/auth-rpcgss-module.service | 3 ++- systemd/nfs-client.target | 7 +++++-- systemd/nfs-server.service | 8 +++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/systemd/auth-rpcgss-module.service b/systemd/auth-rpcgss-module.service index 3fc2f4ac924f..0355e13e0095 100644 --- a/systemd/auth-rpcgss-module.service +++ b/systemd/auth-rpcgss-module.service @@ -6,7 +6,8 @@ # unit will fail. But that's OK.) [Unit] Description=Kernel Module supporting RPCSEC_GSS -Before=gssproxy.service rpc-svcgssd.service +Before=gssproxy.service rpc-svcgssd.service rpc-gssd.service +Wants=gssproxy.service rpc-svcgssd.service rpc-gssd.service ConditionPathExists=/etc/krb5.keytab [Service] diff --git a/systemd/nfs-client.target b/systemd/nfs-client.target index 87a1ce8cec8f..9b792a363e14 100644 --- a/systemd/nfs-client.target +++ b/systemd/nfs-client.target @@ -5,9 +5,12 @@ Wants=remote-fs-pre.target # Note: we don't "Wants=rpc-statd.service" as "mount.nfs" will arrange to # start that on demand if needed. -Wants=rpc-gssd.service rpc-svcgssd.service auth-rpcgss-module.service Wants=nfs-blkmap.service rpc-statd-notify.service -After=rpc-gssd.service rpc-svcgssd.service nfs-blkmap.service +After=nfs-blkmap.service + +# GSS services dependencies and ordering +Wants=auth-rpcgss-module.service +After=rpc-gssd.service rpc-svcgssd.service gssproxy.service [Install] WantedBy=multi-user.target diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service index 1048c5cbbf68..8010aadc4870 100644 --- a/systemd/nfs-server.service +++ b/systemd/nfs-server.service @@ -2,15 +2,17 @@ Description=NFS server and services Requires= network.target proc-fs-nfsd.mount rpcbind.target Requires= nfs-mountd.service -Wants=rpc-statd.service nfs-idmapd.service auth-rpcgss-module.service -Wants=rpc-gssd.service gssproxy.service rpc-svcgssd.service +Wants=rpc-statd.service nfs-idmapd.service Wants=rpc-statd-notify.service After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service After= nfs-idmapd.service rpc-statd.service -After= rpc-gssd.service gssproxy.service rpc-svcgssd.service Before= rpc-statd-notify.service +# GSS services dependencies and ordering +Wants=auth-rpcgss-module.service +After=rpc-gssd.service gssproxy.service rpc-svcgssd.service + Wants=nfs-config.service After=nfs-config.service -- 2.1.1 ++++++ nfs-client.nfs.conf ++++++ # When nfs is stopped or restarted, nfs-client must too. [Unit] PartOf=nfs-client.target ++++++ nfs-config.restart.conf ++++++ [Unit] # Ensure config file is re-processed when nfs or nfsserver # is restarted PartOf = nfs-server.service nfs-client.target ++++++ nfs-server.nfsserver.conf ++++++ # When nfsserver is stopped or restarted, nfs-server must too. [Unit] PartOf=nfsserver.service ++++++ nfs-utils-1.0.7-bind-syntax.patch ++++++ --- /var/tmp/diff_new_pack.Pc5Y4y/_old 2015-07-20 11:16:54.000000000 +0200 +++ /var/tmp/diff_new_pack.Pc5Y4y/_new 2015-07-20 11:16:54.000000000 +0200 @@ -6,9 +6,9 @@ support/nfs/exports.c | 2 ++ 1 file changed, 2 insertions(+) ---- nfs-utils-1.2.7.orig/support/nfs/exports.c -+++ nfs-utils-1.2.7/support/nfs/exports.c -@@ -628,6 +628,8 @@ bad_option: +--- nfs-utils-1.3.1.orig/support/nfs/exports.c ++++ nfs-utils-1.3.1/support/nfs/exports.c +@@ -649,6 +649,8 @@ bad_option: } else if (strncmp(opt, "replicas=", 9) == 0) { ep->e_fslocmethod = FSLOC_REPLICA; ep->e_fslocdata = strdup(opt+9); ++++++ nfs-utils-1.3.0.tar.xz -> nfs-utils-1.3.1.tar.xz ++++++ ++++ 6395 lines of diff (skipped) ++++++ nfs-utils_env.sh ++++++ #!/bin/sh # extract configuration from /etc/sysconfig/nfs-utils and write # environment to /run/sysconfig/nfs-utils to be used by systemd unit # files. # This script expects configuration as used by openSUSE-13.1 and later # nfs_config=/etc/sysconfig/nfs if test -r $nfs_config; then . $nfs_config fi pipefs= if [ -n "$RPC_PIPEFS_DIR" -a "$RPC_PIPEFS_DIR" != "/var/lib/nfs/rpc_pipefs" ]; then pipefs="-p /var/lib/nfs/rpc_pipefs" fi mountdport= if [ -n "$MOUNTD_PORT" ]; then mountdport="-p $MOUNTD_PORT" fi case $NFS_GSSD_AVOID_DNS in [Nn]*) ignore_dns=-D ;; [Yy]*) ignore_dns= ;; * ) ignore_dns=-D esac version_params= if [ "$NFS3_SERVER_SUPPORT" == "no" ]; then version_params="--no-nfs-version 2 --no-nfs-version 3" fi if [ "$NFS4_SUPPORT" != "yes" ]; then version_params="--no-nfs-version 4" fi if [ "$NFS4_SERVER_MINOR_VERSION" != "0" ]; then version_params="$VERSION_PARAMS --nfs-version 4 --nfs-version 4.$NFS4_SERVER_MINOR_VERSION" fi if [ "$USE_KERNEL_NFSD_NUMBER" -gt 0 ]; then threads=$USE_KERNEL_NFSD_NUMBER else threads=3 fi case $NFS_GSSD_AVOID_DNS in [Nn]*) ignore_dns=-D ;; [Yy]*) ignore_dns= ;; * ) ignore_dns=-D esac mkdir -p /run/sysconfig { echo "RPCIDMAPDARGS=$pipefs" echo "RPCMOUNTDARGS=$mountdport $MOUNTD_OPTIONS $version_parms" echo "RPCNFSDARGS=$NFSD_OPTIONS $version_params $threads" echo "GSSDARGS=$ignore_dns $GSSD_OPTIONS $pipefs" echo "SMNOTIFYARGS=$SM_NOTIFY_OPTIONS" echo "STATDARGS=$STATD_OPTIONS" echo "SVCGSSDARGS=$SVCGSSD_OPTIONS" } > /run/sysconfig/nfs-utils ++++++ nfs.service ++++++ [Unit] Description=Alias for NFS client # The systemd alias mechanism (using symlinks) isn't rich enough. # If you "systemctl enable" an alias, it doesn't enable the # target. # This service file creates a sufficiently rich alias for nfs-client # (which is the canonical upstream name) # "start", "stop", "restart", "reload" on this will do the same to nfs-client. # "enable" on this will only enable this service, but when it starts, that # starts nfs-client, so it is effectively enabled. # nfs-server.d/nfsserver.conf is part of this service. Requires= nfs-client.target PropagatesReloadTo=nfs-client.target [Service] Type=oneshot ExecStart=/bin/true [Install] WantedBy=multi-user.target ++++++ nfsserver.service ++++++ [Unit] Description=Alias for NFS server # The systemd alias mechanism (using symlinks) isn't rich enough. # If you "systemctl enable" an alias, it doesn't enable the # target. # This service file creates a sufficiently rich alias for nfs-server # (which is the canonical upstream name) # "start", "stop", "restart", "reload" on this will do the same to nfs-server. # "enable" on this will only enable this service, but when it starts, that # starts nfs-server, so it is effectively enabled. # nfs-server.d/nfsserver.conf is part of this service. Requires= nfs-server.service PropagatesReloadTo=nfs-server.service [Service] Type=oneshot ExecStart=/bin/true RemainAfterExit=yes [Install] WantedBy=multi-user.target