diff --git a/nfs-utils-2.4.2-systemd-svcgssd.patch b/nfs-utils-2.4.2-systemd-svcgssd.patch index cdda817..a02b178 100644 --- a/nfs-utils-2.4.2-systemd-svcgssd.patch +++ b/nfs-utils-2.4.2-systemd-svcgssd.patch @@ -1,6 +1,6 @@ -diff -up nfs-utils-2.4.2/systemd/auth-rpcgss-module.service.orig nfs-utils-2.4.2/systemd/auth-rpcgss-module.service ---- nfs-utils-2.4.2/systemd/auth-rpcgss-module.service.orig 2019-11-13 12:09:41.000000000 -0500 -+++ nfs-utils-2.4.2/systemd/auth-rpcgss-module.service 2019-12-18 11:32:04.656735515 -0500 +diff -up nfs-utils-2.6.2/systemd/auth-rpcgss-module.service.orig nfs-utils-2.6.2/systemd/auth-rpcgss-module.service +--- nfs-utils-2.6.2/systemd/auth-rpcgss-module.service.orig 2022-12-05 16:05:29.432966511 -0500 ++++ nfs-utils-2.6.2/systemd/auth-rpcgss-module.service 2022-12-05 16:06:20.096192908 -0500 @@ -7,8 +7,8 @@ [Unit] Description=Kernel Module supporting RPCSEC_GSS @@ -10,5 +10,5 @@ diff -up nfs-utils-2.4.2/systemd/auth-rpcgss-module.service.orig nfs-utils-2.4.2 +Before=gssproxy.service rpc-gssd.service +Wants=gssproxy.service rpc-gssd.service ConditionPathExists=/etc/krb5.keytab + ConditionVirtualization=!container - [Service] diff --git a/nfs-utils.2.6.3-rc4.patch b/nfs-utils.2.6.3-rc5.patch similarity index 67% rename from nfs-utils.2.6.3-rc4.patch rename to nfs-utils.2.6.3-rc5.patch index cd098d1..e688a0e 100644 --- a/nfs-utils.2.6.3-rc4.patch +++ b/nfs-utils.2.6.3-rc5.patch @@ -8,6 +8,69 @@ index df791a83..682153d5 100644 *~ +# file generated by ctags +tags +diff --git a/NEWS b/NEWS +index e70ae8ab..77872c5a 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,32 +1,32 @@ + Significant changes for nfs-utils 1.1.0 - March/April 2007 + +- - rpc.lockd is gone. One 3 old kernel releases need it. +- - rpc.rquotad is gone. Use the one from the 'quota' package. +- Everone else does. ++ - rpc.lockd is gone. One 3 old kernel releases need it. ++ - rpc.rquotad is gone. Use the one from the 'quota' package. ++ Everyone else does. + - /sbin/{u,}mount.nfs{,4} are now installed so 'mount' will + use these to mount nfs filesystems instead of internal code. + + mount.nfs will check for 'statd' to be running when mounting +- a filesystem which requires it. If it is not running it will ++ a filesystem which requires it. If it is not running it will + run "/usr/sbin/start-statd" to try to start it. + If statd is not running and cannot be started, mount.nfs will + refuse to mount the filesystem and will suggest the 'nolock' + option. + - Substantial changes to statd + + The 'notify' process that must happen at boot has been split +- into a separate program "sm-notify". It ensures that it +- only runs once even if you restart statd. This is correct ++ into a separate program "sm-notify". It ensures that it ++ only runs once even if you restart statd. This is correct + behaviour. + + statd stores state in the files in /var/lib/nfs/sm/ so that + if you kill and restart it, it will restore that state and + continue working correctly. + + statd makes more use of DNS lookup and should handle +- multi-homed peers better. In particular, files in ++ multi-homed peers better. In particular, files in + /var/lib/nfs/sm/ are named with the Full Qualified Domain Name + if available. + - If you export a directory as 'crossmnt', all filesystems + mounted beneath are automatically exported with the same + options (unless explicitly exported with different options). +- - subtree_check is no-longer the default. The default is now ++ - subtree_check is no-longer the default. The default is now + no_subtree_check. + - By default the system 'rpcgen' is used while building + nfs-utils rather than the internal one. +@@ -43,14 +43,14 @@ Significant changes for nfs-utils 1.1.0 - March/April 2007 + + - A new option, -n, was added to rpc.gssd which specifies that + accesses by root should not use 'machine credentials' when +- accessing NFS file systems mounted with Kerberos. Using this ++ accessing NFS file systems mounted with Kerberos. Using this + option allows the root user to access the NFS space using any + Kerberos principal, rather than always using the machine +- credentials. However, its use also requires that root manually ++ credentials. However, its use also requires that root manually + authenticate before attempting a mount with Kerberos. + + When rpc.gssd uses machine credentials, the selection algorithm has +- been changed. Instead of simply using the first "nfs/*" key in the ++ been changed. Instead of simply using the first "nfs/*" key in the + keytab, the keytab is now searched for keys in the following + defined order: + diff --git a/README b/README index 5e982409..3b0e771f 100644 --- a/README @@ -73,10 +136,29 @@ index 5e982409..3b0e771f 100644 chance to reclaim locks within the 90 second grace period. sm-notify is only needed for NFSv2 and NFSv3 support. diff --git a/configure.ac b/configure.ac -index f1c46c5c..5d9cbf31 100644 +index f1c46c5c..7672a760 100644 --- a/configure.ac +++ b/configure.ac -@@ -249,6 +249,16 @@ AC_ARG_ENABLE(nfsdcld, +@@ -71,18 +71,6 @@ AC_ARG_WITH(systemd, + AM_CONDITIONAL(INSTALL_SYSTEMD, [test "$use_systemd" = 1]) + AC_SUBST(unitdir) + +-modprobedir=/usr/lib/modprobe.d +-AC_ARG_WITH(modprobedir, +- [AS_HELP_STRING([--with-modprobedir@<:@=modprobe-dir-path@:>@],[install modprobe config files @<:@Default: /usr/lib/modprobe.d@:>@])], +- if test "$withval" != "no" ; then +- modprobedir=$withval +- else +- modprobedir= +- fi +- ) +- AM_CONDITIONAL(INSTALL_MODPROBEDIR, [test -n "$modprobedir"]) +- AC_SUBST(modprobedir) +- + AC_ARG_ENABLE(nfsv4, + [AS_HELP_STRING([--disable-nfsv4],[disable support for NFSv4 @<:@default=no@:>@])], + enable_nfsv4=$enableval, +@@ -249,6 +237,16 @@ AC_ARG_ENABLE(nfsdcld, enable_nfsdcld=$enableval, enable_nfsdcld="yes") @@ -93,6 +175,30 @@ index f1c46c5c..5d9cbf31 100644 AC_ARG_ENABLE(nfsdcltrack, [AS_HELP_STRING([--disable-nfsdcltrack],[disable NFSv4 clientid tracking programs @<:@default=no@:>@])], enable_nfsdcltrack=$enableval, +@@ -678,12 +676,12 @@ AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4 $flg5"]) + # Make sure that $ACLOCAL_FLAGS are used during a rebuild + AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"]) + +-# make _sysconfdir available for substituion in config files ++# make _sysconfdir available for substitution in config files + # 2 "evals" needed late to expand variable names. + AC_SUBST([_sysconfdir]) + AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir]) + +-# make _statedir available for substituion in config files ++# make _statedir available for substitution in config files + # 2 "evals" needed late to expand variable names. + AC_SUBST([_statedir]) + AC_CONFIG_COMMANDS_PRE([eval eval _statedir=$statedir]) +@@ -695,7 +693,7 @@ else + fi + AC_SUBST(rpc_pipefsmount) + +-# make _rpc_pipefsmount available for substituion in config files ++# make _rpc_pipefsmount available for substitution in config files + # 2 "evals" needed late to expand variable names. + AC_SUBST([_rpc_pipefsmount]) + AC_CONFIG_COMMANDS_PRE([eval eval _rpc_pipefsmount=$rpc_pipefsmount]) diff --git a/support/export/auth.c b/support/export/auth.c index 03ce4b8a..2d7960f1 100644 --- a/support/export/auth.c @@ -193,6 +299,108 @@ index 958b4ac8..8424179f 100644 { return (®ex_trans); } +diff --git a/systemd/50-nfs.conf b/systemd/50-nfs.conf +deleted file mode 100644 +index 19e8ee73..00000000 +--- a/systemd/50-nfs.conf ++++ /dev/null +@@ -1,16 +0,0 @@ +-# Ensure all NFS systctl settings get applied when modules load +- +-# sunrpc module supports "sunrpc.*" sysctls +-install sunrpc /sbin/modprobe --ignore-install sunrpc $CMDLINE_OPTS && { /sbin/sysctl -q --pattern sunrpc --system; exit 0; } +- +-# rpcrdma module supports sunrpc.svc_rdma.* +-install rpcrdma /sbin/modprobe --ignore-install rpcrdma $CMDLINE_OPTS && { /sbin/sysctl -q --pattern sunrpc.svc_rdma --system; exit 0; } +- +-# lockd module supports "fs.nfs.nlm*" and "fs.nfs.nsm*" sysctls +-install lockd /sbin/modprobe --ignore-install lockd $CMDLINE_OPTS && { /sbin/sysctl -q --pattern fs.nfs.n[sl]m --system; exit 0; } +- +-# nfsv4 module supports "fs.nfs.*" sysctls (nfs_callback_tcpport and idmap_cache_timeout) +-install nfsv4 /sbin/modprobe --ignore-install nfsv4 $CMDLINE_OPTS && { /sbin/sysctl -q --pattern 'fs.nfs.(nfs_callback_tcpport|idmap_cache_timeout)' --system; exit 0; } +- +-# nfs module supports "fs.nfs.*" sysctls +-install nfs /sbin/modprobe --ignore-install nfs $CMDLINE_OPTS && { /sbin/sysctl -q --pattern fs.nfs --system; exit 0; } +diff --git a/systemd/60-nfs.rules b/systemd/60-nfs.rules +new file mode 100644 +index 00000000..188423c1 +--- /dev/null ++++ b/systemd/60-nfs.rules +@@ -0,0 +1,21 @@ ++# Ensure all NFS systctl settings get applied when modules load ++ ++# sunrpc module supports "sunrpc.*" sysctls ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="sunrpc", \ ++ RUN+="/sbin/sysctl -q --pattern ^sunrpc --system" ++ ++# rpcrdma module supports sunrpc.svc_rdma.* ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="rpcrdma", \ ++ RUN+="/sbin/sysctl -q --pattern ^sunrpc.svc_rdma --system" ++ ++# lockd module supports "fs.nfs.nlm*" and "fs.nfs.nsm*" sysctls ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="lockd", \ ++ RUN+="/sbin/sysctl -q --pattern ^fs.nfs.n[sl]m --system" ++ ++# nfsv4 module supports "fs.nfs.*" sysctls (nfs_callback_tcpport and idmap_cache_timeout) ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="nfsv4", \ ++ RUN+="/sbin/sysctl -q --pattern ^fs.nfs.(nfs_callback_tcpport|idmap_cache_timeout) --system" ++ ++# nfs module supports "fs.nfs.*" sysctls ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="nfs", \ ++ RUN+="/sbin/sysctl -q --pattern ^fs.nfs --system" +diff --git a/systemd/Makefile.am b/systemd/Makefile.am +index 7b5ab84b..577c6a22 100644 +--- a/systemd/Makefile.am ++++ b/systemd/Makefile.am +@@ -2,7 +2,8 @@ + + MAINTAINERCLEANFILES = Makefile.in + +-modprobe_files = 50-nfs.conf ++udev_rulesdir = /usr/lib/udev/rules.d/ ++udev_files = 60-nfs.rules + + unit_files = \ + nfs-client.target \ +@@ -53,7 +54,7 @@ endif + + man5_MANS = nfs.conf.man + man7_MANS = nfs.systemd.man +-EXTRA_DIST = $(unit_files) $(modprobe_files) $(man5_MANS) $(man7_MANS) ++EXTRA_DIST = $(unit_files) $(udev_files) $(man5_MANS) $(man7_MANS) + + generator_dir = $(unitdir)/../system-generators + +@@ -75,14 +76,10 @@ rpc_pipefs_generator_LDADD = ../support/nfs/libnfs.la + + if INSTALL_SYSTEMD + genexec_PROGRAMS = nfs-server-generator rpc-pipefs-generator +-install-data-hook: $(unit_files) $(modprobe_files) ++install-data-hook: $(unit_files) $(udev_files) + mkdir -p $(DESTDIR)/$(unitdir) + cp $(unit_files) $(DESTDIR)/$(unitdir) + cp $(rpc_pipefs_mount_file) $(DESTDIR)/$(unitdir)/$(rpc_pipefsmount) +-else +-install-data-hook: $(modprobe_files) +-endif +-if INSTALL_MODPROBEDIR +- mkdir -p $(DESTDIR)$(modprobedir) +- cp $(modprobe_files) $(DESTDIR)$(modprobedir) ++ mkdir -p $(DESTDIR)/$(udev_rulesdir) ++ cp $(udev_files) $(DESTDIR)/$(udev_rulesdir) + endif +diff --git a/systemd/auth-rpcgss-module.service b/systemd/auth-rpcgss-module.service +index 45482833..25c9de80 100644 +--- a/systemd/auth-rpcgss-module.service ++++ b/systemd/auth-rpcgss-module.service +@@ -10,6 +10,7 @@ DefaultDependencies=no + Before=gssproxy.service rpc-svcgssd.service rpc-gssd.service + Wants=gssproxy.service rpc-svcgssd.service rpc-gssd.service + ConditionPathExists=/etc/krb5.keytab ++ConditionVirtualization=!container + + [Service] + Type=oneshot diff --git a/systemd/nfs.conf.man b/systemd/nfs.conf.man index e74083e9..bfd3380f 100644 --- a/systemd/nfs.conf.man diff --git a/nfs-utils.spec b/nfs-utils.spec index 56f4a9e..3ab2301 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser Name: nfs-utils URL: http://linux-nfs.org/ Version: 2.6.2 -Release: 2.rc4%{?dist} +Release: 2.rc5%{?dist} Epoch: 1 # group all 32bit related archs @@ -14,7 +14,7 @@ Source2: lockd.conf Source3: 24-nfs-server.conf Source4: 10-nfsv4.conf -Patch001: nfs-utils.2.6.3-rc4.patch +Patch001: nfs-utils.2.6.3-rc5.patch Patch100: nfs-utils-1.2.1-statdpath-man.patch Patch101: nfs-utils-1.2.1-exp-subtree-warn-off.patch @@ -318,7 +318,7 @@ rm -rf /etc/systemd/system/rpc-*.requires %config(noreplace) %{_sysconfdir}/modprobe.d/lockd.conf %config(noreplace) %{_sysconfdir}/nfs.conf %attr(0600,root,root) %config(noreplace) %{_sysconfdir}/gssproxy/24-nfs-server.conf -%attr(0600,root,root) %config(noreplace) /usr/lib/modprobe.d/50-nfs.conf +%attr(0600,root,root) %config(noreplace) /usr/lib/udev/rules.d/60-nfs.rules %doc linux-nfs/ChangeLog linux-nfs/KNOWNBUGS linux-nfs/NEW linux-nfs/README %doc linux-nfs/THANKS linux-nfs/TODO @@ -418,7 +418,7 @@ rm -rf /etc/systemd/system/rpc-*.requires %config(noreplace) %{_sysconfdir}/request-key.d/id_resolver.conf %attr(0600,root,root) %config(noreplace) %{_sysconfdir}/gssproxy/24-nfs-server.conf %attr(0600,root,root) %config(noreplace) %{_sysconfdir}/nfsmount.conf.d/10-nfsv4.conf -%attr(0600,root,root) %config(noreplace) /usr/lib/modprobe.d/50-nfs.conf +%attr(0600,root,root) %config(noreplace) /usr/lib/udev/rules.d/60-nfs.rules %{_sbindir}/rpc.gssd %{_sbindir}/nfsidmap %{_sbindir}/nfsstat @@ -455,6 +455,9 @@ rm -rf /etc/systemd/system/rpc-*.requires %{_mandir}/*/nfsiostat.8.gz %changelog +* Thu Dec 8 2022 Steve Dickson 2.6.2-2.rc5 +- Updated to the latest RC release: nfs-utils-2-6-3-rc5 (bz 2151279) + * Mon Nov 28 2022 Steve Dickson 2.6.2-2.rc4 - Updated to the latest RC release: nfs-utils-2-6-3-rc4 (bz 2144605) - Remove old nfsconvert dependencies (bz 2144179)