Hello community,

here is the log from the commit of package dracut for openSUSE:Factory checked 
in at 2014-07-27 08:25:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut (Old)
 and      /work/SRC/openSUSE:Factory/.dracut.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dracut"

Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut/dracut.changes    2014-07-17 
06:57:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dracut.new/dracut.changes       2014-07-27 
08:25:42.000000000 +0200
@@ -1,0 +2,75 @@
+Mon Jul 21 10:47:50 CEST 2014 - h...@suse.de
+
+- mkinitrd-suse.sh: Bail out with exit 1 if initrd cannot be generated
+  (bnc#886630)
+  * Add: 0120-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch
+- Adjust initramfs-$kernel.img to SUSE default: initrd-$kernel
+  (bnc#882306)
+  * Add: 0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
+- btrfs: btrfs-dump-super and btrfs-select-super do not exist
+  (bnc#886883)
+  * Add: 0122-btrfs-btrfs-dump-super-and-btrfs-select-super-do-not.patch
+- 95zfcp_rules: fix typo in module_setup (bnc#887582)
+  * Add: 0123-95zfcp_rules-fix-typo-in-module_setup.patch
+- 40network: Update iBFT scanning code to handle IPv6 (bnc#887542)
+  * Add: 0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
+- 40network: separate 'mask' and 'prefix' (bnc#887542)
+  * Add: 0125-40network-separate-mask-and-prefix.patch
+- 01fips: Add drbg module to force loaded modules (bnc#875855)
+  * Add: 0126-01fips-Add-drbg-module-to-force-loaded-modules.patch
+
+-------------------------------------------------------------------
+Mon Jul 14 16:20:46 UTC 2014 - tr...@suse.de
+
+- Fixup executable bits of newly patched files manually in spec file
+  bnc#887117
+
+-------------------------------------------------------------------
+Mon Jul 14 10:35:51 CEST 2014 - h...@suse.de
+
+- Mark all scripts as executable (bnc#887010)
+  * Remove: 0116-81cio_ignore-Mark-scripts-as-executable
+  * Add: 0116-Mark-scripts-as-executable.patch
+- 95dasd_rules: Enable device before checking type
+  * Add: 0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
+- 95zfcp_rules: Enable device before checking type
+  * Add: 0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
+- Reset IFS variable
+  * Add: 0119-Reset-IFS-variable.patch
+
+-------------------------------------------------------------------
+Sat Jul 12 15:01:04 CEST 2014 - h...@suse.de
+
+- Handle module alias properly (bnc#886839)
+  * Add: 0115-Handle-module-alias-properly.patch
+- 81cio_ignore: Mark scripts as executable (bnc#887010)
+  * Add: 0116-81cio_ignore-Mark-scripts-as-executable.patch
+
+-------------------------------------------------------------------
+Fri Jul 11 13:01:08 CEST 2014 - h...@suse.de
+
+- 91zipl: Translate 'ext2' into 'ext4' module
+  * Add: 0114-91zipl-Translate-ext2-3-into-ext4.patch
+
+-------------------------------------------------------------------
+Thu Jul 10 13:30:51 CEST 2014 - h...@suse.de
+
+- Enable converting of directory /var/run /var/lock to symlinks
+  (bnc#877680)
+  * Add: 0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch
+- Fixup typo 'firmare' instead of 'firmware'
+  * Add: 0107-Fixup-typo-firmare-instead-of-firmware.patch
+- 91zipl: Store commandline correctly
+  * Add: 0108-91zipl-Store-commandline-correctly.patch
+- 95dasd_rules: Store all devices in commandline
+  * 0109-95dasd_rules-Store-all-devices-in-commandline.patch
+- 95zfcp_rules: Store all devices in commandline
+  * Add: 0110-95zfcp_rules-Store-all-devices-in-commandline.patch
+- 90mdraid: Remove line for 'offroot' detection
+  * Add: 0111-90mdraid-Remove-line-for-offroot-detection.patch
+- 99base: warn on invalid command for initqueue
+  * Add: 0112-99base-warn-on-invalid-command-for-initqueue.patch
+- 91zipl: Install script as executable
+  * Add: 0113-91zipl-Install-script-as-executable.patch
+
+-------------------------------------------------------------------
@@ -14,2 +88,0 @@
-- Add btrfs rescue utilities:
-  * Add: 0100-Add-btrfs-rescue-utilities.patch

New:
----
  0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch
  0107-Fixup-typo-firmare-instead-of-firmware.patch
  0108-91zipl-Store-commandline-correctly.patch
  0109-95dasd_rules-Store-all-devices-in-commandline.patch
  0110-95zfcp_rules-Store-all-devices-in-commandline.patch
  0111-90mdraid-Remove-line-for-offroot-detection.patch
  0112-99base-warn-on-invalid-command-for-initqueue.patch
  0113-91zipl-Install-script-as-executable.patch
  0114-91zipl-Translate-ext2-3-into-ext4.patch
  0115-Handle-module-alias-properly.patch
  0116-Mark-scripts-as-executable.patch
  0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
  0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
  0119-Reset-IFS-variable.patch
  0120-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch
  0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
  0122-btrfs-btrfs-dump-super-and-btrfs-select-super-do-not.patch
  0123-95zfcp_rules-fix-typo-in-module_setup.patch
  0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
  0125-40network-separate-mask-and-prefix.patch
  0126-01fips-Add-drbg-module-to-force-loaded-modules.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dracut.spec ++++++
--- /var/tmp/diff_new_pack.2WXtCp/_old  2014-07-27 08:25:44.000000000 +0200
+++ /var/tmp/diff_new_pack.2WXtCp/_new  2014-07-27 08:25:44.000000000 +0200
@@ -126,6 +126,27 @@
 Patch103:       0103-Fixup-missing-separators-in-rootfs-block-cmdline.patch
 Patch104:       0104-Generate-fallback-mount-unit-for-root-filesystem.patch
 Patch105:       0105-95iscsi-parse-output-from-iscsiadm-correctly.patch
+Patch106:       0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch
+Patch107:       0107-Fixup-typo-firmare-instead-of-firmware.patch
+Patch108:       0108-91zipl-Store-commandline-correctly.patch
+Patch109:       0109-95dasd_rules-Store-all-devices-in-commandline.patch
+Patch110:       0110-95zfcp_rules-Store-all-devices-in-commandline.patch
+Patch111:       0111-90mdraid-Remove-line-for-offroot-detection.patch
+Patch112:       0112-99base-warn-on-invalid-command-for-initqueue.patch
+Patch113:       0113-91zipl-Install-script-as-executable.patch
+Patch114:       0114-91zipl-Translate-ext2-3-into-ext4.patch
+Patch115:       0115-Handle-module-alias-properly.patch
+Patch116:       0116-Mark-scripts-as-executable.patch
+Patch117:       0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
+Patch118:       0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
+Patch119:       0119-Reset-IFS-variable.patch
+Patch120:       0120-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch
+Patch121:       0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
+Patch122:       0122-btrfs-btrfs-dump-super-and-btrfs-select-super-do-not.patch
+Patch123:       0123-95zfcp_rules-fix-typo-in-module_setup.patch
+Patch124:       0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
+Patch125:       0125-40network-separate-mask-and-prefix.patch
+Patch126:       0126-01fips-Add-drbg-module-to-force-loaded-modules.patch
 
 BuildRequires:  asciidoc
 BuildRequires:  bash
@@ -272,6 +293,27 @@
 %patch103 -p1
 %patch104 -p1
 %patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
+%patch117 -p1
+%patch118 -p1
+%patch119 -p1
+%patch120 -p1
+%patch121 -p1
+%patch122 -p1
+%patch123 -p1
+%patch124 -p1
+%patch125 -p1
+%patch126 -p1
 
 %build
 %configure\
@@ -468,6 +510,15 @@
 %{dracutlibdir}/modules.d/99shutdown
 %{dracutlibdir}/modules.d/99suse
 %{dracutlibdir}/modules.d/99uefi-lib
+
+# executable fixups
+%attr(0755,root,root) %{dracutlibdir}/modules.d/95dcssblk/parse-dcssblk.sh
+%attr(0755,root,root) %{dracutlibdir}/modules.d/95dcssblk/module-setup.sh
+%attr(0755,root,root) %{dracutlibdir}/modules.d/99suse/parse-suse-initrd.sh
+%attr(0755,root,root) %{dracutlibdir}/modules.d/99suse/module-setup.sh
+%attr(0755,root,root) %{dracutlibdir}/modules.d/30convertfs/convertrunfs.sh
+%attr(0755,root,root) %{dracutlibdir}/modules.d/00warpclock/warpclock.sh
+
 %config(noreplace) %{_sysconfdir}/logrotate.d/dracut
 %attr(0644,root,root) %ghost %config(missingok,noreplace) 
%{_localstatedir}/log/dracut.log
 %if %{defined _unitdir}

++++++ 0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch ++++++
>From 6cadece6089ef4d4efbfebeb6b23ca3f2429b36c Mon Sep 17 00:00:00 2001
From: Thomas Renninger <tr...@suse.de>
Date: Tue, 8 Jul 2014 17:34:08 +0200
Subject: dracut: Enable converting of directory /var/run /var/lock to symlinks
 to /run

If /var/run is a directory this module will be added.
After reboot /var/run and /var/lock will be symlinks.
Another initrd re-creation will not include convertfs module anymore.

bnc#877680

Signed-off-by: Thomas Renninger <tr...@suse.de>
---
 modules.d/30convertfs/convertfs.sh    |  9 ------
 modules.d/30convertfs/convertrunfs.sh | 54 +++++++++++++++++++++++++++++++++++
 modules.d/30convertfs/do-convertfs.sh | 17 +++++++++++
 modules.d/30convertfs/module-setup.sh | 10 +++++--
 4 files changed, 79 insertions(+), 11 deletions(-)
 create mode 100755 modules.d/30convertfs/convertrunfs.sh

diff --git a/modules.d/30convertfs/convertfs.sh 
b/modules.d/30convertfs/convertfs.sh
index d717c69..525b1e7 100755
--- a/modules.d/30convertfs/convertfs.sh
+++ b/modules.d/30convertfs/convertfs.sh
@@ -64,15 +64,6 @@ if [[ ! -e "$testfile" ]]; then
 fi
 rm -f -- "$testfile"
 
-testfile="$ROOT/usr/.usrmovecheck$$"
-rm -f -- "$testfile"
-> "$testfile"
-if [[ ! -e "$testfile" ]]; then
-    echo "Cannot write to $ROOT/usr/"
-    exit 1
-fi
-rm -f -- "$testfile"
-
 find_mount() {
     local dev mnt etc wanted_dev
     wanted_dev="$(readlink -e -q $1)"
diff --git a/modules.d/30convertfs/convertrunfs.sh 
b/modules.d/30convertfs/convertrunfs.sh
new file mode 100755
index 0000000..52700cd
--- /dev/null
+++ b/modules.d/30convertfs/convertrunfs.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+ROOT="$1"
+
+if [[ ! -d "$ROOT" ]]; then
+    echo "Usage: $0 <rootdir>"
+    exit 1
+fi
+
+if [[ "$ROOT" -ef / ]]; then
+    echo "Can't convert the running system."
+    echo "Please boot with 'rd.convertfs' on the kernel command line,"
+    echo "to update with the help of the initramfs,"
+    echo "or run this script from a rescue system."
+    exit 1
+fi
+
+while [[ "$ROOT" != "${ROOT%/}" ]]; do
+    ROOT=${ROOT%/}
+done
+
+if findmnt "$ROOT" -O ro;then
+    WAS_RO=1
+    mount $ROOT -o remount,rw
+else
+    WAS_RO=0
+fi
+
+testfile="$ROOT/.usrmovecheck$$"
+rm -f -- "$testfile"
+> "$testfile"
+if [[ ! -e "$testfile" ]]; then
+    echo "Cannot write to $ROOT/"
+    exit 1
+fi
+rm -f -- "$testfile"
+
+if [ ! -L $ROOT/var/run -a -e $ROOT/var/run ]; then
+    echo "Converting /var/run to symlink"
+    mv -f $ROOT/var/run $ROOT/var/run.runmove~
+    ln -sfn ../run $ROOT/var/run
+fi
+
+if [ ! -L $ROOT/var/lock -a -e $ROOT/var/lock ]; then
+    echo "Converting /var/lock to symlink"
+    mv -f $ROOT/var/lock $ROOT/var/lock.lockmove~
+    ln -sfn ../run/lock $ROOT/var/lock
+fi
+
+if [ $WAR_RO -eq 1 ];then
+    mount $ROOT -o remount,ro
+fi
diff --git a/modules.d/30convertfs/do-convertfs.sh 
b/modules.d/30convertfs/do-convertfs.sh
index 99738e3..ef05a06 100755
--- a/modules.d/30convertfs/do-convertfs.sh
+++ b/modules.d/30convertfs/do-convertfs.sh
@@ -2,10 +2,27 @@
 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
 # ex: ts=8 sw=4 sts=4 et filetype=sh
 
+# This converts all, /usr/bin -> /bin, ... and /var/run -> /run
+# Do not enable by default!
 if getargbool 0 rd.convertfs; then
+    info "Converting both /var/run to /run tmpfs and /usr/bin -> /bin"
     if getargbool 0 rd.debug; then
         bash -x convertfs "$NEWROOT" 2>&1 | vinfo
+        exit 0
     else
         convertfs "$NEWROOT" 2>&1 | vinfo
+        exit 0
+    fi
+fi
+
+# This only converts /var/run -> /run as tmpfs
+if ! test -L "$NEWROOT"/var/run;then
+    info "Converting /var/run to /run tmpfs"
+    if getargbool 0 rd.debug; then
+        bash -x convertrunfs "$NEWROOT" 2>&1 | vinfo
+        exit 0
+    else
+        convertrunfs "$NEWROOT" 2>&1 | vinfo
+        exit 0
     fi
 fi
diff --git a/modules.d/30convertfs/module-setup.sh 
b/modules.d/30convertfs/module-setup.sh
index 1e73455..5fead45 100755
--- a/modules.d/30convertfs/module-setup.sh
+++ b/modules.d/30convertfs/module-setup.sh
@@ -4,8 +4,13 @@
 
 # called by dracut
 check() {
-    [[ $mount_needs ]] && return 1
-    return 255
+    # Only check for /var/run
+    if test -L /var/run;then
+        return 255
+    else
+        require_binaries bash find ldconfig mv rm cp ln || return 1
+        return 0
+    fi
 }
 
 # called by dracut
@@ -18,5 +23,6 @@ install() {
     inst_multiple bash find ldconfig mv rm cp ln
     inst_hook pre-pivot 99 "$moddir/do-convertfs.sh"
     inst_script "$moddir/convertfs.sh" /usr/bin/convertfs
+    inst_script "$moddir/convertrunfs.sh" /usr/bin/convertrunfs
 }
 
-- 
1.8.4.5

++++++ 0107-Fixup-typo-firmare-instead-of-firmware.patch ++++++
>From b723f5fabf7ca5396fbd451e8b2d6ee6b82888c8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Wed, 9 Jul 2014 09:34:35 +0200
Subject: Fixup typo 'firmare' instead of 'firmware'

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95dasd_rules/parse-dasd.sh | 2 +-
 modules.d/95zfcp_rules/parse-zfcp.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules.d/95dasd_rules/parse-dasd.sh 
b/modules.d/95dasd_rules/parse-dasd.sh
index 7b6a3d2..bafd053 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -45,7 +45,7 @@ EOF
 }
 
 if [[ -f /sys/firmware/ipl/ipl_type &&
-            $(</sys/firmare/ipl/ipl_type) = "ccw" ]] ; then
+            $(</sys/firmware/ipl/ipl_type) = "ccw" ]] ; then
     (
         local _ccw=$(cat /sys/firmware/ipl/device)
 
diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh 
b/modules.d/95zfcp_rules/parse-zfcp.sh
index 05c1ed0..00f530f 100755
--- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -42,7 +42,7 @@ EOF
 }
 
 if [[ -f /sys/firmware/ipl/ipl_type &&
-            $(</sys/firmare/ipl/ipl_type) = "fcp" ]] ; then
+            $(</sys/firmware/ipl/ipl_type) = "fcp" ]] ; then
     (
         local _wwpn=$(cat /sys/firmware/ipl/wwpn)
         local _lun=$(cat /sys/firmware/ipl/lun)
-- 
1.8.4.5

++++++ 0108-91zipl-Store-commandline-correctly.patch ++++++
>From 0d9482bf68e9d8f1c9b13d4beb9cecc660dda017 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 14:55:50 +0200
Subject: 91zipl: Store commandline correctly

The 'rd.zipl' command was only printed and never stored in the
initramfs itself.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/91zipl/module-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
index a8d95c5..84bb41d 100644
--- a/modules.d/91zipl/module-setup.sh
+++ b/modules.d/91zipl/module-setup.sh
@@ -39,7 +39,7 @@ install() {
     if [[ $hostonly_cmdline == "yes" ]] ; then
         local _zipl=$(cmdline)
 
-        [[ $_zipl ]] && printf "%s\n" "$_zipl"
+        [[ $_zipl ]] && printf "%s\n" "$_zipl" > 
"${initdir}/etc/cmdline.d/91zipl.conf"
     fi
     dracut_need_initqueue
 }
-- 
1.8.4.5

++++++ 0109-95dasd_rules-Store-all-devices-in-commandline.patch ++++++
>From 0299c9f31fb0c5794747a6a7f62c32abd9a49754 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 14:56:54 +0200
Subject: 95dasd_rules: Store all devices in commandline

'for_each_host_dev_and_slaves' would stop at the first found
device, so the cmdline() call would never list all required
devices. Use 'for_each_host_dev_and_slaves_all' instead and
filter out duplicates.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95dasd_rules/module-setup.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules.d/95dasd_rules/module-setup.sh 
b/modules.d/95dasd_rules/module-setup.sh
index e4736a2..78a7a66 100755
--- a/modules.d/95dasd_rules/module-setup.sh
+++ b/modules.d/95dasd_rules/module-setup.sh
@@ -14,8 +14,8 @@ cmdline() {
         return 0
     }
     [[ $hostonly ]] || [[ $mount_needs ]] && {
-        for_each_host_dev_and_slaves is_dasd || return 255
-    }
+        for_each_host_dev_and_slaves_all is_dasd || return 255
+    } | sort | uniq
 }
 
 # called by dracut
-- 
1.8.4.5

++++++ 0110-95zfcp_rules-Store-all-devices-in-commandline.patch ++++++
>From 0be3d022964d54e8ab769ebed4006ba8b8d65078 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 14:56:54 +0200
Subject: 95zfcp_rules: Store all devices in commandline

'for_each_host_dev_and_slaves' would stop at the first found
device, so the cmdline() call would never list all required
devices. Use 'for_each_host_dev_and_slaves_all' instead and
filter out duplicates.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95zfcp_rules/module-setup.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/modules.d/95zfcp_rules/module-setup.sh 
b/modules.d/95zfcp_rules/module-setup.sh
index 3f80754..df13fa1 100755
--- a/modules.d/95zfcp_rules/module-setup.sh
+++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -16,11 +16,11 @@ cmdline() {
         _wwpn=$(cat ${_sdev}/wwpn)
         _ccw=$(cat ${_sdev}/hba_id)
         echo "rd.zfcp=${_ccw},${_wwpn},${_lun}"
-        return 1
+        return 0
     }
     [[ $hostonly ]] || [[ $mount_needs ]] && {
-        for_each_host_dev_and_slaves is_zfcp
-    }
+        for_each_host_dev_and_slaves_all is_zfcp
+    } | sort | uniq
 }
 
 # called by dracut
@@ -31,6 +31,7 @@ check() {
     require_binaries /usr/lib/udev/collect || return 1
 
     [[ $hostonly ]] || [[ $mount_needs ]] && {
+        found=0
         for _ccw in /sys/bus/ccw/devices/*/host* ; do
             [ -d "$_ccw" ] || continue
             found=$(($found+1));
-- 
1.8.4.5

++++++ 0111-90mdraid-Remove-line-for-offroot-detection.patch ++++++
>From 73c11cd35b563f94b65058aa8b4e01ce3ff6ef8a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 15:52:37 +0200
Subject: 90mdraid: Remove line for 'offroot' detection

Feature is not present in SLE12, so remove this line.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/90mdraid/parse-md.sh | 2 --
 1 file changed, 2 deletions(-)

diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index dd7bda2..947dbd4 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -52,5 +52,3 @@ if ! getargbool 1 rd.md.ddf -n rd_NO_MDDDF -n noddfmd -n 
nodmraid; then
     info "no MD RAID for SNIA ddf raids"
     udevproperty rd_NO_MDDDF=1
 fi
-
-strstr "$(mdadm --help-options 2>&1)" offroot && udevproperty 
rd_MD_OFFROOT=--offroot
-- 
1.8.4.5

++++++ 0112-99base-warn-on-invalid-command-for-initqueue.patch ++++++
>From 6d4c7a328cab1c6cda1aedb4a2149e9227c108f0 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 15:56:53 +0200
Subject: 99base: warn on invalid command for initqueue

When 'initqueue' is called with an invalid command it'll generate
invalid job scripts. This will lead to confusing error messages
later on.
So abort in these cases and print out a warning.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/99base/initqueue.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/modules.d/99base/initqueue.sh b/modules.d/99base/initqueue.sh
index 854a36a..cbf6fa2 100755
--- a/modules.d/99base/initqueue.sh
+++ b/modules.d/99base/initqueue.sh
@@ -44,6 +44,10 @@ exe=$1
 shift
 
 [ -x "$exe" ] || exe=$(command -v $exe)
+if [ -z "$exe" ] ; then
+    echo "Invalid command"
+    exit 1
+fi
 
 {
     [ -n "$onetime" ] && echo '[ -e "$job" ] && rm -f -- "$job"'
-- 
1.8.4.5

++++++ 0113-91zipl-Install-script-as-executable.patch ++++++
>From 488cf7ad86eee4cd9138d5e58c1baefeeb5e8c98 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 10 Jul 2014 15:58:24 +0200
Subject: 91zipl: Install script as executable

initqueue will only work with executable scripts, so we need to
mark it as such.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/91zipl/install_zipl_cmdline.sh | 2 +-
 modules.d/91zipl/module-setup.sh         | 2 +-
 modules.d/91zipl/parse-zipl.sh           | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 modules.d/91zipl/install_zipl_cmdline.sh

diff --git a/modules.d/91zipl/install_zipl_cmdline.sh 
b/modules.d/91zipl/install_zipl_cmdline.sh
old mode 100644
new mode 100755
index 8b454b8..3e939c1
--- a/modules.d/91zipl/install_zipl_cmdline.sh
+++ b/modules.d/91zipl/install_zipl_cmdline.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-DEV=$1
+DEV="$1"
 MNT=/boot/zipl
 
 if [ -z "$DEV" ] ; then
diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
index 84bb41d..eda4c32 100644
--- a/modules.d/91zipl/module-setup.sh
+++ b/modules.d/91zipl/module-setup.sh
@@ -35,7 +35,7 @@ install() {
     inst_multiple mount umount
 
     inst_hook cmdline 91 "$moddir/parse-zipl.sh"
-    inst "${moddir}/install_zipl_cmdline.sh" /sbin/install_zipl_cmdline.sh
+    inst_script "${moddir}/install_zipl_cmdline.sh" 
/sbin/install_zipl_cmdline.sh
     if [[ $hostonly_cmdline == "yes" ]] ; then
         local _zipl=$(cmdline)
 
diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
index f8c2ca4..308f228 100644
--- a/modules.d/91zipl/parse-zipl.sh
+++ b/modules.d/91zipl/parse-zipl.sh
@@ -31,7 +31,7 @@ if [ -n "$zipl_arg" ] ; then
     esac
     if [ "$zipl_env" ] ; then
         {
-            printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", 
RUN+="/sbin/initqueue --settled --onetime --unique 
/sbin/install_zipl_cmdline.sh %s"\n' \
+            printf 'ACTION=="add|change", SUBSYSTEM=="block", %s=="%s", 
RUN+="/sbin/initqueue --settled --onetime --unique --name install_zipl_cmdline 
/sbin/install_zipl_cmdline.sh %s"\n' \
                 ${zipl_env} ${zipl_val} ${zipl_arg}
             echo "[ -f /tmp/install.zipl.cmdline-done ]" 
>$hookdir/initqueue/finished/wait-zipl-conf.sh
         } >> /etc/udev/rules.d/99zipl-conf.rules
-- 
1.8.4.5

++++++ 0114-91zipl-Translate-ext2-3-into-ext4.patch ++++++
>From 12131d99811c9829ed1c19e164f2ef22634ba4e5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Fri, 11 Jul 2014 12:55:55 +0200
Subject: 91zipl: Translate 'ext2/3' into ext4

91zipl tries to read the filesystem for the /boot/zipl device.
On SLE12, however, the ext2 and ext3 filesystems are handled
by the ext4 module.
And due to bug#886839 no error is registered and booting fails.
So implement a band-aid to translate it into ext4.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/91zipl/module-setup.sh | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
index eda4c32..9fe6acc 100644
--- a/modules.d/91zipl/module-setup.sh
+++ b/modules.d/91zipl/module-setup.sh
@@ -17,7 +17,20 @@ depends() {
 
 # called by dracut
 installkernel() {
-    instmods ext2
+    local _boot_zipl
+
+    _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+    if [ -n "$_boot_zipl" ] ; then
+        eval $(blkid -s TYPE -o udev ${_boot_zipl})
+        if [ -n "$ID_FS_TYPE" ] ; then
+            case "$ID_FS_TYPE" in
+                ext?)
+                    ID_FS_TYPE=ext4
+                    ;;
+            esac
+            instmods ${ID_FS_TYPE}
+        fi
+    fi
 }
 
 # called by dracut
-- 
1.8.4.5

++++++ 0115-Handle-module-alias-properly.patch ++++++
>From 40556c48da1f7f15ad0eb727013589f6f45596f8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Sat, 12 Jul 2014 14:53:00 +0200
Subject: Handle module alias properly

Some modules (like ext4) provide aliases by which the modules
can be accessed, too. But when using aliases directly dracut
fails to include the correct module. So translate the alias
into the correct module name before checking the module.

References: bnc#886839

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 dracut-functions.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dracut-functions.sh b/dracut-functions.sh
index b6247f5..22e16ff 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1666,6 +1666,13 @@ instmods() {
             --*) _mpargs+=" $_mod" ;;
             *)
                 _mod=${_mod##*/}
+                # Check for aliased modules
+                _modalias=$(modinfo -k $kernel -F filename $_mod 2> /dev/null)
+                _modalias=${_modalias%.ko}
+                if [ "${_modalias##*/}" != "$_mod" ] ; then
+                    _mod=${_modalias##*/}
+                fi
+
                 # if we are already installed, skip this module and go on
                 # to the next one.
                 if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
-- 
1.8.4.5

++++++ 0116-Mark-scripts-as-executable.patch ++++++
>From 941b55f8d9d50b3ba20ba0a2bb64c7509d38ee72 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Sat, 12 Jul 2014 14:55:35 +0200
Subject: Mark scripts as executable

All scripts need to be marked as executable, otherwise dracut
won't be running them.

References: bnc#887010

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/81cio_ignore/module-setup.sh     | 0
 modules.d/81cio_ignore/parse-cio_accept.sh | 0
 modules.d/91crypt-loop/module-setup.sh     | 0
 modules.d/91zipl/module-setup.sh           | 0
 modules.d/91zipl/parse-zipl.sh             | 0
 modules.d/95fcoe/lldpad.sh                 | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 modules.d/81cio_ignore/module-setup.sh
 mode change 100644 => 100755 modules.d/81cio_ignore/parse-cio_accept.sh
 mode change 100644 => 100755 modules.d/91crypt-loop/module-setup.sh
 mode change 100644 => 100755 modules.d/91zipl/module-setup.sh
 mode change 100644 => 100755 modules.d/91zipl/parse-zipl.sh
 mode change 100644 => 100755 modules.d/95fcoe/lldpad.sh

diff --git a/modules.d/81cio_ignore/module-setup.sh 
b/modules.d/81cio_ignore/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh 
b/modules.d/81cio_ignore/parse-cio_accept.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91crypt-loop/module-setup.sh 
b/modules.d/91crypt-loop/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
old mode 100644
new mode 100755
diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
old mode 100644
new mode 100755
diff --git a/modules.d/95fcoe/lldpad.sh b/modules.d/95fcoe/lldpad.sh
old mode 100644
new mode 100755
-- 
1.8.4.5

++++++ 0117-95dasd_rules-Enable-the-device-before-checking-devic.patch ++++++
>From 22c039c79eb496af10fbc811854e07822b063616 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Mon, 14 Jul 2014 10:13:53 +0200
Subject: 95dasd_rules: Enable the device before checking device type

For creating dynamic udev rules parse-dasd.sh look for the device
type in sysfs, which of course does not exist if cio_ignore is
active. So first enable the device before checking.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95dasd_rules/parse-dasd.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/modules.d/95dasd_rules/parse-dasd.sh 
b/modules.d/95dasd_rules/parse-dasd.sh
index bafd053..0c297e5 100755
--- a/modules.d/95dasd_rules/parse-dasd.sh
+++ b/modules.d/95dasd_rules/parse-dasd.sh
@@ -7,6 +7,10 @@ create_udev_rule() {
     local _drv _cu_type _dev_type
     local _rule=/etc/udev/rules.d/51-dasd-${ccw}.rules
 
+    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+        cio_ignore -r $ccw
+    fi
+
     if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
         read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
         read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -31,10 +35,6 @@ create_udev_rule() {
     esac
     [ -z "${_drv}" ] && return 0
 
-    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
-        cio_ignore -r $ccw
-    fi
-
     [ -e ${_rule} ] && return 0
 
     cat > $_rule <<EOF
@@ -72,8 +72,10 @@ done
 
 for dasd_arg in $(getargs rd.dasd=); do
     (
+        local OLDIFS="$IFS"
         local IFS=","
         set -- $dasd_arg
+        IFS="$OLDIFS"
         while (($# > 0)); do
             case $1 in
                 autodetect|probeonly)
-- 
1.8.4.5

++++++ 0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch ++++++
>From d4245680ba1cd00a15b86f5ccecd4b8be124f6e5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Mon, 14 Jul 2014 10:17:07 +0200
Subject: 95zfcp_rules: Enable the device before checking device type

For creating dynamic udev rules parse-dasd.sh look for the device
type in sysfs, which of course does not exist if cio_ignore is
active. So first enable the device before checking.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95zfcp_rules/parse-zfcp.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh 
b/modules.d/95zfcp_rules/parse-zfcp.sh
index 00f530f..8db3d9a 100755
--- a/modules.d/95zfcp_rules/parse-zfcp.sh
+++ b/modules.d/95zfcp_rules/parse-zfcp.sh
@@ -9,6 +9,10 @@ create_udev_rule() {
     local _rule=/etc/udev/rules.d/51-zfcp-${ccw}.rules
     local _cu_type _dev_type
 
+    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
+        cio_ignore -r $ccw
+    fi
+
     if [ -e /sys/bus/ccw/devices/${ccw} ] ; then
         read _cu_type < /sys/bus/ccw/devices/${ccw}/cutype
         read _dev_type < /sys/bus/ccw/devices/${ccw}/devtype
@@ -20,10 +24,6 @@ create_udev_rule() {
         return 0;
     fi
 
-    if [ -x /sbin/cio_ignore ] && cio_ignore -i $ccw > /dev/null ; then
-        cio_ignore -r $ccw
-    fi
-
     [ -e ${_rule} ] && return 0
 
     if [ ! -f "$_rule" ] ; then
@@ -54,8 +54,10 @@ fi
 
 for zfcp_arg in $(getargs rd.zfcp); do
     (
+        local OLDIFS="$IFS"
         local IFS=","
         set $zfcp_arg
+        IFS="$OLDIFS"
         create_udev_rule $1 $2 $3
     )
 done
-- 
1.8.4.5

++++++ 0119-Reset-IFS-variable.patch ++++++
>From bcfdc4522d2f04d0a1fd46d80a8ac7ff357b8bc5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Mon, 14 Jul 2014 10:22:31 +0200
Subject: Reset IFS variable

Setting and unsetting the IFS variable is tricky. To be on the
safe side we should always reset the IFS variable to its original
value after parsing.

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95dasd/parse-dasd.sh | 2 ++
 modules.d/95fcoe/parse-fcoe.sh | 2 ++
 modules.d/95zfcp/parse-zfcp.sh | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh
index aba720b..e0d4a9c 100755
--- a/modules.d/95dasd/parse-dasd.sh
+++ b/modules.d/95dasd/parse-dasd.sh
@@ -3,8 +3,10 @@
 # ex: ts=8 sw=4 sts=4 et filetype=sh
 for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
     (
+        local OLDIFS="$IFS"
         local IFS=","
         set -- $dasd_arg
+        IFS="$OLDIFS"
         echo "$@" | normalize_dasd_arg >> /etc/dasd.conf
     )
 done
diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh
index 8e08303..4ee13cb 100755
--- a/modules.d/95fcoe/parse-fcoe.sh
+++ b/modules.d/95fcoe/parse-fcoe.sh
@@ -28,8 +28,10 @@ modprobe bnx2fc >/dev/null 2>&1
 udevadm settle --timeout=30
 
 parse_fcoe_opts() {
+    local OLDIFS="$IFS"
     local IFS=:
     set $fcoe
+    IFS="$OLDIFS"
 
     case $# in
         2)
diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh
index 1d21472..df29fb2 100755
--- a/modules.d/95zfcp/parse-zfcp.sh
+++ b/modules.d/95zfcp/parse-zfcp.sh
@@ -6,8 +6,10 @@ getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm 
/etc/zfcp.conf
 
 for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do
     (
+        local OLDIFS="$IFS"
         local IFS=","
         set $zfcp_arg
+        IFS="$OLDIFS"
         echo "$@" >> /etc/zfcp.conf
     )
 done
-- 
1.8.4.5

++++++ 0120-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch ++++++
>From 3c4d4b2c9654e418d422b80e052bdf6d9a02a188 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <tr...@suse.de>
Date: Tue, 15 Jul 2014 15:53:23 +0200
Subject: mkinitrd-suse.sh: Bail out with exit 1 if initrd cannot be generated

bnc#886630

Signed-off-by: Thomas Renninger <tr...@suse.de>
---
 mkinitrd-suse.sh | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
index bf10a9d..5b32e6c 100755
--- a/mkinitrd-suse.sh
+++ b/mkinitrd-suse.sh
@@ -282,7 +282,8 @@ done
 
 [[ $targets && $kernels ]] || default_kernel_images
 if [[ ! $targets || ! $kernels ]];then
-    error "No kernel found in $boot_dir"
+    error "No kernel found in $boot_dir or bad modules dir in /lib/modules"
+    exit 1
 fi
 
 # We can have several targets/kernels, transform the list to an array
@@ -303,6 +304,8 @@ fi
 [[ $domu_module_list ]] || domu_module_list="${DOMU_INITRD_MODULES}"
 shopt -s extglob
 
+failed=""
+
 for ((i=0 ; $i<${#targets[@]} ; i++)); do
 
     if [[ $img_vers ]];then
@@ -331,14 +334,18 @@ for ((i=0 ; $i<${#targets[@]} ; i++)); do
         # expansion magics
         if [ -n "${modules_all}" ];then
             $dracut_cmd $dracut_args --force-drivers "${modules_all}" 
"$target" "$kernel" &>/dev/null
+            [ $? -ne 0 ] && failed="$failed $target"
         else
             $dracut_cmd $dracut_args "$target" "$kernel" &>/dev/null
+            [ $? -ne 0 ] && failed="$failed $target"
         fi
     else
         if [ -n "${modules_all}" ];then
             $dracut_cmd $dracut_args --force-drivers "${modules_all}" 
"$target" "$kernel"
+            [ $? -ne 0 ] && failed="$failed $target"
         else
             $dracut_cmd $dracut_args "$target" "$kernel"
+            [ $? -ne 0 ] && failed="$failed $target"
         fi
     fi
 done
@@ -348,4 +355,12 @@ if [ "$skip_update_bootloader" ] ; then
 else
     echo "Update bootloader..."
     update-bootloader --refresh
+    [ $? -ne 0 ] && echo "Updating bootloader failed" && exit 1
+fi
+
+if [ "$failed" != "" ]; then
+    echo "Generating $failed targets failed"
+    exit 1
 fi
+
+exit 0
-- 
1.8.4.5

++++++ 0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch ++++++
>From 05bee849390ba39a5a441cbcc921634ddc298232 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <tr...@suse.de>
Date: Wed, 16 Jul 2014 16:37:15 +0200
Subject: Adjust initramfs-$kernel.img to SUSE default: initrd-$kernel

In lsinitrd and /usr/bin/dracut

bnc#882306

Signed-off-by: Thomas Renninger <tr...@suse.de>
---
 dracut.sh   | 2 +-
 lsinitrd.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dracut.sh b/dracut.sh
index a166cb6..2d8be59 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -627,7 +627,7 @@ if ! [[ $outfile ]]; then
     if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L 
/boot/${MACHINE_ID} ]] ); then
         outfile="/boot/${MACHINE_ID}/$kernel/initrd"
     else
-        outfile="/boot/initramfs-$kernel.img"
+        outfile="/boot/initrd-$kernel"
     fi
 fi
 
diff --git a/lsinitrd.sh b/lsinitrd.sh
index a697bc2..b66a653 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -87,7 +87,7 @@ else
         && [[ -d /boot/${MACHINE_ID} || -L /boot/${MACHINE_ID} ]] ; then
         image="/boot/${MACHINE_ID}/${KERNEL_VERSION}/initrd"
     else
-        image="/boot/initramfs-${KERNEL_VERSION}.img"
+        image="/boot/initrd-${KERNEL_VERSION}"
     fi
 fi
 
-- 
1.8.4.5

++++++ 0122-btrfs-btrfs-dump-super-and-btrfs-select-super-do-not.patch ++++++
>From e71e3590c953a02ee1696141ac2f48aa521e7087 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <tr...@suse.de>
Date: Thu, 17 Jul 2014 11:23:31 +0200
Subject: btrfs: btrfs-dump-super and btrfs-select-super do not exist

I could not find these binaries and as they seem to be very specific
btrfs rescue tools only, better remove them again.

bnc#886883

Signed-off-by: Thomas Renninger <tr...@suse.de>
---
 modules.d/90btrfs/module-setup.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules.d/90btrfs/module-setup.sh 
b/modules.d/90btrfs/module-setup.sh
index d76e767..5598f32 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -47,7 +47,7 @@ install() {
     fi
 
     # rescue utilities
-    inst_multiple btrfs-zero-log btrfs-image btrfs-dump-super
-    inst_multiple btrfs-debug-tree mkfs.btrfs btrfstune btrfs-select-super
+    inst_multiple btrfs-zero-log btrfs-image btrfs-debug-tree \
+        mkfs.btrfs btrfstune
     inst $(command -v btrfs) /sbin/btrfs
 }
-- 
1.8.4.5

++++++ 0123-95zfcp_rules-fix-typo-in-module_setup.patch ++++++
>From 9e0bf05cd6e0a0ff50502dbce31a8d5031219fe7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 17 Jul 2014 14:29:24 +0200
Subject: 95zfcp_rules: fix typo in module_setup

module_setup.sh has a typo preventing it from saving the correct
dracut commandline.

References: bnc#887582

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/95zfcp_rules/module-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules.d/95zfcp_rules/module-setup.sh 
b/modules.d/95zfcp_rules/module-setup.sh
index df13fa1..2e29ee1 100755
--- a/modules.d/95zfcp_rules/module-setup.sh
+++ b/modules.d/95zfcp_rules/module-setup.sh
@@ -54,7 +54,7 @@ install() {
         local _zfcp
 
         for _zfcp in $(cmdline) ; do
-            printf "%s\n" "$zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
+            printf "%s\n" "$_zfcp" >> "${initdir}/etc/cmdline.d/94zfcp.conf"
         done
     fi
     if [[ $hostonly ]] ; then
-- 
1.8.4.5

++++++ 0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch ++++++
>From de870b8879974927873264010b6294a70b6c7980 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Thu, 17 Jul 2014 14:09:28 +0200
Subject: 40network: Update iBFT scanning code to handle IPv6

IPv6 addresses should be specified in brackets so that the
ip= scanning code doesn't get confused.

References: bnc#887542

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/40network/net-lib.sh | 48 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 43 insertions(+), 5 deletions(-)

diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index a82f1a8..554f723 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -200,20 +200,51 @@ ibft_to_cmdline() {
 
             [ -e /tmp/net.${dev}.has_ibft_config ] && continue
 
+            [ -e ${iface}/flags ] && flags=$(read a < ${iface}/flags; echo $a)
+            # Skip invalid interfaces
+            (( $flags & 1 )) || continue
+            # Skip interfaces not used for booting
+            (( $flags & 2 )) || continue
             [ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
-
-            if [ -n "$dhcp" ]; then
-                echo "ip=$dev:dhcp"
+            [ -e ${iface}/origin ] && origin=$(read a < ${iface}/origin; echo 
$a)
+            [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
+
+            if [ -n "$ip" ] ; then
+                case "$ip" in
+                    *.*.*.*)
+                        family=ipv4
+                        ;;
+                    *:*)
+                        family=ipv6
+                        ;;
+                esac
+            fi
+            if [ -n "$dhcp" ] || [ "$origin" -eq 3 ]; then
+                if [ "$family" = "ipv6" ] ; then
+                    echo "ip=$dev:dhcp6"
+                else
+                    echo "ip=$dev:dhcp"
+                fi
             elif [ -e ${iface}/ip-addr ]; then
-                [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; 
echo $a)
                 # skip not assigned ip adresses
                 [ "$ip" = "0.0.0.0" ] && continue
                 [ -e ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; 
echo $a)
                 [ -e ${iface}/subnet-mask ] && mask=$(read a < 
${iface}/subnet-mask; echo $a)
+                [ -e ${iface}/prefix-len ] && prefix=$(read a < 
${iface}/prefix-len; echo $a)
                 [ -e ${iface}/primary-dns ] && dns1=$(read a < 
${iface}/primary-dns; echo $a)
                 [ -e ${iface}/secondary-dns ] && dns2=$(read a < 
${iface}/secondary-dns; echo $a)
                 [ -e ${iface}/hostname ] && hostname=$(read a < 
${iface}/hostname; echo $a)
-                if [ -n "$ip" ] && [ -n "$mask" ]; then
+                if [ "$family" = "ipv6" ] ; then
+                    if [ -n "$ip" ] ; then
+                        [ -n "$prefix" ] || prefix=64
+                        ip="[${ip}/${prefix}]"
+                        mask=
+                    fi
+                    if [ -n "$gw" ] ; then
+                        gw="[${gw}]"
+                    fi
+                fi
+                if [ -n "$ip" ] && [ -n "$mask" -o -n "$prefix" ]; then
                     echo 
"ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}"
                 else
                     warn "${iface} does not contain a valid iBFT configuration"
@@ -373,6 +404,13 @@ ip_to_var() {
             esac
             ;;
     esac
+    # Extract prefix length from CIDR notation
+    case $ip in
+        */*)
+            mask=${ip##*/}
+            ip=${ip%/*}
+            ;;
+    esac
 
     # ip=<ipv4-address> means anaconda-style static config argument cluster:
     # ip=<ip> gateway=<gw> netmask=<nm> hostname=<host> mtu=<mtu>
-- 
1.8.4.5

++++++ 0125-40network-separate-mask-and-prefix.patch ++++++
>From 50f59d60577283b71da5424e30d0c5981fb74f71 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <h...@suse.de>
Date: Fri, 18 Jul 2014 10:28:00 +0200
Subject: 40network: separate 'mask' and 'prefix'

The 'mask' parameter is used for both, the (IPv4) netmask and
the prefix length. As both are in different format separate them
out into 'mask' for the netmask and 'prefix' for the prefix length.
And also prefer the use of 'prefix' where possible to ease
calculation and better IPv6 support.

References: bnc#887542

Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 modules.d/40network/ifup.sh          |  9 ++++----
 modules.d/40network/net-lib.sh       | 42 +++++++++++++++++++++++++++++++++---
 modules.d/40network/parse-ip-opts.sh |  2 +-
 3 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index f3e07a6..e0bf035 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -223,13 +223,14 @@ do_static() {
     linkup $netif
     [ -n "$macaddr" ] && ip link set address $macaddr dev $netif
     [ -n "$mtu" ] && ip link set mtu $mtu dev $netif
+    [ -n "$mask" -a -z "$prefix" ] && prefix=$(mask_to_prefix $mask)
     if strglobin $ip '*:*:*'; then
         # note no ip addr flush for ipv6
-        ip addr add $ip/$mask ${srv:+peer $srv} dev $netif
+        ip addr add $ip/$prefix ${srv:+peer $srv} dev $netif
         wait_for_ipv6_dad $netif
     else
         ip addr flush dev $netif
-        ip addr add $ip/$mask ${srv:+peer $srv} brd + dev $netif
+        ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
     fi
 
     [ -n "$gw" ] && echo ip route add default via $gw dev $netif > 
/tmp/net.$netif.gw
@@ -404,7 +405,7 @@ for p in $(getargs ip=); do
         # Pull in existing static configuration
         . /etc/sysconfig/network/ifcfg-${netif}
         ip=${IPADDR}
-        mask=${PREFIXLEN}
+        prefix=${PREFIXLEN}
         mtu=${MTU}
         server=${REMOTE_IPADDR}
         gw=${GATEWAY}
@@ -418,7 +419,7 @@ for p in $(getargs ip=); do
     done
 
     # Store config for later use
-    for i in ip srv gw mask hostname macaddr dns1 dns2; do
+    for i in ip srv gw mask prefix hostname macaddr dns1 dns2; do
         eval '[ "$'$i'" ] && echo '$i'="$'$i'"'
     done > /tmp/net.$netif.override
 
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 554f723..a3b5030 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -9,6 +9,35 @@ get_ip() {
     ip=${ip##* }
 }
 
+mask_to_prefix() {
+    local mask="$1"
+    local prefix=0
+    local OLDIFS="$IFS"
+
+    IFS=:
+    set -- $mask
+    IFS="$OLDIFS"
+    for mask in $@ ; do
+        if [ "$mask" -eq 255 ] ; then
+            prefix=$(($prefix + 8))
+        elif [ "$mask" -eq 254 ] ; then
+            prefix=$(($prefix + 7))
+        elif [ "$mask" -eq 252 ] ; then
+            prefix=$(($prefix + 6))
+        elif [ "$mask" -eq 248 ] ; then
+            prefix=$(($prefix + 5))
+        elif [ "$mask" -eq 240 ] ; then
+            prefix=$(($prefix + 4))
+        elif [ "$mask" -eq 224 ] ; then
+            prefix=$(($prefix + 3))
+        elif [ "$mask" -eq 192 ] ; then
+            prefix=$(($prefix + 2))
+        elif [ "$mask" -eq 128 ] ; then
+            prefix=$(($prefix + 1))
+        fi
+    done
+}
+
 iface_for_remote_addr() {
     set -- $(ip -o route get to $1)
     echo $5
@@ -191,7 +220,7 @@ ibft_to_cmdline() {
         for iface in /sys/firmware/ibft/ethernet*; do
             local mac="" dev=""
             local dhcp="" ip="" gw="" mask="" hostname=""
-            local dns1 dns2
+            local dns1 dns2 prefix
 
             [ -e ${iface}/mac ] || continue
             mac=$(read a < ${iface}/mac; echo $a)
@@ -236,6 +265,7 @@ ibft_to_cmdline() {
                 [ -e ${iface}/hostname ] && hostname=$(read a < 
${iface}/hostname; echo $a)
                 if [ "$family" = "ipv6" ] ; then
                     if [ -n "$ip" ] ; then
+                        # Prefix defaults to 64 for IPv6
                         [ -n "$prefix" ] || prefix=64
                         ip="[${ip}/${prefix}]"
                         mask=
@@ -243,6 +273,11 @@ ibft_to_cmdline() {
                     if [ -n "$gw" ] ; then
                         gw="[${gw}]"
                     fi
+                else
+                    if [ -n "$prefix" ] ; then
+                        ip="$ip/$prefix"
+                        mask=
+                    fi
                 fi
                 if [ -n "$ip" ] && [ -n "$mask" -o -n "$prefix" ]; then
                     echo 
"ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}"
@@ -251,6 +286,7 @@ ibft_to_cmdline() {
                     warn "ip-addr=$ip"
                     warn "gateway=$gw"
                     warn "subnet-mask=$mask"
+                    warn "prefix-len=$prefix"
                     warn "hostname=$hostname"
                 fi
             else
@@ -379,7 +415,7 @@ ip_to_var() {
         fi
     done
 
-    unset ip srv gw mask hostname dev autoconf macaddr mtu dns1 dns2
+    unset ip srv gw mask prefix hostname dev autoconf macaddr mtu dns1 dns2
     case $# in
         0)  autoconf="error" ;;
         1)  autoconf=$1 ;;
@@ -407,7 +443,7 @@ ip_to_var() {
     # Extract prefix length from CIDR notation
     case $ip in
         */*)
-            mask=${ip##*/}
+            prefix=${ip##*/}
             ip=${ip%/*}
             ;;
     esac
diff --git a/modules.d/40network/parse-ip-opts.sh 
b/modules.d/40network/parse-ip-opts.sh
index e48b0f3..52a1923 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -74,7 +74,7 @@ for p in $(getargs ip=); do
         none|off)
             [ -z "$ip" ] && \
             die "For argument 'ip=$p'\nValue '$autoconf' without static 
configuration does not make sense"
-            [ -z "$mask" ] && \
+            [ -z "$mask" -a -z "$prefix" ] && \
                 die "Sorry, automatic calculation of netmask is not yet 
supported"
             ;;
         auto6);;
-- 
1.8.4.5

++++++ 0126-01fips-Add-drbg-module-to-force-loaded-modules.patch ++++++
>From f0c3f53ee00d1934a0df3f86c897a2ca51df86a0 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <meiss...@suse.de>
Date: Fri, 18 Jul 2014 15:53:22 +0200
Subject: 01fips: Add drbg module to force loaded modules

References: bnc#875855

Signed-off-by: Marcus Meissner <meiss...@suse.de>
---
 modules.d/01fips/module-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index d6907a3..8437e56 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -23,7 +23,7 @@ installkernel() {
     _fipsmodules+="sha512-ssse3 sha1-ssse3 sha256-ssse3 "
     _fipsmodules+="ghash-clmulni-intel "
 
-    # once it is in the kernel: _fipsmodules+="drbg "
+    _fipsmodules+="drbg "
 
     mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
 
-- 
1.8.4.5

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to