[packages/nfs-utils] - added kerberos5 bcond; it becomes harder to restore heimdal compatibility on each release...

qboosh qboosh at pld-linux.org
Fri Jun 27 21:37:03 CEST 2025


commit 5cbe35c13ce411297bf99b7069b8c5c643e89ff8
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Jun 27 21:38:26 2025 +0200

    - added kerberos5 bcond; it becomes harder to restore heimdal compatibility on each release...

 nfs-utils.spec | 73 ++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 48 insertions(+), 25 deletions(-)
---
diff --git a/nfs-utils.spec b/nfs-utils.spec
index eb257c1..9ba8b70 100644
--- a/nfs-utils.spec
+++ b/nfs-utils.spec
@@ -1,6 +1,7 @@
 # TODO: systemd support needs cleanup (see TODOs below)
 #
 # Conditional build:
+%bcond_without	kerberos5	# Kerberos V (GSS) support
 %bcond_with	krb5		# MIT Kerberos instead of Heimdal
 %bcond_without	static_libs	# static libraries
 %bcond_without	tirpc		# libtirpc instead of librpcsecgss
@@ -83,11 +84,13 @@ BuildRequires:	libtirpc-devel >= 1:1.3.4
 %else
 BuildRequires:	librpcsecgss-devel >= 0.16
 %endif
+%if %{with kerberos5}
 %if %{with krb5}
 BuildRequires:	krb5-devel >= 1.8
 %else
 BuildRequires:	heimdal-devel >= 1.0
 %endif
+%endif
 # lucid context fields mismatch with current version of spkm3.h
 BuildConflicts:	gss_mech_spkm3-devel
 Requires(post):	fileutils
@@ -265,12 +268,12 @@ Statyczna biblioteka libnfsidmap.
 	%{__enable_disable static_libs static} \
 	--enable-nfsv4 \
 	--enable-nfsv41 \
-	--enable-gss \
+	%{!?with_kerberos5:--disable-gss} \
 	--enable-libmount-mount \
 	--enable-mount \
 	--enable-mountconfig \
 	--enable-nfsdcltrack \
-	--enable-svcgss \
+	%{?with_kerberos5:--enable-svcgss} \
 %if %{with tirpc}
 	--enable-ipv6 \
 	--enable-tirpc \
@@ -283,7 +286,6 @@ Statyczna biblioteka libnfsidmap.
 	--with-statduser=rpcstatd \
 	--with-start-statd=/sbin/start-statd \
 	--without-gssglue \
-	--with-krb5 \
 	--with-systemd=%{systemdunitdir} \
 	--with-tcp-wrappers
 
@@ -324,7 +326,7 @@ EOF
 
 %{__sed} -i -e 's|%{_sbindir}nfsidmap|/sbin/nfsidmap|g' $RPM_BUILD_ROOT%{_mandir}/man8/nfsidmap.8
 
-for f in rpcdebug blkmapd nfsidmap rpc.gssd rpc.idmapd rpc.statd ; do
+for f in rpcdebug blkmapd nfsidmap %{?with_kerberos5:rpc.gssd} rpc.idmapd rpc.statd ; do
 	%{__mv} $RPM_BUILD_ROOT%{_sbindir}/$f $RPM_BUILD_ROOT/sbin
 done
 
@@ -332,8 +334,10 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
+%if %{with kerberos5}
 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
+%endif
 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/blkmapd
 install %{SOURCE14} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsdcld
 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
@@ -349,16 +353,18 @@ cp -p %{SOURCE102} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd.service
 # TODO: upstream installs nfs-blkmap.service
 cp -p %{SOURCE103} $RPM_BUILD_ROOT%{systemdunitdir}/blkmapd.service
 cp -p %{SOURCE104} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd-exportfs.service
-# TODO: upstream installs rpc-gssd.service
-cp -p %{SOURCE105} $RPM_BUILD_ROOT%{systemdunitdir}/gssd.service
 # TODO: upstream installs nfs-idmapd.service
 cp -p %{SOURCE106} $RPM_BUILD_ROOT%{systemdunitdir}/idmapd.service
 # TODO: upstream installs rpc-statd.service + rpc-statd-notify.service
 cp -p %{SOURCE107} $RPM_BUILD_ROOT%{systemdunitdir}/nfslock.service
 # TODO: upstream installs nfs-mountd.service
 cp -p %{SOURCE108} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd-mountd.service
