]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
nfs: only install libnss_*.so which are used by nsswitch.conf
authorHarald Hoyer <harald@redhat.com>
Fri, 31 Jul 2009 10:37:50 +0000 (12:37 +0200)
committerHarald Hoyer <harald@redhat.com>
Fri, 31 Jul 2009 10:40:53 +0000 (12:40 +0200)
modules.d/95nfs/install

index 7f96cc75c7ab466fe2a3bbdd35446c477d940bd4..256a1f8e9ac8d050812c4db3a13a6f75ce12f657 100755 (executable)
@@ -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"