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
It looks like this may have been fixed already in -r6.
(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
I believe this is triggered when you have USE="-nfsv4" actually. And it's not fixed in 1.3.2-r6.
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 }
(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