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

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(-)

Index: dracut-037/dracut-functions.sh
===================================================================
--- dracut-037.orig/dracut-functions.sh
+++ dracut-037/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
Index: dracut-037/dracut.sh
===================================================================
--- dracut-037.orig/dracut.sh
+++ dracut-037/dracut.sh
@@ -402,6 +402,12 @@ verbosity_mod_l=0
 unset kernel
 unset outfile
 
+if ! tmp_dracut_failed_drivers=$(mktemp /tmp/dracut.XXXXXXXXXX); then
+    echo "Could not create temporary file"
+    exit 1
+fi
+export tmp_dracut_failed_drivers
+
 rearrange_params "$@"
 eval set -- "$TEMP"
 
@@ -1590,6 +1596,15 @@ if ! ( umask 077; cd "$initdir"; find .
 fi
 dinfo "*** Creating image file done ***"
 
+if [[ -s $tmp_dracut_failed_drivers ]]; then
+    dwarn "Some kernel modules could not be included"
+    dwarn "This is not necessarily an error:"
+    while read line; do
+        dwarn "$line"
+    done < $tmp_dracut_failed_drivers
+fi
+rm $tmp_dracut_failed_drivers
+
 if (( maxloglvl >= 5 )); then
     if [[ $allowlocal ]]; then
 	"$dracutbasedir/lsinitrd.sh" "$outfile"| ddebug
openSUSE Build Service is sponsored by