File 0169-Enabled-Warning-for-failed-kernel-modules-per-defaul.patch of Package dracut.376

From dbcb0516d9c3270138849f444f40237d1b14797e Mon Sep 17 00:00:00 2001
From: Julian Wolf <juwolf@suse.de>
Date: Fri, 24 Oct 2014 17:07:07 +0200
Subject: Enable warning for failed kernel moduiles

Enabled Warning for failed kernel modules per default
and added summary of those to the end of dracut output

References: bnc#886839

Signed-off-by: Julian Wolf <juwolf@suse.de>
---
 dracut-functions.sh | 11 +++++------
 dracut.sh           |  9 +++++++++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/dracut-functions.sh b/dracut-functions.sh
index 7d81f65..6a58957 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1642,14 +1642,10 @@ instmods() {
     [[ $no_kernel = yes ]] && return
     # called [sub]functions inherit _fderr
     local _fderr=9
-    local _check=no
+    local _check=yes
     local _silent=no
-    if [[ $1 = '-c' ]]; then
-        _check=yes
-        shift
-    fi
-
     if [[ $1 = '-s' ]]; then
+        _check=no
         _silent=yes
         shift
     fi
@@ -1669,6 +1665,7 @@ instmods() {
                 # Check for aliased modules
                 _modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null)
                 _modalias=${_modalias%.ko}
+                [[ -z "$_modalias" ]] && return 1
                 if [ "${_modalias##*/}" != "$_mod" ] ; then
                     _mod=${_modalias##*/}
                 fi
@@ -1726,6 +1723,7 @@ instmods() {
                     if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
                         dfatal "Failed to install module $_mod"
                     fi
+                    echo $_mod >> /tmp/dracut_failed_drivers
                 }
             done
         fi
@@ -1734,6 +1732,7 @@ instmods() {
                 if [[ "$_check" == "yes" ]] && [[ "$_silent" == "no" ]]; then
                     dfatal "Failed to install module $1"
                 fi
+                echo $1 >> /tmp/dracut_failed_drivers
             }
             shift
         done
diff --git a/dracut.sh b/dracut.sh
index eab56f5..056011c 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -402,6 +402,8 @@ verbosity_mod_l=0
 unset kernel
 unset outfile
 
+> /tmp/dracut_failed_drivers
+
 rearrange_params "$@"
 eval set -- "$TEMP"
 
@@ -1590,6 +1592,13 @@ if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null $cpio_owner_root -
 fi
 dinfo "*** Creating image file done ***"
 
+if [[ -s /tmp/dracut_failed_drivers ]]; then
+    dwarn "Some kernel modules could not be included: "
+    while read line; do
+        dwarn "$line"
+    done < /tmp/dracut_failed_drivers
+fi
+
 if (( maxloglvl >= 5 )); then
     if [[ $allowlocal ]]; then
 	"$dracutbasedir/lsinitrd.sh" "$outfile"| ddebug
-- 
1.8.4.5

openSUSE Build Service is sponsored by