File 0613-dracut-init.sh-Support-xz-compressed-firmware-files.patch of Package dracut.16003

From 95e4849e0eaa492fe27fbaea626cf3ab310b853a Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Mon, 30 Sep 2019 14:48:19 +0200
Subject: [PATCH] dracut-init.sh: Support xz compressed firmware files

Reference: boo#1151552
---
 dracut-init.sh | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/dracut-init.sh b/dracut-init.sh
index 74e2086d..93c03a5f 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -913,16 +913,22 @@ install_kmod_with_fw() {
     for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do
         _found=''
         for _fwdir in $fw_dir; do
-            [[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue
-            inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
+            if [[ -d $_fwdir ]]; then
+                if [[ -f $_fwdir/$_fw ]]; then
+                    inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
+                else
+                    [[ -f $_fwdir/$_fw.xz ]] || continue
+                    inst_simple "$_fwdir/$_fw.xz" "/lib/firmware/$_fw.xz"
+                fi
+            fi
             _found=yes
         done
         if [[ $_found != yes ]]; then
             if ! [[ -d $(echo /sys/module/${_modname//-/_}|{ read a b; echo $a; }) ]]; then
-                dinfo "Possible missing firmware \"${_fw}\" for kernel module" \
+                dinfo "Possible missing firmware \"${_fw}\" or \"${_fw}.xz\" for kernel module" \
                     "\"${_modname}.ko\""
             else
-                dwarn "Possible missing firmware \"${_fw}\" for kernel module" \
+                dwarn "Possible missing firmware \"${_fw}\" or \"${_fw}\.xz\" for kernel module" \
                     "\"${_modname}.ko\""
             fi
         fi
-- 
2.16.4

openSUSE Build Service is sponsored by