Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 540040

Summary: net-fs/nfs-utils[-nfsv4]: nfsclient init.d still needs rpc.idmapd
Product: Gentoo Linux Reporter: Bruno <bonbons>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: CONFIRMED ---    
Severity: normal CC: achurch+gentoo, arfrever.fta, bkohler, bugzie, creideiki+gentoo-bugzilla
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bruno 2015-02-14 10:02:55 UTC
nfs-utils when installed as follows causes nfsclient init script (under openrc) to fail because of missing dependency:
 * Caching service dependencies ...
Service `nfsclient' needs non existent service `rpc.idmapd'         [ ok ]
 * ERROR: nfsclient needs service(s) rpc.idmapd


net-fs/nfs-utils-1.3.1-r5  USE="caps ipv6 libmount uuid -kerberos -nfsdcld -nfsidmap -nfsv4 -nfsv41 (-selinux) -tcpd" 0 KiB

In openrc init script nfsclient:
depend() {
        local opts myneed=""
        if [ -e /etc/fstab ] ; then
                for opts in $(fstabinfo -o -t nfs,nfs4) ; do
                        case $opts in
                                *sec=krb*|*sec=spkm*) myneed="$myneed rpc.gssd" ;;
                        esac
                done
        fi
        config /etc/fstab
        need portmap rpc.statd rpc.idmapd ${myneed}
        use ypbind dns
}

The need line should either get adjusted by ebuild on install of rpc.idmapd should only be added at runtime when the feature is available.

possibly adding
use nfsidmap || sed -i 's/ rcp.idmapd / /' nfsclient
to the ebuild after copying init script from $FILESDIR to $S and prior to newinitd them should get this fixed.

Reproducible: Always
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-14 10:32:37 UTC
It looks like this may have been fixed already in -r6.
Comment 2 Bruno 2015-02-14 10:46:40 UTC
(In reply to Jeroen Roovers from comment #1)
> It looks like this may have been fixed already in -r6.

Did you mean 1.3.2-r6 (there is no 1.3.1-r6)?

From looking at the 1.3.2-r6 ebuild it seems it has no been fixed (unless it was fixed a short time ago).

Yes, /etc/init.d/rpc.idmapd is only installed when USE=nfsidmap but /etc/init.d/nfsclient file is not adjusted accordingly (only installing proper set of init.d files seems to have been folded in 1.3.1-r5 sometime during stablilisation).
${FILESDIR}/nfsclient.init.d is being installed to /etc/init.d/nfsclient without modification and that file includes the need line I quoted in comment #1
Comment 3 Ben Kohler gentoo-dev 2015-02-22 00:33:14 UTC
I believe this is triggered when you have USE="-nfsv4" actually.  And it's not fixed in 1.3.2-r6.
Comment 4 tdr 2020-11-02 06:29:19 UTC
This still happens with nfsclient on nfs-utils-2.5.2
Also still lists ypbind as a "use"


$ qlist -ICvU nfs-utils
net-fs/nfs-utils-2.5.2 caps -ipv6 -junction -kerberos -ldap libmount -nfsdcld -nfsidmap -nfsv4 -nfsv41 -selinux -tcpd uuid


depend() {
	local opts myneed=""
	if [ -e /etc/fstab ] ; then
		for opts in $(fstabinfo -o -t nfs,nfs4) ; do
			case $opts in
				*sec=krb*|*sec=spkm*) myneed="$myneed rpc.gssd" ;;
			esac
		done
	fi
	config /etc/fstab
	need portmap rpc.statd rpc.idmapd ${myneed}
	use ypbind dns
}
Comment 5 tdr 2020-11-02 06:51:43 UTC
(In reply to Ted Rodgers from comment #4)
the dependancy is toggle-able via conf.d/nfsclient but defaults to enabling it even if -nfsidmap is set and all nfs4 support is disabled