]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(network-manager): cope with distributions not using `libexec`
authorHarald Hoyer <harald@redhat.com>
Wed, 12 May 2021 13:10:30 +0000 (15:10 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Fri, 14 May 2021 06:35:22 +0000 (08:35 +0200)
modules.d/35network-manager/module-setup.sh
modules.d/35network-manager/nm-lib.sh

index 92da876abb372b05e21ffc5becaed73d0d6df297..0b7d21aea70919994bf563afab275f207e56fa75 100755 (executable)
@@ -30,7 +30,7 @@ install() {
     inst_multiple ip sed grep
 
     inst NetworkManager
-    inst /usr/libexec/nm-initrd-generator
+    inst_multiple -o /usr/{lib,libexec}/nm-initrd-generator
     inst_multiple -o teamd dhclient
     inst_hook cmdline 99 "$moddir/nm-config.sh"
     if dracut_module_included "systemd"; then
@@ -59,7 +59,7 @@ install() {
     inst_simple "$moddir/nm-lib.sh" "/lib/nm-lib.sh"
 
     if [[ -x "$initdir/usr/sbin/dhclient" ]]; then
-        inst /usr/libexec/nm-dhcp-helper
+        inst_multiple -o /usr/{lib,libexec}/nm-dhcp-helper
     elif ! [[ -e "$initdir/etc/machine-id" ]]; then
         # The internal DHCP client silently fails if we
         # have no machine-id
index 47693ec5c1efa1eef9e420f01ecbdb704a47e135..2d27e079579597a121809c78102920b37fbd9c66 100644 (file)
@@ -4,8 +4,15 @@ type getcmdline > /dev/null 2>&1 || . /lib/dracut-lib.sh
 
 nm_generate_connections() {
     rm -f /run/NetworkManager/system-connections/*
-    # shellcheck disable=SC2046
-    /usr/libexec/nm-initrd-generator -- $(getcmdline)
+    if [ -x /usr/libexec/nm-initrd-generator ]; then
+        # shellcheck disable=SC2046
+        /usr/libexec/nm-initrd-generator -- $(getcmdline)
+    elif [ -x /usr/lib/nm-initrd-generator ]; then
+        # shellcheck disable=SC2046
+        /usr/lib/nm-initrd-generator -- $(getcmdline)
+    else
+        derror "nm-initrd-generator not found"
+    fi
 
     if getargbool 0 rd.neednet; then
         for i in /usr/lib/NetworkManager/system-connections/* \