]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix: shellcheck for modules.d/00systemd/module-setup.sh
authorHarald Hoyer <harald@redhat.com>
Fri, 12 Feb 2021 12:26:10 +0000 (13:26 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Mon, 15 Feb 2021 10:00:37 +0000 (11:00 +0100)
modules.d/00systemd/module-setup.sh

index 8e6e41d6bd3d8012a2b5c3cb6ec1ecac3816fb36..16f7f7286814557ce8ee5fc30f29249cac8b86e0 100755 (executable)
@@ -1,22 +1,22 @@
 #!/bin/bash
 
 getSystemdVersion() {
-    [ -z "$SYSTEMD_VERSION" ] && SYSTEMD_VERSION=$($systemdutildir/systemd --version | { read a b a; echo $b; })
+    [ -z "$SYSTEMD_VERSION" ] && SYSTEMD_VERSION=$("$systemdutildir"/systemd --version | { read -r _ b _; echo "$b"; })
     # Check if the systemd version is a valid number
     if ! [[ $SYSTEMD_VERSION =~ ^[0-9]+$ ]]; then
         dfatal "systemd version is not a number ($SYSTEMD_VERSION)"
         exit 1
     fi
 
-    echo $SYSTEMD_VERSION
+    echo "$SYSTEMD_VERSION"
 }
 
 # called by dracut
 check() {
     [[ $mount_needs ]] && return 1
-    if require_binaries $systemdutildir/systemd; then
+    if require_binaries "$systemdutildir"/systemd; then
         SYSTEMD_VERSION=$(getSystemdVersion)
-        (( $SYSTEMD_VERSION >= 198 )) && return 0
+        (( SYSTEMD_VERSION >= 198 )) && return 0
        return 255
     fi
 
@@ -42,113 +42,113 @@ install() {
         exit 1
     fi
 
-    if [ $(getSystemdVersion) -ge 240 ]; then
+    if [[ $(getSystemdVersion) -ge 240 ]]; then
     inst_multiple -o \
-        $systemdutildir/system-generators/systemd-debug-generator \
-        $systemdsystemunitdir/debug-shell.service
+        "$systemdutildir"/system-generators/systemd-debug-generator \
+        "$systemdsystemunitdir"/debug-shell.service
     fi
 
     inst_multiple -o \
-        $systemdutildir/systemd \
-        $systemdutildir/systemd-coredump \
-        $systemdutildir/systemd-cgroups-agent \
-        $systemdutildir/systemd-shutdown \
-        $systemdutildir/systemd-reply-password \
-        $systemdutildir/systemd-fsck \
-        $systemdutildir/systemd-udevd \
-        $systemdutildir/systemd-journald \
-        $systemdutildir/systemd-sysctl \
-        $systemdutildir/systemd-modules-load \
-        $systemdutildir/systemd-vconsole-setup \
-        $systemdutildir/systemd-volatile-root \
-        $systemdutildir/system-generators/systemd-fstab-generator \
-        $systemdutildir/system-generators/systemd-gpt-auto-generator \
+        "$systemdutildir"/systemd \
+        "$systemdutildir"/systemd-coredump \
+        "$systemdutildir"/systemd-cgroups-agent \
+        "$systemdutildir"/systemd-shutdown \
+        "$systemdutildir"/systemd-reply-password \
+        "$systemdutildir"/systemd-fsck \
+        "$systemdutildir"/systemd-udevd \
+        "$systemdutildir"/systemd-journald \
+        "$systemdutildir"/systemd-sysctl \
+        "$systemdutildir"/systemd-modules-load \
+        "$systemdutildir"/systemd-vconsole-setup \
+        "$systemdutildir"/systemd-volatile-root \
+        "$systemdutildir"/system-generators/systemd-fstab-generator \
+        "$systemdutildir"/system-generators/systemd-gpt-auto-generator \
         \
-        $systemdsystemunitdir/cryptsetup.target \
-        $systemdsystemunitdir/cryptsetup-pre.target \
-        $systemdsystemunitdir/remote-cryptsetup.target \
-        $systemdsystemunitdir/emergency.target \
-        $systemdsystemunitdir/sysinit.target \
-        $systemdsystemunitdir/basic.target \
-        $systemdsystemunitdir/halt.target \
-        $systemdsystemunitdir/kexec.target \
-        $systemdsystemunitdir/local-fs.target \
-        $systemdsystemunitdir/local-fs-pre.target \
-        $systemdsystemunitdir/remote-fs.target \
-        $systemdsystemunitdir/remote-fs-pre.target \
-        $systemdsystemunitdir/multi-user.target \
-        $systemdsystemunitdir/network.target \
-        $systemdsystemunitdir/network-pre.target \
-        $systemdsystemunitdir/network-online.target \
-        $systemdsystemunitdir/nss-lookup.target \
-        $systemdsystemunitdir/nss-user-lookup.target \
-        $systemdsystemunitdir/poweroff.target \
-        $systemdsystemunitdir/reboot.target \
-        $systemdsystemunitdir/rescue.target \
-        $systemdsystemunitdir/rpcbind.target \
-        $systemdsystemunitdir/shutdown.target \
-        $systemdsystemunitdir/final.target \
-        $systemdsystemunitdir/sigpwr.target \
-        $systemdsystemunitdir/sockets.target \
-        $systemdsystemunitdir/swap.target \
-        $systemdsystemunitdir/timers.target \
-        $systemdsystemunitdir/paths.target \
-        $systemdsystemunitdir/umount.target \
+        "$systemdsystemunitdir"/cryptsetup.target \
+        "$systemdsystemunitdir"/cryptsetup-pre.target \
+        "$systemdsystemunitdir"/remote-cryptsetup.target \
+        "$systemdsystemunitdir"/emergency.target \
+        "$systemdsystemunitdir"/sysinit.target \
+        "$systemdsystemunitdir"/basic.target \
+        "$systemdsystemunitdir"/halt.target \
+        "$systemdsystemunitdir"/kexec.target \
+        "$systemdsystemunitdir"/local-fs.target \
+        "$systemdsystemunitdir"/local-fs-pre.target \
+        "$systemdsystemunitdir"/remote-fs.target \
+        "$systemdsystemunitdir"/remote-fs-pre.target \
+        "$systemdsystemunitdir"/multi-user.target \
+        "$systemdsystemunitdir"/network.target \
+        "$systemdsystemunitdir"/network-pre.target \
+        "$systemdsystemunitdir"/network-online.target \
+        "$systemdsystemunitdir"/nss-lookup.target \
+        "$systemdsystemunitdir"/nss-user-lookup.target \
+        "$systemdsystemunitdir"/poweroff.target \
+        "$systemdsystemunitdir"/reboot.target \
+        "$systemdsystemunitdir"/rescue.target \
+        "$systemdsystemunitdir"/rpcbind.target \
+        "$systemdsystemunitdir"/shutdown.target \
+        "$systemdsystemunitdir"/final.target \
+        "$systemdsystemunitdir"/sigpwr.target \
+        "$systemdsystemunitdir"/sockets.target \
+        "$systemdsystemunitdir"/swap.target \
+        "$systemdsystemunitdir"/timers.target \
+        "$systemdsystemunitdir"/paths.target \
+        "$systemdsystemunitdir"/umount.target \
         \
-        $systemdsystemunitdir/sys-kernel-config.mount \
+        "$systemdsystemunitdir"/sys-kernel-config.mount \
         \
-        $systemdsystemunitdir/kmod-static-nodes.service \
-        $systemdsystemunitdir/systemd-tmpfiles-setup.service \
-        $systemdsystemunitdir/systemd-tmpfiles-setup-dev.service \
-        $systemdsystemunitdir/systemd-ask-password-console.path \
-        $systemdsystemunitdir/systemd-udevd-control.socket \
-        $systemdsystemunitdir/systemd-udevd-kernel.socket \
-        $systemdsystemunitdir/systemd-ask-password-plymouth.path \
-        $systemdsystemunitdir/systemd-journald.socket \
-        $systemdsystemunitdir/systemd-journald-audit.socket \
-        $systemdsystemunitdir/systemd-ask-password-console.service \
-        $systemdsystemunitdir/systemd-modules-load.service \
-        $systemdsystemunitdir/systemd-halt.service \
-        $systemdsystemunitdir/systemd-poweroff.service \
-        $systemdsystemunitdir/systemd-reboot.service \
-        $systemdsystemunitdir/systemd-kexec.service \
-        $systemdsystemunitdir/systemd-fsck@.service \
-        $systemdsystemunitdir/systemd-udevd.service \
-        $systemdsystemunitdir/systemd-udev-trigger.service \
-        $systemdsystemunitdir/systemd-udev-settle.service \
-        $systemdsystemunitdir/systemd-ask-password-plymouth.service \
-        $systemdsystemunitdir/systemd-journald.service \
-        $systemdsystemunitdir/systemd-vconsole-setup.service \
-        $systemdsystemunitdir/systemd-volatile-root.service \
-        $systemdsystemunitdir/systemd-random-seed-load.service \
-        $systemdsystemunitdir/systemd-random-seed.service \
-        $systemdsystemunitdir/systemd-sysctl.service \
+        "$systemdsystemunitdir"/kmod-static-nodes.service \
+        "$systemdsystemunitdir"/systemd-tmpfiles-setup.service \
+        "$systemdsystemunitdir"/systemd-tmpfiles-setup-dev.service \
+        "$systemdsystemunitdir"/systemd-ask-password-console.path \
+        "$systemdsystemunitdir"/systemd-udevd-control.socket \
+        "$systemdsystemunitdir"/systemd-udevd-kernel.socket \
+        "$systemdsystemunitdir"/systemd-ask-password-plymouth.path \
+        "$systemdsystemunitdir"/systemd-journald.socket \
+        "$systemdsystemunitdir"/systemd-journald-audit.socket \
+        "$systemdsystemunitdir"/systemd-ask-password-console.service \
+        "$systemdsystemunitdir"/systemd-modules-load.service \
+        "$systemdsystemunitdir"/systemd-halt.service \
+        "$systemdsystemunitdir"/systemd-poweroff.service \
+        "$systemdsystemunitdir"/systemd-reboot.service \
+        "$systemdsystemunitdir"/systemd-kexec.service \
+        "$systemdsystemunitdir"/systemd-fsck@.service \
+        "$systemdsystemunitdir"/systemd-udevd.service \
+        "$systemdsystemunitdir"/systemd-udev-trigger.service \
+        "$systemdsystemunitdir"/systemd-udev-settle.service \
+        "$systemdsystemunitdir"/systemd-ask-password-plymouth.service \
+        "$systemdsystemunitdir"/systemd-journald.service \
+        "$systemdsystemunitdir"/systemd-vconsole-setup.service \
+        "$systemdsystemunitdir"/systemd-volatile-root.service \
+        "$systemdsystemunitdir"/systemd-random-seed-load.service \
+        "$systemdsystemunitdir"/systemd-random-seed.service \
+        "$systemdsystemunitdir"/systemd-sysctl.service \
         \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-modules-load.service \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-ask-password-console.path \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-journald.service \
-        $systemdsystemunitdir/sockets.target.wants/systemd-udevd-control.socket \
-        $systemdsystemunitdir/sockets.target.wants/systemd-udevd-kernel.socket \
-        $systemdsystemunitdir/sockets.target.wants/systemd-journald.socket \
-        $systemdsystemunitdir/sockets.target.wants/systemd-journald-audit.socket \
-        $systemdsystemunitdir/sockets.target.wants/systemd-journald-dev-log.socket \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-udevd.service \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-udev-trigger.service \
-        $systemdsystemunitdir/sysinit.target.wants/kmod-static-nodes.service \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-tmpfiles-setup.service \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-tmpfiles-setup-dev.service \
-        $systemdsystemunitdir/sysinit.target.wants/systemd-sysctl.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-modules-load.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-ask-password-console.path \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-journald.service \
+        "$systemdsystemunitdir"/sockets.target.wants/systemd-udevd-control.socket \
+        "$systemdsystemunitdir"/sockets.target.wants/systemd-udevd-kernel.socket \
+        "$systemdsystemunitdir"/sockets.target.wants/systemd-journald.socket \
+        "$systemdsystemunitdir"/sockets.target.wants/systemd-journald-audit.socket \
+        "$systemdsystemunitdir"/sockets.target.wants/systemd-journald-dev-log.socket \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-udevd.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-udev-trigger.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/kmod-static-nodes.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-tmpfiles-setup.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-tmpfiles-setup-dev.service \
+        "$systemdsystemunitdir"/sysinit.target.wants/systemd-sysctl.service \
         \
-        $systemdsystemunitdir/ctrl-alt-del.target \
-        $systemdsystemunitdir/reboot.target \
-        $systemdsystemunitdir/systemd-reboot.service \
-        $systemdsystemunitdir/syslog.socket \
+        "$systemdsystemunitdir"/ctrl-alt-del.target \
+        "$systemdsystemunitdir"/reboot.target \
+        "$systemdsystemunitdir"/systemd-reboot.service \
+        "$systemdsystemunitdir"/syslog.socket \
         \
-        $systemdsystemunitdir/slices.target \
-        $systemdsystemunitdir/system.slice \
-        $systemdsystemunitdir/-.slice \
+        "$systemdsystemunitdir"/slices.target \
+        "$systemdsystemunitdir"/system.slice \
+        "$systemdsystemunitdir"/-.slice \
         \
-        $tmpfilesdir/systemd.conf \
+        "$tmpfilesdir"/systemd.conf \
         \
         journalctl systemctl \
         echo swapoff \
@@ -168,21 +168,21 @@ install() {
         local _line i
         for i in "$dracutsysrootdir$1"/*.conf; do
             [[ -f $i ]] || continue
-            while read _line || [ -n "$_line" ]; do
+            while read -r _line || [ -n "$_line" ]; do
                 case $_line in
                     \#*)
                         ;;
                     \;*)
                         ;;
                     *)
-                        echo $_line
+                        echo "$_line"
                 esac
             done < "$i"
         done
     }
 
-    _mods=$(modules_load_get /usr/lib/modules-load.d)
-    [[ $_mods ]] && hostonly='' instmods $_mods
+    mapfile -t _mods <<< $(modules_load_get /usr/lib/modules-load.d)
+    [[ ${#_mods[@]} -gt 0 ]] && hostonly='' instmods "${_mods[@]}"
 
     if [[ $hostonly ]]; then
         inst_multiple -H -o \
@@ -201,34 +201,34 @@ install() {
             /etc/udev/udev.conf \
             ${NULL}
 
-        _mods=$(modules_load_get /etc/modules-load.d)
-        [[ $_mods ]] && hostonly='' instmods $_mods
+        mapfile -t _mods <<< $(modules_load_get /etc/modules-load.d)
+        [[ ${#_mods[@]} -gt 0 ]] && hostonly='' instmods "${_mods[@]}"
     fi
 
     if ! [[ -e "$initdir/etc/machine-id" ]]; then
-        > "$initdir/etc/machine-id"
+        > "$initdir/etc/machine-id"
     fi
 
     # install adm user/group for journald
     inst_multiple nologin
-    grep '^systemd-journal:' $dracutsysrootdir/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
-    grep '^adm:' $dracutsysrootdir/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
-    grep '^systemd-journal:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
-    grep '^wheel:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
-    grep '^adm:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
-    grep '^utmp:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
-    grep '^root:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
+    grep '^systemd-journal:' "$dracutsysrootdir"/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
+    grep '^adm:' "$dracutsysrootdir"/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
+    grep '^systemd-journal:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
+    grep '^wheel:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
+    grep '^adm:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
+    grep '^utmp:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
+    grep '^root:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
 
     # we don't use systemd-networkd, but the user is in systemd.conf tmpfiles snippet
-    grep '^systemd-network:' $dracutsysrootdir/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
-    grep '^systemd-network:' $dracutsysrootdir/etc/group >> "$initdir/etc/group"
+    grep '^systemd-network:' "$dracutsysrootdir"/etc/passwd 2>/dev/null >> "$initdir/etc/passwd"
+    grep '^systemd-network:' "$dracutsysrootdir"/etc/group >> "$initdir/etc/group"
 
-    ln_r $systemdutildir/systemd "/init"
-    ln_r $systemdutildir/systemd "/sbin/init"
+    ln_r "$systemdutildir"/systemd "/init"
+    ln_r "$systemdutildir"/systemd "/sbin/init"
 
     inst_binary true
-    ln_r $(find_binary true) "/usr/bin/loginctl"
-    ln_r $(find_binary true) "/bin/loginctl"
+    ln_r "$(find_binary true)" "/usr/bin/loginctl"
+    ln_r "$(find_binary true)" "/bin/loginctl"
     inst_rules \
         70-uaccess.rules \
         71-seat.rules \
@@ -243,7 +243,7 @@ install() {
         systemd-ask-password-console.service \
         systemd-ask-password-plymouth.service \
         ; do
-        [[ -f $systemdsystemunitdir/$i ]] || continue
+        [[ -f "$systemdsystemunitdir"/$i ]] || continue
         $SYSTEMCTL -q --root "$initdir" add-wants "$i" systemd-vconsole-setup.service
     done