]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(dash): minor cleanups
authorJóhann B. Guðmundsson <johannbg@gmail.com>
Tue, 18 May 2021 13:19:28 +0000 (13:19 +0000)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Tue, 25 May 2021 11:59:08 +0000 (11:59 +0000)
- Remove hard coded path to binary
- Add missing license header
- Document sections
- refactor install section

modules.d/00dash/module-setup.sh

index aa9632105b14146844eb438ba07173adcd0ed431..4a0c0e7e840d0aa9ba2e950d2dfd9bd5b9640b3c 100755 (executable)
@@ -1,20 +1,32 @@
 #!/bin/bash
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
 
-# called by dracut
+# Prerequisite check(s) for module.
 check() {
-    require_binaries /bin/dash
+
+    # If the binary(s) requirements are not fulfilled the module can't be installed.
+    require_binaries dash || return 1
+
+    # Return 255 to only include the module, if another module requires it.
+    return 255
+
 }
 
-# called by dracut
+# Module dependency requirements.
 depends() {
+
+    # Return 0 to include the dependent module(s) in the initramfs.
     return 0
+
 }
 
-# called by dracut
+# Install the required file(s) and directories for the module in the initramfs.
 install() {
-    # If another shell is already installed, do not use dash
-    [[ -x $initdir/bin/sh ]] && return
 
-    # Prefer dash as /bin/sh if it is available.
-    inst /bin/dash && ln -sf dash "${initdir}/bin/sh"
+    inst /bin/dash
+
+    # Prefer dash as default shell if no other shell is preferred.
+    [[ -L $initdir/bin/sh ]] || ln -sf dash "${initdir}/bin/sh"
+
 }