]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Simplify dracut_install a bit, an make a minor fixup to check_module_deps
authorVictor Lowther <victor.lowther@gmail.com>
Sat, 15 Aug 2009 12:55:59 +0000 (07:55 -0500)
committerVictor Lowther <victor.lowther@gmail.com>
Sat, 15 Aug 2009 12:55:59 +0000 (07:55 -0500)
dracut-functions

index c82c7c70e1b409be33fa9daf941f6485e689baaa..ffc2724de59d13b9ebfd662c4dd3df43797edfa9 100755 (executable)
@@ -203,32 +203,27 @@ inst_hook() {
 }
 
 dracut_install() {
-    local optional=
+    if [[ $1 = '-o' ]]; then 
+       local optional=yes
+       shift
+    fi
     while (($# > 0)); do
-        # Might be nice to optionally install a binary
-        if [[ $1 = '-o' ]]; then
-           optional=yes
-           shift
-           continue
-        fi
-       if inst "$1" ; then
-            shift 
-            continue
-        fi
-        if [ "$optional" == "yes" ]; then
-          dwarning "Skipping program $1 as it cannot be found and is flagged to be optional"
-          shift
-          continue
-        else
-          derror "Failed to install $1"; exit 1
-        fi
+       if ! inst "$1" ; then
+           if [[ $optional = yes ]]; then
+               dwarning "Skipping program $1 as it cannot be found and is flagged to be optional"
+           else
+               derror "Failed to install $1"
+               exit 1
+            fi
+       fi
+       shift
     done
 }
 
 check_module_deps() {
     local moddir dep ret
     # if we are already set to be loaded, we do not have to be checked again.
-    strstr "$mods_to_load" " $1 "
+    strstr "$mods_to_load" " $1 " && return
     # turn a module name into a directory, if we can.
     moddir=$(echo ${dsrc}/modules.d/??${1})
     [[ -d $moddir && -x $moddir/install ]] || return 1