From: Harald Hoyer Date: Fri, 31 Jul 2009 10:37:50 +0000 (+0200) Subject: nfs: only install libnss_*.so which are used by nsswitch.conf X-Git-Tag: 0.8~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=67a38adacfd07efd9128d70730f8c9bb901eb8aa;p=thirdparty%2Fdracut.git nfs: only install libnss_*.so which are used by nsswitch.conf --- diff --git a/modules.d/95nfs/install b/modules.d/95nfs/install index 7f96cc75c..256a1f8e9 100755 --- a/modules.d/95nfs/install +++ b/modules.d/95nfs/install @@ -14,7 +14,17 @@ else fi dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.so* 2>/dev/null ) -dracut_install $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null) + +nsslibs=$(for j in $(for i in \ + $(egrep -v '^#.*' /etc/nsswitch.conf|cut -f2 -d :\ + |fgrep -v NOTFOUND); do \ + echo "libnss_${i}.so";\ + done|sort -u); do \ + echo -n "|$j";\ + done) +nsslibs=${nsslibs##|} + +dracut_install $(for i in $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null); do echo $i;done | egrep "$nsslibs") inst_hook cmdline 90 "$moddir/parse-nfsroot.sh" inst_hook pre-pivot 70 "$moddir/nfsroot-cleanup.sh"