harald / rpms / dracut

Forked from rpms/dracut 5 years ago
Clone
Blob Blame History Raw
From 1d2c9b3fbe475b8a23682694b6cb7496cecd67d9 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 15 Apr 2010 16:26:06 +0200
Subject: [PATCH 017/133] nfs: fixed nsswitch.conf parsing

based on a patch of Ian Dall.
https://bugzilla.redhat.com/show_bug.cgi?id=578060
---
 modules.d/95nfs/install |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/modules.d/95nfs/install b/modules.d/95nfs/install
index 43976f9..e0465bb 100755
--- a/modules.d/95nfs/install
+++ b/modules.d/95nfs/install
@@ -18,14 +18,10 @@ fi
 dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap_nsswitch.so* 2>/dev/null )
 #dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.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##|}
+nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+              |  tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+nsslibs=${nsslibs#|}
+nsslibs=${nsslibs%|}
 
 dracut_install $(for i in $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null); do echo $i;done | egrep "$nsslibs")
 
-- 
1.7.3