Blame 0015-Factor-out-all-the-type-V-commands.patch

Harald Hoyer bcb5fa
From 30e6e809ed8d189cc8374df3c28cfbcab5a299b9 Mon Sep 17 00:00:00 2001
Harald Hoyer bcb5fa
From: Harald Hoyer <harald@redhat.com>
Harald Hoyer bcb5fa
Date: Thu, 6 Feb 2014 16:45:20 +0100
Harald Hoyer bcb5fa
Subject: [PATCH] Factor out all the "type -V" commands
Harald Hoyer bcb5fa
Harald Hoyer bcb5fa
Add new functions require_binaries() and require_any_binary() to be used
Harald Hoyer bcb5fa
in the check() section of module-setup.sh.
Harald Hoyer bcb5fa
Harald Hoyer bcb5fa
These functions print a warning line telling the user, which binary is
Harald Hoyer bcb5fa
missing for the specific dracut module.
Harald Hoyer bcb5fa
Harald Hoyer bcb5fa
This unifies the way of checking for binaries and makes the life of an
Harald Hoyer bcb5fa
initramfs creator easier, if he wants to find out why a specific dracut
Harald Hoyer bcb5fa
module is not included in the initramfs.
Harald Hoyer bcb5fa
---
Harald Hoyer bcb5fa
 dracut-functions.sh                           | 57 ++++++++++++++++++++++++---
Harald Hoyer bcb5fa
 modules.d/00bash/module-setup.sh              |  2 +-
Harald Hoyer bcb5fa
 modules.d/00bootchart/module-setup.sh         |  2 +-
Harald Hoyer bcb5fa
 modules.d/00dash/module-setup.sh              |  2 +-
Harald Hoyer bcb5fa
 modules.d/00systemd-bootchart/module-setup.sh |  2 +-
Harald Hoyer bcb5fa
 modules.d/02caps/module-setup.sh              | 14 ++++---
Harald Hoyer bcb5fa
 modules.d/03modsign/module-setup.sh           |  2 +-
Harald Hoyer bcb5fa
 modules.d/05busybox/module-setup.sh           |  2 +-
Harald Hoyer bcb5fa
 modules.d/10i18n/module-setup.sh              |  4 +-
Harald Hoyer bcb5fa
 modules.d/40network/module-setup.sh           |  7 +---
Harald Hoyer bcb5fa
 modules.d/45url-lib/module-setup.sh           |  2 +-
Harald Hoyer bcb5fa
 modules.d/50plymouth/module-setup.sh          |  2 +-
Harald Hoyer bcb5fa
 modules.d/90btrfs/module-setup.sh             |  2 +-
Harald Hoyer bcb5fa
 modules.d/90crypt/module-setup.sh             |  2 +-
Harald Hoyer bcb5fa
 modules.d/90dm/module-setup.sh                |  2 +-
Harald Hoyer bcb5fa
 modules.d/90dmraid/module-setup.sh            |  2 +-
Harald Hoyer bcb5fa
 modules.d/90lvm/module-setup.sh               |  2 +-
Harald Hoyer bcb5fa
 modules.d/90mdraid/module-setup.sh            |  2 +-
Harald Hoyer bcb5fa
 modules.d/90multipath/module-setup.sh         |  2 +-
Harald Hoyer bcb5fa
 modules.d/91crypt-gpg/module-setup.sh         |  2 +-
Harald Hoyer bcb5fa
 modules.d/91crypt-loop/module-setup.sh        | 20 ++++++----
Harald Hoyer bcb5fa
 modules.d/95cifs/module-setup.sh              |  2 +-
Harald Hoyer bcb5fa
 modules.d/95dasd/module-setup.sh              |  2 +-
Harald Hoyer bcb5fa
 modules.d/95dasd_mod/module-setup.sh          |  1 +
Harald Hoyer bcb5fa
 modules.d/95dasd_rules/module-setup.sh        |  2 +-
Harald Hoyer bcb5fa
 modules.d/95fcoe-uefi/module-setup.sh         |  4 +-