+%if %{with kerberos5}
+# TODO: upstream installs rpc-gssd.service
+cp -p %{SOURCE105} $RPM_BUILD_ROOT%{systemdunitdir}/gssd.service
 # TODO: upstream installs auth-rpcgss-module.service / rpc-svcgssd.service
 cp -p %{SOURCE109} $RPM_BUILD_ROOT%{systemdunitdir}/svcgssd.service
+%endif
 # TODO: upstream installs also nfs-utils.service and nfs-client.target meta-services
 cp -p %{SOURCE110} $RPM_BUILD_ROOT%{_datadir}/nfs-utils/nfsd.postconfig
 cp -p %{SOURCE111} $RPM_BUILD_ROOT%{_datadir}/nfs-utils/nfsd.preconfig
@@ -371,14 +377,17 @@ ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/nfsfs.service
 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
 
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify,svcgssd,gssd,idmapd}.8
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify,idmapd}.8
 echo ".so mountd.8"  > 	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
 echo ".so nfsd.8"    >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
 echo ".so statd.8"   >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
-echo ".so gssd.8"    >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
 echo ".so idmapd.8"  >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
+%if %{with kerberos5}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd}.8
+echo ".so gssd.8"    >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
 echo ".so svcgssd.8" >	$RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
+%endif
 
 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
 
@@ -397,20 +406,24 @@ rm -rf $RPM_BUILD_ROOT
 %service nfsdcld restart "NFSDCLD Client Tracking Daemon"
 /sbin/chkconfig --add nfs
 %service nfs restart "NFS daemon"
+%if %{with kerberos5}
 /sbin/chkconfig --add svcgssd
 %service svcgssd restart "RPC svcgssd"
-%systemd_post nfsd.service nfsd-exportfs.service nfsd-mountd.service svcgssd.service
+%endif
+%systemd_post nfsd.service nfsd-exportfs.service nfsd-mountd.service %{?with_kerberos5:svcgssd.service}
 
 %preun
 if [ "$1" = "0" ]; then
 	%service nfs stop
 	/sbin/chkconfig --del nfs
+%if %{with kerberos5}
 	%service svcgssd stop
 	/sbin/chkconfig --del svcgssd
+%endif
 	%service nfsdcld stop
 	/sbin/chkconfig --del nfsdcld
 fi
-%systemd_preun nfsd.service nfsd-exportfs.service nfsd-mountd.service svcgssd.service nfsdcld.service
+%systemd_preun nfsd.service nfsd-exportfs.service nfsd-mountd.service %{?with_kerberos5:svcgssd.service} nfsdcld.service
 
 %postun
 %systemd_reload
@@ -418,22 +431,26 @@ fi
 %post clients
 /sbin/chkconfig --add nfsfs
 %service nfsfs restart
+%if %{with kerberos5}
 /sbin/chkconfig --add gssd
 %service gssd restart "RPC gssd"
+%endif
 /sbin/chkconfig --add blkmapd
 %service blkmapd restart "pNFS blkmapd"
-%systemd_post blkmapd.service gssd.service
+%systemd_post blkmapd.service %{?with_kerberos5:gssd.service}
 
 %preun clients
 if [ "$1" = "0" ]; then
 	%service nfsfs stop
 	/sbin/chkconfig --del nfsfs
+%if %{with kerberos5}
 	%service gssd stop
 	/sbin/chkconfig --del gssd
+%endif
 	%service blkmapd stop
 	/sbin/chkconfig --del blkmapd
 fi
-%systemd_preun blkmapd.service gssd.service
+%systemd_preun blkmapd.service %{?with_kerberos5:gssd.service}
 
 %postun clients
 %systemd_reload
@@ -482,12 +499,12 @@ if [ -f /etc/sysconfig/nfsd ]; then
 		echo "RPCMOUNTDOPTIONS=\"$RPCMOUNTOPTIONS $__RPCMOUNTDOPTIONS\"" >>/etc/sysconfig/nfsd
 	fi
 fi
-%systemd_trigger nfsd.service nfsd-exportfs.service nfsd-mountd.service svcgssd.service
+%systemd_trigger nfsd.service nfsd-exportfs.service nfsd-mountd.service %{?with_kerberos5:svcgssd.service}
 
-%triggerpostun clients -- %{name}-clients < 1.2.5-7
-%systemd_trigger blkmapd.service gssd.service
+%triggerpostun clients -- nfs-utils-clients < 1.2.5-7
+%systemd_trigger blkmapd.service %{?with_kerberos5:gssd.service}
 
