]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix: cope with distributions with `/usr/etc` files
authorHarald Hoyer <harald@redhat.com>
Wed, 12 May 2021 13:11:55 +0000 (15:11 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Fri, 14 May 2021 06:35:09 +0000 (08:35 +0200)
modules.d/95cifs/module-setup.sh
modules.d/95nfs/module-setup.sh
modules.d/95ssh-client/module-setup.sh

index 4d0f8c57e0dd414982c407120f1f402343b64fd7..6abc4752e69a2af81a9ddf30f716def92ff6851b 100755 (executable)
@@ -36,12 +36,16 @@ installkernel() {
 install() {
     local _nsslibs
     inst_multiple -o mount.cifs
-    inst_multiple /etc/services /etc/nsswitch.conf /etc/protocols
+    inst_multiple -o /etc/services /etc/nsswitch.conf /etc/protocols
+    inst_multiple -o /usr/etc/services /usr/etc/nsswitch.conf /usr/etc/protocols
 
     inst_libdir_file 'libcap-ng.so*'
 
-    _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' "$dracutsysrootdir"/etc/nsswitch.conf \
-        | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+    _nsslibs=$(
+        cat "$dracutsysrootdir"/{,usr/}etc/nsswitch.conf 2> /dev/null \
+            | sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' \
+            | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|'
+    )
     _nsslibs=${_nsslibs#|}
     _nsslibs=${_nsslibs%|}
 
index bc8bee6d2189f66e31e09f63edaf9c66bafab33e..38da59570a9f56d60bb276ab2209a40c40565311 100755 (executable)
@@ -77,7 +77,9 @@ cmdline() {
 install() {
     local _nsslibs
     inst_multiple -o rpc.idmapd mount.nfs mount.nfs4 umount sed /etc/netconfig chmod "$tmpfilesdir/rpcbind.conf"
-    inst_multiple /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols /etc/idmapd.conf
+    inst_multiple -o /etc/idmapd.conf
+    inst_multiple -o /etc/services /etc/nsswitch.conf /etc/rpc /etc/protocols
+    inst_multiple -o /usr/etc/services /usr/etc/nsswitch.conf /usr/etc/rpc /usr/etc/protocols
 
     if [[ $hostonly_cmdline == "yes" ]]; then
         local _netconf
@@ -94,8 +96,11 @@ install() {
 
     inst_libdir_file 'libnfsidmap_nsswitch.so*' 'libnfsidmap/*.so' 'libnfsidmap*.so*'
 
-    _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' "$dracutsysrootdir"/etc/nsswitch.conf \
-        | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+    _nsslibs=$(
+        cat "$dracutsysrootdir"/{,usr/}etc/nsswitch.conf 2> /dev/null \
+            | sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' \
+            | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|'
+    )
     _nsslibs=${_nsslibs#|}
     _nsslibs=${_nsslibs%|}
 
index 2a75446fac758580292c658df9584f5b131ce4c9..75fc94f34f59383232d56c8ce432336d2db0717c 100755 (executable)
@@ -69,8 +69,8 @@ install() {
     inst_sshenv
 
     _nsslibs=$(
-        sed -e 's/#.*//; s/^[^:]*://; s/\[[^]]*\]//' \
-            "$dracutsysrootdir"/etc/nsswitch.conf \
+        cat "$dracutsysrootdir"/{,usr/}etc/nsswitch.conf 2> /dev/null \
+            | sed -e 's/#.*//; s/^[^:]*://; s/\[[^]]*\]//' \
             | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|'
     )
     _nsslibs=${_nsslibs#|}