Harald Hoyer bcb5fa
 modules.d/95fcoe/module-setup.sh              |  5 +--
Harald Hoyer bcb5fa
 modules.d/95iscsi/module-setup.sh             |  2 +-
Harald Hoyer bcb5fa
 modules.d/95nbd/module-setup.sh               |  2 +-
Harald Hoyer bcb5fa
 modules.d/95nfs/module-setup.sh               |  4 +-
Harald Hoyer bcb5fa
 modules.d/95ssh-client/module-setup.sh        |  6 +--
Harald Hoyer bcb5fa
 modules.d/95udev-rules/module-setup.sh        |  2 +-
Harald Hoyer bcb5fa
 modules.d/95zfcp/module-setup.sh              |  3 +-
Harald Hoyer bcb5fa
 modules.d/95zfcp_rules/module-setup.sh        |  2 +-
Harald Hoyer bcb5fa
 modules.d/95znet/module-setup.sh              |  3 +-
Harald Hoyer bcb5fa
 modules.d/97biosdevname/module-setup.sh       |  2 +-
Harald Hoyer bcb5fa
 modules.d/97masterkey/module-setup.sh         |  2 +-
Harald Hoyer bcb5fa
 modules.d/98systemd/module-setup.sh           |  2 +-
Harald Hoyer bcb5fa
 modules.d/99img-lib/module-setup.sh           |  4 +-
Harald Hoyer bcb5fa
 39 files changed, 113 insertions(+), 71 deletions(-)
Harald Hoyer bcb5fa
Harald Hoyer bcb5fa
diff --git a/dracut-functions.sh b/dracut-functions.sh
Harald Hoyer bcb5fa
index c766ca3..32f264b 100755
Harald Hoyer bcb5fa
--- a/dracut-functions.sh
Harald Hoyer bcb5fa
+++ b/dracut-functions.sh
Harald Hoyer bcb5fa
@@ -35,6 +35,51 @@ fi
Harald Hoyer bcb5fa
 # Generic substring function.  If $2 is in $1, return 0.
Harald Hoyer bcb5fa
 strstr() { [[ $1 = *$2* ]]; }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
+# helper function for check() in module-setup.sh
Harald Hoyer bcb5fa
+# to check for required installed binaries
Harald Hoyer bcb5fa
+# issues a standardized warning message
Harald Hoyer bcb5fa
+require_binaries() {
Harald Hoyer bcb5fa
+    local _module_name="${moddir##*/}"
Harald Hoyer bcb5fa
+    local _ret=0
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    if [[ "$1" = "-m" ]]; then
Harald Hoyer bcb5fa
+        _module_name="$2"
Harald Hoyer bcb5fa
+        shift 2
Harald Hoyer bcb5fa
+    fi
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    for cmd in "$@"; do
Harald Hoyer bcb5fa
+        if ! find_binary "$cmd" &>/dev/null; then
Harald Hoyer bcb5fa
+            dwarning "$_module_name: Could not find command '$cmd'!"
Harald Hoyer bcb5fa
+            ((_ret++))
Harald Hoyer bcb5fa
+        fi
Harald Hoyer bcb5fa
+    done
Harald Hoyer bcb5fa
+    return $_ret
Harald Hoyer bcb5fa
+}
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+require_any_binary() {
Harald Hoyer bcb5fa
+    local _module_name="${moddir##*/}"
Harald Hoyer bcb5fa
+    local _ret=1
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    if [[ "$1" = "-m" ]]; then
Harald Hoyer bcb5fa
+        _module_name="$2"
Harald Hoyer bcb5fa
+        shift 2
Harald Hoyer bcb5fa
+    fi
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    for cmd in "$@"; do
Harald Hoyer bcb5fa
+        if find_binary "$cmd" &>/dev/null; then
Harald Hoyer bcb5fa
+            _ret=0
Harald Hoyer bcb5fa
+            break
Harald Hoyer bcb5fa
+        fi
Harald Hoyer bcb5fa
+    done
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    if (( $_ret != 0 )); then
Harald Hoyer bcb5fa
+        dwarning "$_module_name: Could not find any command of '$@'!"
Harald Hoyer bcb5fa
+        return 1
Harald Hoyer bcb5fa
+    fi
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    return 0
Harald Hoyer bcb5fa
+}
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
 # find a binary.  If we were not passed the full path directly,
