Sophie

Sophie

distrib > Arklinux > devel > x86_64 > by-pkgid > 5b940e974faae500b8be8331a3cc5064 > files > 12

mkinitrd-5.0.17-24ark.src.rpm

--- mkinitrd-5.0.17/mkinitrd.ark	2009-01-06 00:46:39.447820331 +0100
+++ mkinitrd-5.0.17/mkinitrd	2009-01-06 00:52:10.780827249 +0100
@@ -53,7 +53,7 @@ force=""
 verbose=""
 img_vers=""
 builtins=""
-modulefile=/etc/modprobe.conf
+modulefiles="/etc/modprobe.conf /etc/modprobe.d/*"
 splash=""
 resolution="1024x768-16@60"
 rc=0
@@ -555,7 +555,6 @@ if [ $UID != 0 ]; then
 fi
 
 vecho "Creating initramfs"
-modulefile=/etc/modprobe.conf
 
 # find a temporary directory which doesn't use tmpfs
 TMPDIR=""
@@ -616,48 +615,37 @@ if [ -n "$withusb" -a "x$PROBE" == "xyes
 fi
 
 if [ -n "$forcescsi" -o -z "$noscsi" -a "x$PROBE" == "xyes" ]; then
-    if [ ! -f $modulefile ]; then
-        modulefile=/etc/modprobe.conf
-    fi
+    scsimodules=`cat $modulefiles 2>/dev/null |grep "alias[[:space:]]\+scsi_hostadapter" | grep -v '^[ 	]*#' | LC_ALL=C sort -u | awk '{ print $3 }'`
 
-    if [ -f $modulefile ]; then
-	scsimodules=`grep "alias[[:space:]]\+scsi_hostadapter" $modulefile | grep -v '^[ 	]*#' | LC_ALL=C sort -u | awk '{ print $3 }'`
+    if [ -n "$scsimodules" ]; then
+	for n in $PRESCSIMODS; do
+	    findmodule $n
+	done
 
-	if [ -n "$scsimodules" ]; then
-	    for n in $PRESCSIMODS; do
-		findmodule $n
-	    done
-
-	    for n in $scsimodules; do
-    # for now allow scsi modules to come from anywhere.  There are some
-    # RAID controllers with drivers in block/
-		findmodule $n
-	    done
-	fi
+	for n in $scsimodules; do
+            # for now allow scsi modules to come from anywhere.  There are some
+            # RAID controllers with drivers in block/
+	    findmodule $n
+	done
     fi
 fi
 
 if [ -z "$nosata" ]; then
-    if [ ! -f $modulefile ]; then
-        modulefile=/etc/modprobe.conf
-    fi
-    if [ -f $modulefile ]; then
-        satamodules="`cat /sys/class/scsi_host/*/proc_name 2>/dev/null |grep -E '(ata|ahci)' |uniq`"
-        if [ -z "$satamodules" ]; then
-            # Try the legacy (2.4.x) way
-            satamodules="`ls /proc/scsi/ 2>/dev/null |grep ata`"
-        fi
-        if [ -n "$satamodules" ]; then
-            if echo $satamodules |grep -q ahci; then
-                findmodule libahci
-            fi
-            for n in $PRESATAMODS; do
-                findmodule $n
-            done
-            for n in $satamodules; do
-                findmodule $n
-            done
-        fi
+    satamodules="`cat /sys/class/scsi_host/*/proc_name 2>/dev/null |grep -E '(ata|ahci)' |uniq`"
+    if [ -z "$satamodules" ]; then
+        # Try the legacy (2.4.x) way
+        satamodules="`ls /proc/scsi/ 2>/dev/null |grep ata`"
+    fi
+    if [ -n "$satamodules" ]; then
+        if echo $satamodules |grep -q ahci; then
+            findmodule libahci
+        fi
+        for n in $PRESATAMODS; do
+            findmodule $n
+        done
+        for n in $satamodules; do
+            findmodule $n
+        done
     fi
 fi
 
@@ -674,7 +662,7 @@ if [ -z "$noide" ]; then
 fi
 
 if [ -n "$needusb" -a "x$PROBE" == "xyes" ]; then
-    drivers=$(awk '/^alias[[:space:]]+usb-controller[0-9]*[[:space:]]+/ { print $3}' < $modulefile)
+    drivers=$(cat $modulefiles 2>/dev/null |awk '/^alias[[:space:]]+usb-controller[0-9]*[[:space:]]+/ { print $3}')
     if [ -n "$drivers" ]; then
 	for driver in $drivers; do
 	    findmodule $driver
@@ -1036,7 +1024,7 @@ for MODULE in $MODULES; do
     module=`echo $MODULE | sed "s|.*/||" | sed "s/.k\?o$//"`
     fullmodule=`echo $MODULE | sed "s|.*/||"`
 
-    options=`sed -n -e "s/^options[ 	][ 	]*$module[ 	][ 	]*//p" $modulefile 2>/dev/null`
+    options=`cat $modulefiles 2>/dev/null |sed -n -e "s/^options[ 	][ 	]*$module[ 	][ 	]*//p"`
 
     if [ "$module" = "usb-storage" ]; then
         emit "if nousb nousb"