-%triggerpostun common -- %{name}-lock < 1.2.5-3
+%triggerpostun common -- nfs-utils-lock < 1.2.5-3
 if [ -f /etc/sysconfig/nfslock.rpmsave ]; then
 	mv -f /etc/sysconfig/nfslock{,.rpmnew}
 	mv -f /etc/sysconfig/nfslock.rpmsave /etc/sysconfig/nfslock
@@ -522,12 +539,10 @@ fi
 %attr(755,root,root) %{_sbindir}/nfsref
 %attr(755,root,root) %{_sbindir}/rpc.mountd
 %attr(755,root,root) %{_sbindir}/rpc.nfsd
-%attr(755,root,root) %{_sbindir}/rpc.svcgssd
 %attr(755,root,root) %{_sbindir}/nfsstat
 
 %attr(754,root,root) /etc/rc.d/init.d/nfs
 %attr(754,root,root) /etc/rc.d/init.d/nfsdcld
-%attr(754,root,root) /etc/rc.d/init.d/svcgssd
 
 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
 %dir %{_sysconfdir}/exports.d
@@ -553,9 +568,7 @@ fi
 %{_mandir}/man8/nfsstat.8*
 %{_mandir}/man8/rpc.mountd.8*
 %{_mandir}/man8/rpc.nfsd.8*
-%{_mandir}/man8/rpc.svcgssd.8*
 %{_mandir}/man8/rpcdebug.8*
-%{_mandir}/man8/svcgssd.8*
 
 %{systemdunitdir}/fsidd.service
 %{systemdunitdir}/nfs.service
@@ -563,15 +576,21 @@ fi
 %{systemdunitdir}/nfsd-exportfs.service
 %{systemdunitdir}/nfsd-mountd.service
 %{systemdunitdir}/nfsdcld.service
-%{systemdunitdir}/svcgssd.service
 %{systemdunitdir}/proc-fs-nfsd.mount
 %attr(755,root,root) %{_datadir}/nfs-utils/nfsd.postconfig
 %attr(755,root,root) %{_datadir}/nfs-utils/nfsd.preconfig
 
+%if %{with kerberos5}
+%attr(755,root,root) %{_sbindir}/rpc.svcgssd
+%attr(754,root,root) /etc/rc.d/init.d/svcgssd
+%{_mandir}/man8/rpc.svcgssd.8*
+%{_mandir}/man8/svcgssd.8*
+%{systemdunitdir}/svcgssd.service
+%endif
+
 %files clients
 %defattr(644,root,root,755)
 %attr(754,root,root) /etc/rc.d/init.d/blkmapd
-%attr(754,root,root) /etc/rc.d/init.d/gssd
 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) /etc/nfsmount.conf
@@ -580,7 +599,6 @@ fi
 %attr(4755,root,root) /sbin/mount.nfs4
 %attr(4755,root,root) /sbin/umount.nfs4
 %attr(755,root,root) /sbin/blkmapd
-%attr(755,root,root) /sbin/rpc.gssd
 %attr(755,root,root) %{_sbindir}/mountstats
 %attr(755,root,root) %{_sbindir}/nfsiostat
 %attr(755,root,root) %{_sbindir}/showmount
@@ -590,17 +608,22 @@ fi
 %{_mandir}/man5/nfsmount.conf.5*
 %{_mandir}/man5/nfsrahead.5*
 %{_mandir}/man8/blkmapd.8*
-%{_mandir}/man8/gssd.8*
 %{_mandir}/man8/mount.nfs.8*
 %{_mandir}/man8/mountstats.8*
 %{_mandir}/man8/nfsiostat.8*
-%{_mandir}/man8/rpc.gssd.8*
 %{_mandir}/man8/showmount.8*
 %{_mandir}/man8/umount.nfs.8*
 
 %{systemdunitdir}/nfsfs.service
 %{systemdunitdir}/blkmapd.service
+
+%if %{with kerberos5}
+%attr(755,root,root) /sbin/rpc.gssd
+%attr(754,root,root) /etc/rc.d/init.d/gssd
 %{systemdunitdir}/gssd.service
+%{_mandir}/man8/gssd.8*
+%{_mandir}/man8/rpc.gssd.8*
+%endif
 
 %files common
 %defattr(644,root,root,755)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/nfs-utils.git/commitdiff/5cbe35c13ce411297bf99b7069b8c5c643e89ff8



More information about the pld-cvs-commit mailing list