Harald Hoyer bcb5fa
 # search in the usual places to find the binary.
Harald Hoyer bcb5fa
 find_binary() {
Harald Hoyer bcb5fa
@@ -1084,7 +1129,7 @@ module_check() {
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
         is_func check || return 0
Harald Hoyer bcb5fa
         [ $_forced -ne 0 ] && unset hostonly
Harald Hoyer bcb5fa
-        check $hostonly
Harald Hoyer bcb5fa
+        moddir=$_moddir check $hostonly
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
     fi
Harald Hoyer bcb5fa
@@ -1110,7 +1155,7 @@ module_check_mount() {
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         check() { false; }
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
-        check 0
Harald Hoyer bcb5fa
+        moddir=$_moddir check 0
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
     fi
Harald Hoyer bcb5fa
@@ -1134,7 +1179,7 @@ module_depends() {
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         depends() { true; }
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
-        depends
Harald Hoyer bcb5fa
+        moddir=$_moddir depends
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         return $_ret
Harald Hoyer bcb5fa
@@ -1155,7 +1200,7 @@ module_cmdline() {
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         cmdline() { true; }
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
-        cmdline
Harald Hoyer bcb5fa
+        moddir=$_moddir cmdline
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         return $_ret
Harald Hoyer bcb5fa
@@ -1176,7 +1221,7 @@ module_install() {
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         install() { true; }
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
-        install
Harald Hoyer bcb5fa
+        moddir=$_moddir install
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         return $_ret
Harald Hoyer bcb5fa
@@ -1197,7 +1242,7 @@ module_installkernel() {
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         installkernel() { true; }
Harald Hoyer bcb5fa
         . $_moddir/module-setup.sh
Harald Hoyer bcb5fa
-        installkernel
Harald Hoyer bcb5fa
+        moddir=$_moddir installkernel
Harald Hoyer bcb5fa
         _ret=$?
Harald Hoyer bcb5fa
         unset check depends cmdline install installkernel
Harald Hoyer bcb5fa
         return $_ret
Harald Hoyer bcb5fa
diff --git a/modules.d/00bash/module-setup.sh b/modules.d/00bash/module-setup.sh
Harald Hoyer bcb5fa
index f599940..e8fc115 100755
Harald Hoyer bcb5fa
--- a/modules.d/00bash/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/00bash/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,7 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    [ -x /bin/bash ]
Harald Hoyer bcb5fa
+    require_binaries /bin/bash
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
diff --git a/modules.d/00bootchart/module-setup.sh b/modules.d/00bootchart/module-setup.sh
Harald Hoyer bcb5fa
index 107ee5b..95e5c4b 100755
Harald Hoyer bcb5fa
--- a/modules.d/00bootchart/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/00bootchart/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ "$mount_needs" ]] && return 1
Harald Hoyer bcb5fa
-    [ -x /sbin/bootchartd ] || return 1
Harald Hoyer bcb5fa
+    require_binaries /sbin/bootchartd || return 1
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/00dash/module-setup.sh b/modules.d/00dash/module-setup.sh
Harald Hoyer bcb5fa
index 47f7b03..8f7deec 100755
Harald Hoyer bcb5fa
--- a/modules.d/00dash/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/00dash/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,7 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    [ -x /bin/dash ]
Harald Hoyer bcb5fa
+    require_binaries /bin/dash
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh
Harald Hoyer bcb5fa
index a897cef..5cca254 100755
Harald Hoyer bcb5fa
--- a/modules.d/00systemd-bootchart/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/00systemd-bootchart/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ "$mount_needs" ]] && return 1
Harald Hoyer bcb5fa
-    [ -x $systemdutildir/systemd-bootchart ] || return 1
Harald Hoyer bcb5fa
+    require_binaries $systemdutildir/systemd-bootchart || return 1
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/02caps/module-setup.sh b/modules.d/02caps/module-setup.sh
Harald Hoyer bcb5fa
index 6019188..46e35a0 100755
Harald Hoyer bcb5fa
--- a/modules.d/02caps/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/02caps/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,7 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    type -P capsh >/dev/null 2>&1
Harald Hoyer bcb5fa
+    require_binaries capsh
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
@@ -14,9 +14,13 @@ depends() {
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 install() {
Harald Hoyer bcb5fa
-    inst_hook pre-pivot 00 "$moddir/caps.sh"
Harald Hoyer bcb5fa
-    inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
Harald Hoyer bcb5fa
-    # capsh wants bash and we need bash also
Harald Hoyer bcb5fa
-    inst /bin/bash
Harald Hoyer bcb5fa
+    if ! dracut_module_included "systemd"; then
Harald Hoyer bcb5fa
+        inst_hook pre-pivot 00 "$moddir/caps.sh"
Harald Hoyer bcb5fa
+        inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
Harald Hoyer bcb5fa
+        # capsh wants bash and we need bash also
Harald Hoyer bcb5fa
+        inst /bin/bash
Harald Hoyer bcb5fa
+    else
Harald Hoyer bcb5fa
+        dwarning "caps: does not work with systemd in the initramfs"
Harald Hoyer bcb5fa
+    fi
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh
Harald Hoyer bcb5fa
index 5dfd90c..09285d3 100755
Harald Hoyer bcb5fa
--- a/modules.d/03modsign/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/03modsign/module-setup.sh
Harald Hoyer bcb5fa
@@ -9,7 +9,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    [[ -x /usr/bin/keyctl ]] || return 1
Harald Hoyer bcb5fa
+    require_binaries keyctl || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     # do not include module in hostonly mode,
Harald Hoyer bcb5fa
     # if no keys are present
Harald Hoyer bcb5fa
diff --git a/modules.d/05busybox/module-setup.sh b/modules.d/05busybox/module-setup.sh
Harald Hoyer bcb5fa
index 6e508a6..228ff8c 100755
Harald Hoyer bcb5fa
--- a/modules.d/05busybox/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/05busybox/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,7 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    type -P busybox >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries busybox || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
Harald Hoyer bcb5fa
index fcb18d1..a091f89 100755
Harald Hoyer bcb5fa
--- a/modules.d/10i18n/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/10i18n/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,9 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ "$mount_needs" ]] && return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
-    for i in setfont loadkeys kbd_mode; do
Harald Hoyer bcb5fa
-        type -P "$i" >/dev/null || return 1
Harald Hoyer bcb5fa
-    done
Harald Hoyer bcb5fa
+    require_binaries setfont loadkeys kbd_mode || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
Harald Hoyer bcb5fa
index 48afc5a..1df4174 100755
Harald Hoyer bcb5fa
--- a/modules.d/40network/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/40network/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,12 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _program
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
-    for _program in ip arping dhclient ; do
Harald Hoyer bcb5fa
-        if ! type -P $_program >/dev/null; then
Harald Hoyer bcb5fa
-            derror "Could not find program \"$_program\" required by network."
Harald Hoyer bcb5fa
-            return 1
Harald Hoyer bcb5fa
-        fi
Harald Hoyer bcb5fa
-    done
Harald Hoyer bcb5fa
+    require_binaries ip arping dhclient || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/45url-lib/module-setup.sh b/modules.d/45url-lib/module-setup.sh
Harald Hoyer bcb5fa
index 1ed97ac..1b785c2 100755
Harald Hoyer bcb5fa
--- a/modules.d/45url-lib/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/45url-lib/module-setup.sh
Harald Hoyer bcb5fa
@@ -3,7 +3,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    command -v curl >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries curl || return 1
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
Harald Hoyer bcb5fa
index 1360924..b818324 100755
Harald Hoyer bcb5fa
--- a/modules.d/50plymouth/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/50plymouth/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ "$mount_needs" ]] && return 1
Harald Hoyer bcb5fa
-    type -P plymouthd >/dev/null && type -P plymouth >/dev/null
Harald Hoyer bcb5fa
+    require_binaries plymouthd plymouth
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
Harald Hoyer bcb5fa
index 80a538f..406fd6d 100755
Harald Hoyer bcb5fa
--- a/modules.d/90btrfs/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90btrfs/module-setup.sh
Harald Hoyer bcb5fa
@@ -7,7 +7,7 @@ check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # if we don't have btrfs installed on the host system,
Harald Hoyer bcb5fa
     # no point in trying to support it in the initramfs.
Harald Hoyer bcb5fa
-    type -P btrfs >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries btrfs || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for fs in ${host_fs_types[@]}; do
Harald Hoyer bcb5fa
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
Harald Hoyer bcb5fa
index 7d18e33..21d49c4 100755
Harald Hoyer bcb5fa
--- a/modules.d/90crypt/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90crypt/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # if cryptsetup is not installed, then we cannot support encrypted devices.
Harald Hoyer bcb5fa
-    type -P cryptsetup >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries cryptsetup || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for fs in "${host_fs_types[@]}"; do
Harald Hoyer bcb5fa
diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
Harald Hoyer bcb5fa
index bafad67..829c24b 100755
Harald Hoyer bcb5fa
--- a/modules.d/90dm/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90dm/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,7 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    type -P dmsetup >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries dmsetup || return 1
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
Harald Hoyer bcb5fa
index a9e27a6..d3888a4 100755
Harald Hoyer bcb5fa
--- a/modules.d/90dmraid/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90dmraid/module-setup.sh
Harald Hoyer bcb5fa
@@ -7,7 +7,7 @@ check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # if we don't have dmraid installed on the host system, no point
Harald Hoyer bcb5fa
     # in trying to support it in the initramfs.
Harald Hoyer bcb5fa
-    type -P dmraid >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries dmraid || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for dev in "${!host_fs_types[@]}"; do
Harald Hoyer bcb5fa
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
Harald Hoyer bcb5fa
index a64e5d6..357797f 100755
Harald Hoyer bcb5fa
--- a/modules.d/90lvm/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90lvm/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     # No point trying to support lvm if the binaries are missing
Harald Hoyer bcb5fa
-    type -P lvm >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries lvm || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for fs in "${host_fs_types[@]}"; do
Harald Hoyer bcb5fa
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
Harald Hoyer bcb5fa
index 61483f2..7d72098 100755
Harald Hoyer bcb5fa
--- a/modules.d/90mdraid/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90mdraid/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # No mdadm?  No mdraid support.
Harald Hoyer bcb5fa
-    type -P mdadm >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries mdadm || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for dev in "${!host_fs_types[@]}"; do
Harald Hoyer bcb5fa
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
Harald Hoyer bcb5fa
index 261a957..b60cc60 100755
Harald Hoyer bcb5fa
--- a/modules.d/90multipath/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/90multipath/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # if there's no multipath binary, no go.
Harald Hoyer bcb5fa
-    type -P multipath >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries multipath || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     is_mpath() {
Harald Hoyer bcb5fa
         local _dev=$1
Harald Hoyer bcb5fa
diff --git a/modules.d/91crypt-gpg/module-setup.sh b/modules.d/91crypt-gpg/module-setup.sh
Harald Hoyer bcb5fa
index 90c7bc2..b2154f0 100755
Harald Hoyer bcb5fa
--- a/modules.d/91crypt-gpg/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/91crypt-gpg/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # GPG support is optional
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    type -P gpg >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries gpg || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
Harald Hoyer bcb5fa
index 00052d3..93ae92e 100644
Harald Hoyer bcb5fa
--- a/modules.d/91crypt-loop/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/91crypt-loop/module-setup.sh
Harald Hoyer bcb5fa
@@ -1,23 +1,27 @@
Harald Hoyer bcb5fa
+#!/bin/bash
Harald Hoyer bcb5fa
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
Harald Hoyer bcb5fa
+# ex: ts=8 sw=4 sts=4 et filetype=sh
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-	type -P losetup >/dev/null || return 1
Harald Hoyer bcb5fa
-	
Harald Hoyer bcb5fa
-	return 255
Harald Hoyer bcb5fa
+    require_binaries losetup || return 1
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
+    return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 depends() {
Harald Hoyer bcb5fa
-	echo crypt
Harald Hoyer bcb5fa
+    echo crypt
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 installkernel() {
Harald Hoyer bcb5fa
-	    instmods loop
Harald Hoyer bcb5fa
+    instmods loop
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 install() {
Harald Hoyer bcb5fa
-	inst_multiple losetup
Harald Hoyer bcb5fa
-	inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
Harald Hoyer bcb5fa
-        dracut_need_initqueue
Harald Hoyer bcb5fa
+    inst_multiple losetup
Harald Hoyer bcb5fa
+    inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
Harald Hoyer bcb5fa
+    dracut_need_initqueue
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh
Harald Hoyer bcb5fa
index 546d2ff..8f5a3bf 100755
Harald Hoyer bcb5fa
--- a/modules.d/95cifs/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95cifs/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     # If our prerequisites are not met, fail anyways.
Harald Hoyer bcb5fa
-    type -P mount.cifs >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries mount.cifs || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for fs in ${host_fs_types[@]}; do
Harald Hoyer bcb5fa
diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh
Harald Hoyer bcb5fa
index 9c93d40..da0f3c0 100755
Harald Hoyer bcb5fa
--- a/modules.d/95dasd/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95dasd/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,8 +5,8 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _arch=$(uname -m)
Harald Hoyer bcb5fa
-    [ -x /sbin/normalize_dasd_arg ] || return 1
Harald Hoyer bcb5fa
     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
+    require_binaries normalize_dasd_arg || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95dasd_mod/module-setup.sh b/modules.d/95dasd_mod/module-setup.sh
Harald Hoyer bcb5fa
index 8fde525..bee4998 100755
Harald Hoyer bcb5fa
--- a/modules.d/95dasd_mod/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95dasd_mod/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,6 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _arch=$(uname -m)
Harald Hoyer bcb5fa
     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
+    require_binaries grep sed seq
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
Harald Hoyer bcb5fa
index d313171..51c315d 100755
Harald Hoyer bcb5fa
--- a/modules.d/95dasd_rules/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95dasd_rules/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,8 +5,8 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _arch=$(uname -m)
Harald Hoyer bcb5fa
-    [ -x /sbin/dasd_configure ] || return 1
Harald Hoyer bcb5fa
     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
+    require_binaries dasd_configure /usr/lib/udev/collect || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh
Harald Hoyer bcb5fa
index c91f775..0fb06e2 100755
Harald Hoyer bcb5fa
--- a/modules.d/95fcoe-uefi/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95fcoe-uefi/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,9 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    for i in dcbtool fipvlan lldpad ip readlink; do
Harald Hoyer bcb5fa
-        type -P $i >/dev/null || return 1
Harald Hoyer bcb5fa
-    done
Harald Hoyer bcb5fa
+    require_binaries dcbtool fipvlan lldpad ip readlink || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
Harald Hoyer bcb5fa
index 539c464..c502ba0 100755
Harald Hoyer bcb5fa
--- a/modules.d/95fcoe/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95fcoe/module-setup.sh
Harald Hoyer bcb5fa
@@ -4,10 +4,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    for i in dcbtool fipvlan lldpad ip readlink; do
Harald Hoyer bcb5fa
-        type -P $i >/dev/null || return 1
Harald Hoyer bcb5fa
-    done
Harald Hoyer bcb5fa
-
Harald Hoyer bcb5fa
+    require_binaries dcbtool fipvlan lldpad ip readlink || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
Harald Hoyer bcb5fa
index 8379f4b..1b0f292 100755
Harald Hoyer bcb5fa
--- a/modules.d/95iscsi/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95iscsi/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # If our prerequisites are not met, fail anyways.
Harald Hoyer bcb5fa
-    type -P iscsistart hostname iscsi-iname >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries iscsistart hostname iscsi-iname || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     # If hostonly was requested, fail the check if we are not actually
Harald Hoyer bcb5fa
     # booting from root.
Harald Hoyer bcb5fa
diff --git a/modules.d/95nbd/module-setup.sh b/modules.d/95nbd/module-setup.sh
Harald Hoyer bcb5fa
index 37ace21..e62f290 100755
Harald Hoyer bcb5fa
--- a/modules.d/95nbd/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95nbd/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _rootdev
Harald Hoyer bcb5fa
     # If our prerequisites are not met, fail.
Harald Hoyer bcb5fa
-    type -P nbd-client >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries nbd-client || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     # if an nbd device is not somewhere in the chain of devices root is
Harald Hoyer bcb5fa
     # mounted on, fail the hostonly check.
Harald Hoyer bcb5fa
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
Harald Hoyer bcb5fa
index 345810a..dabf3b0 100755
Harald Hoyer bcb5fa
--- a/modules.d/95nfs/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95nfs/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,8 +5,8 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     # If our prerequisites are not met, fail anyways.
Harald Hoyer bcb5fa
-    type -P rpcbind >/dev/null || type -P portmap >/dev/null || return 1
Harald Hoyer bcb5fa
-    type -P rpc.statd mount.nfs mount.nfs4 umount >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_any_binary rpcbind portmap || return 1
Harald Hoyer bcb5fa
+    require_binaries rpc.statd mount.nfs mount.nfs4 umount || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     [[ $hostonly ]] || [[ $mount_needs ]] && {
Harald Hoyer bcb5fa
         for fs in ${host_fs_types[@]}; do
Harald Hoyer bcb5fa
diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
Harald Hoyer bcb5fa
index 1f2b733..2e3c505 100755
Harald Hoyer bcb5fa
--- a/modules.d/95ssh-client/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95ssh-client/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,11 +6,11 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    # If our prerequisites are not met, fail.
Harald Hoyer bcb5fa
-    type -P ssh >/dev/null || return 1
Harald Hoyer bcb5fa
-    type -P scp >/dev/null || return 1
Harald Hoyer bcb5fa
     [[ $mount_needs ]] && return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
+    # If our prerequisites are not met, fail.
Harald Hoyer bcb5fa
+    require_binaries ssh scp  || return 1
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
     if [[ $sshkey ]]; then
Harald Hoyer bcb5fa
         [ ! -f $sshkey ] && {
Harald Hoyer bcb5fa
             derror "ssh key: $sshkey is not found!"
Harald Hoyer bcb5fa
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
Harald Hoyer bcb5fa
index ebc4447..584d5c8 100755
Harald Hoyer bcb5fa
--- a/modules.d/95udev-rules/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95udev-rules/module-setup.sh
Harald Hoyer bcb5fa
@@ -6,7 +6,7 @@
Harald Hoyer bcb5fa
 install() {
Harald Hoyer bcb5fa
     local _i
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
-    # Fixme: would be nice if we didn't have to know which rules to grab....
Harald Hoyer bcb5fa
+    # Fixme: would be nice if we didn't have to guess, which rules to grab....
Harald Hoyer bcb5fa
     # ultimately, /lib/initramfs/rules.d or somesuch which includes links/copies
Harald Hoyer bcb5fa
     # of the rules we want so that we just copy those in would be best
Harald Hoyer bcb5fa
     inst_multiple udevadm cat uname blkid \
Harald Hoyer bcb5fa
diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh
Harald Hoyer bcb5fa
index dfbeed5..b96ccd2 100755
Harald Hoyer bcb5fa
--- a/modules.d/95zfcp/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95zfcp/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,9 +5,10 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     arch=$(uname -m)
Harald Hoyer bcb5fa
-    [ -x /sbin/zfcp_cio_free ] || return 1
Harald Hoyer bcb5fa
     [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
+    require_binaries zfcp_cio_free grep sed seq || return 1
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
Harald Hoyer bcb5fa
index 9a1ab20..d9879cb 100755
Harald Hoyer bcb5fa
--- a/modules.d/95zfcp_rules/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95zfcp_rules/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,8 +5,8 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     local _arch=$(uname -m)
Harald Hoyer bcb5fa
-    [ -x /sbin/zfcp_disk_configure ] || return 1
Harald Hoyer bcb5fa
     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
+    require_binaries zfcp_disk_configure /usr/lib/udev/collect || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh
Harald Hoyer bcb5fa
index 5012b77..346f893 100755
Harald Hoyer bcb5fa
--- a/modules.d/95znet/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/95znet/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,9 +5,10 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     arch=$(uname -m)
Harald Hoyer bcb5fa
-    [ -z /sbin/znet_cio_free ] || return 1
Harald Hoyer bcb5fa
     [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
+    require_binaries znet_cio_free grep sed seq readlink || return 1
Harald Hoyer bcb5fa
+
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/97biosdevname/module-setup.sh b/modules.d/97biosdevname/module-setup.sh
Harald Hoyer bcb5fa
index b51c472..e285a7f 100755
Harald Hoyer bcb5fa
--- a/modules.d/97biosdevname/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/97biosdevname/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ "$mount_needs" ]] && return 1
Harald Hoyer bcb5fa
-    type -P biosdevname >/dev/null || return 1
Harald Hoyer bcb5fa
+    require_binaries biosdevname || return 1
Harald Hoyer bcb5fa
     return 0
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
diff --git a/modules.d/97masterkey/module-setup.sh b/modules.d/97masterkey/module-setup.sh
Harald Hoyer bcb5fa
index e6e3690..82a6515 100755
Harald Hoyer bcb5fa
--- a/modules.d/97masterkey/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/97masterkey/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ $hostonly ]] && {
Harald Hoyer bcb5fa
-        [ -x "/bin/keyctl" ] || return 1
Harald Hoyer bcb5fa
+        require_binaries keyctl uname || return 1
Harald Hoyer bcb5fa
     }
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
Harald Hoyer bcb5fa
index 036f1c1..badce3c 100755
Harald Hoyer bcb5fa
--- a/modules.d/98systemd/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/98systemd/module-setup.sh
Harald Hoyer bcb5fa
@@ -5,7 +5,7 @@
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
     [[ $mount_needs ]] && return 1
Harald Hoyer bcb5fa
-    if [[ -x $systemdutildir/systemd ]]; then
Harald Hoyer bcb5fa
+    if require_binaries $systemdutildir/systemd; then
Harald Hoyer bcb5fa
         SYSTEMD_VERSION=$($systemdutildir/systemd --version | { read a b a; echo $b; })
Harald Hoyer bcb5fa
         (( $SYSTEMD_VERSION >= 198 )) && return 0
Harald Hoyer bcb5fa
        return 255
Harald Hoyer bcb5fa
diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
Harald Hoyer bcb5fa
index 2c3c992..69346b2 100755
Harald Hoyer bcb5fa
--- a/modules.d/99img-lib/module-setup.sh
Harald Hoyer bcb5fa
+++ b/modules.d/99img-lib/module-setup.sh
Harald Hoyer bcb5fa
@@ -3,9 +3,7 @@
Harald Hoyer bcb5fa
 
Harald Hoyer bcb5fa
 # called by dracut
Harald Hoyer bcb5fa
 check() {
Harald Hoyer bcb5fa
-    for cmd in tar gzip dd; do
Harald Hoyer bcb5fa
-        command -v $cmd >/dev/null || return 1
Harald Hoyer bcb5fa
-    done
Harald Hoyer bcb5fa
+    require_binaries tar gzip dd bash || return 1
Harald Hoyer bcb5fa
     return 255
Harald Hoyer bcb5fa
 }
Harald Hoyer bcb5fa