diff --git a/.gitignore b/.gitignore
index eab63f8..97e20cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,4 @@
 /dracut-044.tar.xz
 /dracut-045.tar.xz
 /dracut-046.tar.xz
+/dracut-047.tar.xz
diff --git a/0001.patch b/0001.patch
deleted file mode 100644
index 26baaaf..0000000
--- a/0001.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 0344c2be134fbdf1019052eb314b76b7e3251d52 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 11 Aug 2017 14:11:32 +0200
-Subject: [PATCH] dracut.spec: add support for builds without dist-tag
-
-In the module-build-service, we have pieces of dracut provided by different
-modules ("base-runtime" provides most functionality, but we need
-dracut-network in "installer". Since these two modules build with separate
-dist-tags, we need to reduce this strict requirement to ignore the dist-tag.
----
- dracut.spec | 17 ++++++++++++++++-
- git2spec.pl |  4 ++--
- 2 files changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index f6502c65..855adba6 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -14,9 +14,11 @@
- %define with_nbd 0
- %endif
- 
-+%define dist_free_release xxx
-+
- Name: dracut
- Version: xxx
--Release: xxx
-+Release: %{dist_free_release}%{?dist}
- 
- Summary: Initramfs generator using udev
- %if 0%{?fedora} || 0%{?rhel}
-@@ -136,7 +138,15 @@ NFS, iSCSI, NBD, FCoE with the dracut-network package.
- 
- %package network
- Summary: dracut modules to build a dracut initramfs with network support
-+%if 0%{?_module_build}
-+# In the module-build-service, we have pieces of dracut provided by different
-+# modules ("base-runtime" provides most functionality, but we need
-+# dracut-network in "installer". Since these two modules build with separate
-+# dist-tags, we need to reduce this strict requirement to ignore the dist-tag.
-+Requires: %{name} >= %{version}-%{dist_free_release}
-+%else
- Requires: %{name} = %{version}-%{release}
-+%endif
- Requires: iputils
- Requires: iproute
- Requires: dhclient
-@@ -184,7 +194,12 @@ initramfs with dracut, which drops capabilities.
- 
- %package live
- Summary: dracut modules to build a dracut initramfs with live image capabilities
-+%if 0%{?_module_build}
-+# See the network subpackage comment.
-+Requires: %{name} >= %{version}-%{dist_free_release}
-+%else
- Requires: %{name} = %{version}-%{release}
-+%endif
- Requires: %{name}-network = %{version}-%{release}
- Requires: tar gzip coreutils bash device-mapper curl
- 
-diff --git a/git2spec.pl b/git2spec.pl
-index 4b03a95c..0c5f3b9e 100755
---- a/git2spec.pl
-+++ b/git2spec.pl
-@@ -39,8 +39,8 @@ while(<>) {
-     if (/^Version:/) {
- 	print "Version: $tag\n";
-     }
--    elsif (/^Release:/) {
--	print "Release: $release%{?dist}\n";
-+    elsif (/^%define dist_free_release/) {
-+	print "%define dist_free_release $release\n";
-     }
-     elsif ((/^Source0:/) || (/^Source:/)) {
- 	print $_;
-
diff --git a/0002.patch b/0002.patch
deleted file mode 100644
index 9092e2e..0000000
--- a/0002.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 00f3525a300c5a09d9b379832c17457be2e2d0f4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 14 Aug 2017 09:45:31 +0200
-Subject: [PATCH] lvmmerge: depend on systemd
-
-Fixes https://github.com/dracutdevs/dracut/issues/267
----
- modules.d/80lvmmerge/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/80lvmmerge/module-setup.sh b/modules.d/80lvmmerge/module-setup.sh
-index dddb6ec1..89c93f31 100755
---- a/modules.d/80lvmmerge/module-setup.sh
-+++ b/modules.d/80lvmmerge/module-setup.sh
-@@ -10,7 +10,7 @@ check() {
- 
- # called by dracut
- depends() {
--    echo lvm
-+    echo lvm dracut-systemd systemd
-     return 0
- }
- 
-
diff --git a/0003.patch b/0003.patch
deleted file mode 100644
index db7a6aa..0000000
--- a/0003.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3bd3ef5819141b06eb4d5c9e139e047efccb6d1f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 14 Aug 2017 14:58:47 +0200
-Subject: [PATCH] kernel-modules: don't call instmods with empty arguments
-
-otherwise it will try to read from stdin and stall
----
- modules.d/90kernel-modules/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
-index 462b5417..c6405e95 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -57,7 +57,7 @@ installkernel() {
-             if [[ -z $filesystems ]]; then
-                 dracut_instmods -o -P ".*/(kernel/fs/nfs|kernel/fs/nfsd|kernel/fs/lockd)/.*" '=fs'
-             fi
--        else
-+        elif [[ "${host_fs_types[*]}" ]]; then
-             hostonly='' instmods "${host_fs_types[@]}"
-         fi
-     fi
-
diff --git a/0004.patch b/0004.patch
deleted file mode 100644
index 118eac3..0000000
--- a/0004.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e5d60187837a0a6d80f719fd6e9238adcc3ebbb9 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 16 Aug 2017 10:16:55 +0200
-Subject: [PATCH] Merge pull request #268 from danimo/ssh_include_nss
-
-ssh-client: Include nss_ libraries
----
- modules.d/95ssh-client/module-setup.sh | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
-index 2a7e0ee3..672de502 100755
---- a/modules.d/95ssh-client/module-setup.sh
-+++ b/modules.d/95ssh-client/module-setup.sh
-@@ -63,7 +63,16 @@ inst_sshenv()
- 
- # called by dracut
- install() {
-+    local _nsslibs
-+
-     inst_multiple ssh scp
-     inst_sshenv
-+
-+    _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
-+        |  tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
-+    _nsslibs=${_nsslibs#|}
-+    _nsslibs=${_nsslibs%|}
-+
-+    inst_libdir_file -n "$_nsslibs" 'libnss_*.so*'
- }
- 
-
diff --git a/0005.patch b/0005.patch
deleted file mode 100644
index d80f8aa..0000000
--- a/0005.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 721bec3f143141fe3243e9f9dda9931f99b6b085 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 18 Aug 2017 09:33:10 +0200
-Subject: [PATCH] Merge pull request #269 from xlpang/master
-
-introduce new "--no-hostonly-default-device"  argument
----
- dracut.8.asc                             |  4 ++++
- dracut.sh                                | 11 +++++++++--
- modules.d/95rootfs-block/module-setup.sh |  6 ++++++
- 3 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/dracut.8.asc b/dracut.8.asc
-index ca169189..23c53cc4 100644
---- a/dracut.8.asc
-+++ b/dracut.8.asc
-@@ -323,6 +323,10 @@ provide a valid _/etc/fstab_.
- **--no-hostonly-cmdline**:
-     Do not store kernel command line arguments needed in the initramfs
- 
-+**--no-hostonly-default-device**:
-+    Do not generate implicit host devices like root, swap, fstab, etc.
-+    Use "--mount" or "--add-device" to explicitly add devices as needed.
-+
- **--hostonly-i18n**:
-     Install only needed keyboard and font files according to the host configuration (default).
- 
-diff --git a/dracut.sh b/dracut.sh
-index 3a136d46..681a6b7a 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -151,6 +151,10 @@ Creates initial ramdisk images for preloading modules
-                         in the initramfs
-   --no-hostonly-cmdline Do not store kernel command line arguments needed
-                         in the initramfs
-+  --no-hostonly-default-device
-+                        Do not generate implicit host devices like root,
-+                        swap, fstab, etc. Use "--mount" or "--add-device"
-+                        to explicitly add devices as needed.
-   --hostonly-i18n       Install only needed keyboard and font files according
-                         to the host configuration (default).
-   --no-hostonly-i18n    Install all keyboard and font files available.
-@@ -345,6 +349,7 @@ rearrange_params()
-         --long no-host-only \
-         --long hostonly-cmdline \
-         --long no-hostonly-cmdline \
-+        --long no-hostonly-default-device \
-         --long persistent-policy: \
-         --long fstab \
-         --long help \
-@@ -539,6 +544,8 @@ while :; do
-                        i18n_install_all_l="yes" ;;
-         --no-hostonly-cmdline)
-                        hostonly_cmdline_l="no" ;;
-+        --no-hostonly-default-device)
-+                       hostonly_default_device="no" ;;
-         --persistent-policy)
-                        persistent_policy_l="$2";       PARMS_TO_STORE+=" '$2'"; shift;;
-         --fstab)       use_fstab_l="yes" ;;
-@@ -1133,7 +1140,7 @@ if (( ${#add_device_l[@]} )); then
-     push_host_devs "${add_device_l[@]}"
- fi
- 
--if [[ $hostonly ]]; then
-+if [[ $hostonly ]] && [[ "$hostonly_default_device" != "no" ]]; then
-     # in hostonly mode, determine all devices, which have to be accessed
-     # and examine them for filesystem types
- 
-@@ -1300,7 +1307,7 @@ export initdir dracutbasedir \
-     dracutmodules force_add_dracutmodules add_dracutmodules omit_dracutmodules \
-     mods_to_load \
-     fw_dir drivers_dir debug no_kernel kernel_only \
--    omit_drivers mdadmconf lvmconf root_dev \
-+    omit_drivers mdadmconf lvmconf root_devs \
-     use_fstab fstab_lines libdirs fscks nofscks ro_mnt \
-     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
-     debug host_fs_types host_devs swap_devs sshkey add_fstab \
-diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh
-index 2b06bac2..987373b4 100755
---- a/modules.d/95rootfs-block/module-setup.sh
-+++ b/modules.d/95rootfs-block/module-setup.sh
-@@ -32,6 +32,12 @@ cmdline_journal() {
- cmdline_rootfs() {
-     local _dev=/dev/block/$(find_root_block_device)
-     local _fstype _flags _subvol
-+
-+    # "--no-hostonly-default-device" can result in empty root_devs
-+    if [ "${#root_devs[@]}" -eq 0 ]; then
-+        return
-+    fi
-+
-     if [ -e $_dev ]; then
-         printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$_dev")")"
-         _fstype="$(find_mp_fstype /)"
-
diff --git a/0006.patch b/0006.patch
deleted file mode 100644
index fa9cdb5..0000000
--- a/0006.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 15d00459c3ec0fe665037e3b7f5834ca8ef35cfe Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 23 Aug 2017 09:31:53 +0200
-Subject: [PATCH] Merge pull request #272 from yzygitzh/no-lsinitrd-if-quiet
-
-dracut.sh: disable lsinitrd logging when quiet
----
- dracut.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 681a6b7a..06127ca4 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1759,7 +1759,7 @@ if ! (
-     exit 1
- fi
- 
--if (( maxloglvl >= 5 )); then
-+if (( maxloglvl >= 5 )) && (( verbosity_mod_l >= 0 )); then
-     if [[ $allowlocal ]]; then
- 	"$dracutbasedir/lsinitrd.sh" "${DRACUT_TMPDIR}/initramfs.img"| ddebug
-     else
-
diff --git a/0007.patch b/0007.patch
deleted file mode 100644
index 24b69a3..0000000
--- a/0007.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 1499719d2542eb937099c98c9b8618e0f3e8c3a2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 30 Aug 2017 11:39:06 +0200
-Subject: [PATCH] Merge pull request #274 from danimo/system_allow_coredump
-
-Enable core dumps with systemd from initrd
----
- modules.d/00systemd/module-setup.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
-index 5da22a93..23d39bbe 100755
---- a/modules.d/00systemd/module-setup.sh
-+++ b/modules.d/00systemd/module-setup.sh
-@@ -33,6 +33,7 @@ install() {
- 
-     inst_multiple -o \
-         $systemdutildir/systemd \
-+        $systemdutildir/systemd-coredump \
-         $systemdutildir/systemd-cgroups-agent \
-         $systemdutildir/systemd-shutdown \
-         $systemdutildir/systemd-reply-password \
-
diff --git a/0008.patch b/0008.patch
deleted file mode 100644
index 3720557..0000000
--- a/0008.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 424c065cd99cc9c35a92a68d34c161beff5f5497 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 30 Aug 2017 11:51:12 +0200
-Subject: [PATCH] Merge pull request #276 from danimo/copy_multipath_confd
-
-95multipath: Pickup files in /etc/multipath/conf.d
----
- modules.d/90multipath/module-setup.sh | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
-index e5683395..28857ebc 100755
---- a/modules.d/90multipath/module-setup.sh
-+++ b/modules.d/90multipath/module-setup.sh
-@@ -65,7 +65,8 @@ install() {
-         xdrgetprio \
-         /etc/xdrdevices.conf \
-         /etc/multipath.conf \
--        /etc/multipath/*
-+        /etc/multipath/* \
-+        /etc/multipath/conf.d/*
- 
-     inst $(command -v partx) /sbin/partx
- 
-
diff --git a/0009.patch b/0009.patch
deleted file mode 100644
index e369af4..0000000
--- a/0009.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 28401778c4c95b3750e73675dd4a4867303402d5 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Wed, 27 Sep 2017 13:27:42 +0200
-Subject: [PATCH] systemd: fix setting of timeouts for device units
-
-JobRunningTimeoutSec now affects how long can start jobs for device
-units stay in the "running" state. Disabling default job timeout via
-JobTimeoutSec=0 doesn't disable running state timeout. We need to set
-running state timeout as well.
-
-Note that doing this the other way around has effect on generic timeout,
-i.e. disabling running state timeout disables generic timeout. But doing
-it this way we would create implicit dependency on fairly new
-systemd-234. However, by setting both options we don't create dependency
-on specific systemd version.
----
- modules.d/90dmsquash-live/dmsquash-generator.sh | 1 +
- modules.d/90livenet/livenet-generator.sh        | 1 +
- modules.d/98dracut-systemd/rootfs-generator.sh  | 1 +
- modules.d/99base/dracut-lib.sh                  | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
-index a5bfbdf2..d47cf14a 100755
---- a/modules.d/90dmsquash-live/dmsquash-generator.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
-@@ -78,4 +78,5 @@ mkdir -p "$GENERATOR_DIR/$_dev.device.d"
- {
-     echo "[Unit]"
-     echo "JobTimeoutSec=3000"
-+    echo "JobRunningTimeoutSec=3000"
- } > "$GENERATOR_DIR/$_dev.device.d/timeout.conf"
-diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
-index 969ef4f2..a349cd0b 100755
---- a/modules.d/90livenet/livenet-generator.sh
-+++ b/modules.d/90livenet/livenet-generator.sh
-@@ -57,4 +57,5 @@ mkdir -p "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d"
- {
-     echo "[Unit]"
-     echo "JobTimeoutSec=3000"
-+    echo "JobRunningTimeoutSec=3000"
- } > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf"
-diff --git a/modules.d/98dracut-systemd/rootfs-generator.sh b/modules.d/98dracut-systemd/rootfs-generator.sh
-index eada3d15..4ae693bb 100755
---- a/modules.d/98dracut-systemd/rootfs-generator.sh
-+++ b/modules.d/98dracut-systemd/rootfs-generator.sh
-@@ -32,6 +32,7 @@ generator_wait_for_dev()
-         {
-             echo "[Unit]"
-             echo "JobTimeoutSec=$_timeout"
-+            echo "JobRunningTimeoutSec=$_timeout"
-         } > "$GENERATOR_DIR"/${_name}.device.d/timeout.conf
-     fi
- }
-diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
-index 80385456..675abf22 100755
---- a/modules.d/99base/dracut-lib.sh
-+++ b/modules.d/99base/dracut-lib.sh
-@@ -938,6 +938,7 @@ set_systemd_timeout_for_dev()
-             {
-                 echo "[Unit]"
-                 echo "JobTimeoutSec=$_timeout"
-+                echo "JobRunningTimeoutSec=$_timeout"
-             } > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
-             type mark_hostonly >/dev/null 2>&1 && mark_hostonly /etc/systemd/system/${_name}.device.d/timeout.conf
-             _needreload=1
-
diff --git a/0010.patch b/0010.patch
deleted file mode 100644
index b0796a5..0000000
--- a/0010.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 32618b456e4ba4b02e595eae067ec77df526ab9b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 9 Oct 2017 09:38:37 +0200
-Subject: [PATCH] Merge pull request #277 from imran1008/bond-master-mtu
-
-Set MTU on bond master as opposed to a bond slave
----
- modules.d/40network/ifup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
-index 687b5707..0db3c021 100755
---- a/modules.d/40network/ifup.sh
-+++ b/modules.d/40network/ifup.sh
-@@ -257,7 +257,7 @@ if [ -z "$NO_BOND_MASTER" ]; then
-             done
- 
-             # Set mtu on bond master
--            [ -n "$bondmtu" ] && ip link set mtu $bondmtu dev $netif
-+            [ -n "$bondmtu" ] && ip link set mtu $bondmtu dev $bondname
- 
-             # add the bits to setup the needed post enslavement parameters
-             for arg in $bondoptions ; do
-
diff --git a/0011.patch b/0011.patch
deleted file mode 100644
index b71dadc..0000000
--- a/0011.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 7c9e64272ef250a4b8804beaba24a3da7c157ca4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 9 Oct 2017 11:39:10 +0200
-Subject: [PATCH] Merge pull request #280 from tpgxyz/zstd
-
-add support for Zstandard
----
- dracut-bash-completion.sh           |  2 +-
- dracut-initramfs-restore.sh         |  2 ++
- dracut.8.asc                        |  8 ++++++++
- dracut.conf.5.asc                   |  2 +-
- dracut.sh                           | 10 +++++++++-
- lsinitrd.sh                         |  3 +++
- modules.d/99img-lib/img-lib.sh      |  5 +++--
- modules.d/99img-lib/module-setup.sh |  2 +-
- 8 files changed, 28 insertions(+), 6 deletions(-)
-
-diff --git a/dracut-bash-completion.sh b/dracut-bash-completion.sh
-index 09330a67..9e5806cc 100644
---- a/dracut-bash-completion.sh
-+++ b/dracut-bash-completion.sh
-@@ -29,7 +29,7 @@ _dracut() {
-                               --hardlink --nohardlink --noprefix --mdadmconf --nomdadmconf
-                               --lvmconf --nolvmconf --debug --profile --verbose --quiet
-                               --local --hostonly --no-hostonly --fstab --help --bzip2 --lzma
--                              --xz --no-compress --gzip --list-modules --show-modules --keep
-+                              --xz --zstd --no-compress --gzip --list-modules --show-modules --keep
-                               --printsize --regenerate-all --noimageifnotneeded --early-microcode
-                               --no-early-microcode --print-cmdline --prelink --noprelink --reproducible
-                               --uefi
-diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
-index 0c41a59c..94794804 100644
---- a/dracut-initramfs-restore.sh
-+++ b/dracut-initramfs-restore.sh
-@@ -31,6 +31,8 @@ elif $SKIP "$IMG" | xzcat | cpio -id --no-absolute-filenames --quiet >/dev/null;
-     rm -f -- .need_shutdown
- elif $SKIP "$IMG" | lz4 -d -c | cpio -id --no-absolute-filenames --quiet >/dev/null; then
-     rm -f -- .need_shutdown
-+elif $SKIP "$IMG" | zstd -d -c | cpio -id --no-absolute-filenames --quiet >/dev/null; then
-+    rm -f -- .need_shutdown
- else
-     # something failed, so we clean up
-     echo "Unpacking of $IMG to /run/initramfs failed" >&2
-diff --git a/dracut.8.asc b/dracut.8.asc
-index 23c53cc4..64c0207f 100644
---- a/dracut.8.asc
-+++ b/dracut.8.asc
-@@ -432,6 +432,14 @@ Make sure your kernel has lz4 decompression support compiled in, otherwise you
- will not be able to boot.
- ====
- 
-+**--zstd**::
-+    Compress the generated initramfs using Zstandard.
-+[WARNING]
-+====
-+Make sure your kernel has zstd decompression support compiled in, otherwise you
-+will not be able to boot.
-+====
-+
- **--compress** _<compressor>_::
-     Compress the generated initramfs using the passed compression program. If
-     you pass it just the name of a compression program, it will call that
-diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
-index 907a2fd4..6e8f3eba 100644
---- a/dracut.conf.5.asc
-+++ b/dracut.conf.5.asc
-@@ -79,7 +79,7 @@ Configuration files must have the extension .conf; other extensions are ignored.
-     Specify additional files to include in the initramfs, separated by spaces,
-     if they exist.
- 
--*compress=*"__{bzip2|lzma|xz|gzip|lzo|lz4|<compressor [args ...]>}__"::
-+*compress=*"__{bzip2|lzma|xz|gzip|lzo|lz4|zstd|<compressor [args ...]>}__"::
-     Compress the generated initramfs using the passed compression program. If
-     you pass it just the name of a compression program, it will call that
-     program with known-working arguments. If you pass arguments, it will be called
-diff --git a/dracut.sh b/dracut.sh
-index 06127ca4..5ad0f464 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -197,6 +197,9 @@ Creates initial ramdisk images for preloading modules
-   --lz4                 Compress the generated initramfs using lz4.
-                          Make sure that your kernel has lz4 support compiled
-                          in, otherwise you will not be able to boot.
-+  --zstd                Compress the generated initramfs using Zstandard.
-+                         Make sure that your kernel has zstd support compiled
-+                         in, otherwise you will not be able to boot.
-   --compress [COMPRESSION] Compress the generated initramfs with the
-                          passed compression program.  Make sure your kernel
-                          knows how to decompress the generated initramfs,
-@@ -358,6 +361,7 @@ rearrange_params()
-         --long xz \
-         --long lzo \
-         --long lz4 \
-+        --long zstd \
-         --long no-compress \
-         --long gzip \
-         --long list-modules \
-@@ -557,6 +561,7 @@ while :; do
-         --xz)          compress_l="xz";;
-         --lzo)         compress_l="lzo";;
-         --lz4)         compress_l="lz4";;
-+        --zstd)        compress_l="zstd";;
-         --no-compress) _no_compress_l="cat";;
-         --gzip)        compress_l="gzip";;
-         --list-modules) do_list="yes";;
-@@ -797,7 +802,7 @@ fi
- 
- if ! [[ $compress ]]; then
-     # check all known compressors, if none specified
--    for i in pigz gzip lz4 lzop lzma xz lbzip2 bzip2 cat; do
-+    for i in pigz gzip lz4 lzop zstd lzma xz lbzip2 bzip2 cat; do
-         command -v "$i" &>/dev/null || continue
-         compress="$i"
-         break
-@@ -837,6 +842,9 @@ case $compress in
-     lz4)
-         compress="lz4 -l -9"
-         ;;
-+    zstd)
-+       compress="zstd -15 -q -T0"
-+       ;;
- esac
- 
- [[ $hostonly = yes ]] && hostonly="-h"
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index b19a66a0..f4088453 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -219,6 +219,9 @@ case $bin in
-     $'\x89'LZO$'\0'*)
-         CAT="lzop -d -c"
-         ;;
-+    $'0xFD2FB528'*)
-+        CAT="zstd -d -c"
-+        ;;
-     *)
-         if echo "test"|xz|xzcat --single-stream >/dev/null 2>&1; then
-             CAT="xzcat --single-stream --"
-diff --git a/modules.d/99img-lib/img-lib.sh b/modules.d/99img-lib/img-lib.sh
-index 48e56ce7..43785812 100755
---- a/modules.d/99img-lib/img-lib.sh
-+++ b/modules.d/99img-lib/img-lib.sh
-@@ -8,12 +8,13 @@
- # works with stdin if $1 is not set.
- det_archive() {
-     # NOTE: echo -e works in ash and bash, but not dash
--    local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')"
-+    local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')" zs="$(echo -e '0xFD2FB528')"
-     local headerblock="$(dd ${1:+if=$1} bs=262 count=1 2>/dev/null)"
-     case "$headerblock" in
-         $xz*) echo "xz" ;;
-         $gz*) echo "gzip" ;;
-         $bz*) echo "bzip2" ;;
-+        $zs*) echo "zstd" ;;
-         07070*) echo "cpio" ;;
-         *ustar) echo "tar" ;;
-     esac
-@@ -33,7 +34,7 @@ unpack_archive() {
-     local img="$1" outdir="$2" archiver="" decompr=""
-     local ft="$(det_archive $img)"
-     case "$ft" in
--        xz|gzip|bzip2) decompr="$ft -dc" ;;
-+        xz|gzip|bzip2|zstd) decompr="$ft -dc" ;;
-         cpio|tar) decompr="cat";;
-         *) return 1 ;;
-     esac
-diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
-index 69346b2f..fe1eca1a 100755
---- a/modules.d/99img-lib/module-setup.sh
-+++ b/modules.d/99img-lib/module-setup.sh
-@@ -16,7 +16,7 @@ depends() {
- install() {
-     inst_multiple tar gzip dd bash
-     # TODO: make this conditional on a cmdline flag / config option
--    inst_multiple -o cpio xz bzip2
-+    inst_multiple -o cpio xz bzip2 zstd
-     inst_simple "$moddir/img-lib.sh" "/lib/img-lib.sh"
- }
- 
-
diff --git a/0012.patch b/0012.patch
deleted file mode 100644
index 992e6c4..0000000
--- a/0012.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From bada26263c36a8be07aece7e9f4986ee31e4d97f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 9 Oct 2017 11:47:08 +0200
-Subject: [PATCH] Merge pull request #287 from xlpang/master
-
-fcoe: handle CNAs with DCB firmware support
----
- modules.d/95fcoe/module-setup.sh | 26 ++++++++++++++++++++------
- 1 file changed, 20 insertions(+), 6 deletions(-)
-
-diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
-index e14a0ebb..eabb21c7 100755
---- a/modules.d/95fcoe/module-setup.sh
-+++ b/modules.d/95fcoe/module-setup.sh
-@@ -51,16 +51,30 @@ cmdline() {
-         read mac < ${i}/address
-         s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
-         if [ -z "$s" ] ; then
--	    p=$(get_vlan_parent ${i})
--	    if [ "$p" ] ; then
--	        s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
--	    fi
-+            p=$(get_vlan_parent ${i})
-+            if [ "$p" ] ; then
-+                s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
-+            fi
-         fi
-         if [ "$s" = "on" ] ; then
--	    dcb="dcb"
-+            dcb="dcb"
-         else
--	    dcb="nodcb"
-+            dcb="nodcb"
-         fi
-+
-+        # Some Combined Network Adapters(CNAs) implement DCB in firmware.
-+        # Do not run software-based DCB or LLDP on CNAs that implement DCB.
-+        # If the network interface provides hardware DCB/DCBX capabilities,
-+        # DCB_REQUIRED in "/etc/fcoe/cfg-xxx" is expected to set to "no".
-+        #
-+        # Force "nodcb" if there's any DCB_REQUIRED="no"(child or vlan parent).
-+        grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${i##*/} &>/dev/null
-+        [ $? -eq 0 ] && dcb="nodcb"
-+        if [ "$p" ] ; then
-+            grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${p} &>/dev/null
-+            [ $? -eq 0 ] && dcb="nodcb"
-+        fi
-+
-         echo "fcoe=${mac}:${dcb}"
-     done
- }
-
diff --git a/0013.patch b/0013.patch
deleted file mode 100644
index 5632da2..0000000
--- a/0013.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From bf5c53a33f36d15a87297d4492624d137c3cd9fa Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 9 Oct 2017 12:51:29 +0200
-Subject: [PATCH] Merge pull request #290 from privb0x23/luks-detached
-
-Add basic LUKS detached header support
----
- modules.d/90crypt/cryptroot-ask.sh | 20 ++++++++++++++++-
- modules.d/90crypt/module-setup.sh  | 46 ++++++++++++++++++++++++++++++--------
- modules.d/90crypt/parse-crypt.sh   | 33 ++++++++++++++++++++++++++-
- 3 files changed, 88 insertions(+), 11 deletions(-)
-
-diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
-index 5b513638..9f635eb3 100755
---- a/modules.d/90crypt/cryptroot-ask.sh
-+++ b/modules.d/90crypt/cryptroot-ask.sh
-@@ -29,13 +29,27 @@ if [ -f /etc/crypttab ] && getargbool 1 rd.luks.crypttab -d -n rd_NO_CRYPTTAB; t
-             continue
-         fi
- 
-+        # PARTUUID used in crypttab
-+        if [ "${dev%%=*}" = "PARTUUID" ]; then
-+            if [ "luks-${dev##PARTUUID=}" = "$luksname" ]; then
-+                luksname="$name"
-+                break
-+            fi
-+
-         # UUID used in crypttab
--        if [ "${dev%%=*}" = "UUID" ]; then
-+        elif [ "${dev%%=*}" = "UUID" ]; then
-             if [ "luks-${dev##UUID=}" = "$luksname" ]; then
-                 luksname="$name"
-                 break
-             fi
- 
-+        # ID used in crypttab
-+        elif [ "${dev%%=*}" = "ID" ]; then
-+            if [ "luks-${dev##ID=}" = "$luksname" ]; then
-+                luksname="$name"
-+                break
-+            fi
-+
-         # path used in crypttab
-         else
-             cdev=$(readlink -f $dev)
-@@ -88,6 +102,10 @@ while [ $# -gt 0 ]; do
-             ;;
-         allow-discards)
-             allowdiscards="--allow-discards"
-+            ;;
-+        header=*)
-+            cryptsetupopts="${cryptsetupopts} --${1}"
-+            ;;
-     esac
-     shift
- done
-diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
-index 9c1be998..69aceaab 100755
---- a/modules.d/90crypt/module-setup.sh
-+++ b/modules.d/90crypt/module-setup.sh
-@@ -68,22 +68,50 @@ install() {
- 
-     if [[ $hostonly ]] && [[ -f /etc/crypttab ]]; then
-         # filter /etc/crypttab for the devices we need
--        while read _mapper _dev _rest || [ -n "$_mapper" ]; do
-+        while read _mapper _dev _luksfile _luksoptions || [ -n "$_mapper" ]; do
-             [[ $_mapper = \#* ]] && continue
-             [[ $_dev ]] || continue
- 
-+            [[ $_dev == PARTUUID=* ]] && \
-+                _dev="/dev/disk/by-partuuid/${_dev#PARTUUID=}"
-+
-             [[ $_dev == UUID=* ]] && \
-                 _dev="/dev/disk/by-uuid/${_dev#UUID=}"
- 
--            echo "$_dev $(blkid $_dev -s UUID -o value)" > /usr/lib/dracut/modules.d/90crypt/block_uuid.map
--
--            for _hdev in "${!host_fs_types[@]}"; do
--                [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue
--                if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then
--                    echo "$_mapper $_dev $_rest"
--                    break
--                fi
-+            [[ $_dev == ID=* ]] && \
-+                _dev="/dev/disk/by-id/${_dev#ID=}"
-+
-+            echo "$_dev $(blkid $_dev -s UUID -o value)" >> /usr/lib/dracut/modules.d/90crypt/block_uuid.map
-+
-+            # loop through the options to check for the force option
-+            luksoptions=${_luksoptions}
-+            OLD_IFS="${IFS}"
-+            IFS=,
-+            set -- ${luksoptions}
-+            IFS="${OLD_IFS}"
-+
-+            while [ $# -gt 0 ]; do
-+                case $1 in
-+                    force)
-+                        forceentry="yes"
-+                        break
-+                        ;;
-+                esac
-+                shift
-             done
-+
-+            # include the entry regardless
-+            if [ "${forceentry}" = "yes" ]; then
-+                echo "$_mapper $_dev $_luksfile $_luksoptions"
-+            else
-+                for _hdev in "${!host_fs_types[@]}"; do
-+                    [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue
-+                    if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then
-+                        echo "$_mapper $_dev $_luksfile $_luksoptions"
-+                        break
-+                    fi
-+                done
-+            fi
-         done < /etc/crypttab > $initdir/etc/crypttab
-         mark_hostonly /etc/crypttab
-     fi
-diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
-index 8a0db02b..f0a4fba9 100755
---- a/modules.d/90crypt/parse-crypt.sh
-+++ b/modules.d/90crypt/parse-crypt.sh
-@@ -35,6 +35,7 @@ else
-         echo 'ACTION!="add|change", GOTO="luks_end"'
-     } > /etc/udev/rules.d/70-luks.rules.new
- 
-+    SERIAL=$(getargs rd.luks.serial -d rd_LUKS_SERIAL)
-     LUKS=$(getargs rd.luks.uuid -d rd_LUKS_UUID)
-     tout=$(getarg rd.luks.key.tout)
- 
-@@ -44,7 +45,37 @@ else
-         done < /etc/crypttab
-     fi
- 
--    if [ -n "$LUKS" ]; then
-+    if [ -n "$SERIAL" ]; then
-+        for serialid in $SERIAL; do
-+
-+            serialid=${serialid##luks-}
-+            if luksname=$(_cryptgetargsname "rd.luks.name=$serialid="); then
-+                luksname="${luksname#$serialid=}"
-+            else
-+                luksname="luks-$serialid"
-+            fi
-+
-+            if [ -z "$DRACUT_SYSTEMD" ]; then
-+                {
-+                    printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
-+                    printf -- 'RUN+="%s --settled --unique --onetime ' "$(command -v initqueue)"
-+                    printf -- '--name cryptroot-ask-%%k %s ' "$(command -v cryptroot-ask)"
-+                    printf -- '$env{DEVNAME} %s %s"\n' "$luksname" "$tout"
-+                } >> /etc/udev/rules.d/70-luks.rules.new
-+            else
-+                luksname=$(dev_unit_name "$luksname")
-+                if ! crypttab_contains "$serialid"; then
-+                    {
-+                        printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
-+                        printf -- 'RUN+="%s --settled --unique --onetime ' "$(command -v initqueue)"
-+                        printf -- '--name systemd-cryptsetup-%%k %s start ' "$(command -v systemctl)"
-+                        printf -- 'systemd-cryptsetup@%s.service"\n' "$luksname"
-+                    } >> /etc/udev/rules.d/70-luks.rules.new
-+                fi
-+            fi
-+        done
-+
-+    elif [ -n "$LUKS" ]; then
-         for luksid in $LUKS; do
- 
-             luksid=${luksid##luks-}
-
diff --git a/0014.patch b/0014.patch
deleted file mode 100644
index 62e8387..0000000
--- a/0014.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0d947530b2b8928b5b2040c2e56cb966a5ea941f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 9 Oct 2017 12:50:25 +0200
-Subject: [PATCH] TEST-70: sort interfaces for validation
-
----
- test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh | 2 +-
- test/TEST-70-BONDBRIDGETEAMVLAN/test.sh        | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
-index 2018393b..8c33ff0f 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
-@@ -10,7 +10,7 @@ echo "made it to the rootfs! Powering down."
- 
- (
-     echo OK
--    ip -o -4 address show scope global | while read n if rest; do echo $if;done
-+    ip -o -4 address show scope global | while read n if rest; do echo $if;done | sort
-     for i in /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-*; do
- 	echo $i
- 	grep -v 'UUID=' $i
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-index 6b4e10df..277bbd01 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-@@ -235,7 +235,7 @@ test_setup() {
-         export initdir="$TESTDIR"/mnt/nfs/client
-         . "$basedir"/dracut-init.sh
-         inst_multiple sh shutdown poweroff stty cat ps ln ip \
--            mount dmesg mkdir cp ping grep ls
-+            mount dmesg mkdir cp ping grep ls sort
-         for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
-             [[ -f ${_terminfodir}/l/linux ]] && break
-         done
-
diff --git a/0015.patch b/0015.patch
deleted file mode 100644
index f9d1728..0000000
--- a/0015.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4e3833f6a28c52dc4c1d4e8dd24d419af10c4dc6 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 9 Oct 2017 12:59:29 +0200
-Subject: [PATCH] Merge pull request #285 from rldleblanc/fix-typos
-
-Fix a couple of typos.
----
- modules.d/40network/parse-bond.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/40network/parse-bond.sh b/modules.d/40network/parse-bond.sh
-index 48e548b9..c35c81d6 100755
---- a/modules.d/40network/parse-bond.sh
-+++ b/modules.d/40network/parse-bond.sh
-@@ -1,7 +1,7 @@
- #!/bin/sh
- #
- # Format:
--#       bond=<bondname>[:<bondslaves>:[:<options>[:<mtu>]]]
-+#       bond=<bondname>[:<bondslaves>[:<options>[:<mtu>]]]
- #
- #       bondslaves is a comma-separated list of physical (ethernet) interfaces
- #       options is a comma-separated list on bonding options (modinfo bonding for details) in format compatible with initscripts
-@@ -12,7 +12,7 @@
- #       if the mtu is specified, it will be set on the bond master
- #
- 
--# We translate list of slaves to space-separated here to mwke it easier to loop over them in ifup
-+# We translate list of slaves to space-separated here to make it easier to loop over them in ifup
- # Ditto for bonding options
- parsebond() {
-     local v=${1}:
-
diff --git a/0017.patch b/0017.patch
deleted file mode 100644
index 3b2b090..0000000
--- a/0017.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4c2d98c75b0dd3dad45430becb78c9d40bc6be1b Mon Sep 17 00:00:00 2001
-From: Martin Wilck <mwilck@suse.com>
-Date: Mon, 9 Oct 2017 14:39:12 +0200
-Subject: [PATCH] emergency.service: use Type=idle
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Type=oneshot, as currently set in dracut's emergency service file,
-causes an awkward situation if emergency mode is entered e.g. because
-of a root device timeout, and the root device appears later because it
-just has taken longer than the timeout. In that situation, my
-expectation (backed by past positive experience) is that the user should
-be able to simply exit the emergency shell and resume normal boot.
-
-:/# systemctl status sysroot.mount
-● sysroot.mount - /sysroot
-   Loaded: loaded (/proc/cmdline; bad; vendor preset: enabled)
-   Active: active (mounted) since Mon 2017-10-09 14:32:15 CEST; 16s ago
-    Where: /sysroot
-     What: /dev/mapper/3600601600a30200024fbbaf3f500e411-part5
-     Docs: man:fstab(5)
-           man:systemd-fstab-generator(8)
-  Process: 1873 ExecMount=/usr/bin/mount /dev/disk/by-uuid/63751805-6abc-46a3-a66f-427920dece4d /sysroot -o ro (code=exited, status=0/SUCCESS)
-    Tasks: 0 (limit: 512)
-
-:/# systemctl list-jobs
-JOB UNIT              TYPE  STATE
- 56 emergency.target  start waiting
- 57 emergency.service start running
-
-2 jobs listed.
-:/# exit
-logout
-Failed to start default.target: Transaction is destructive.
-
-(system keeps idling from this point on, user has no chance to
-do anything).
-
-This results from the combination of two effects:
-1) initrd-root-fs.target sets "OnFailureJobMode=replace-irreversibly",
-2) emergency.service's Type=oneshot causes the start jobs for both
-emergency.service and emergency.target to persist while the user is in
-the emergency shell.
-
-When the shell is exited, systemd tries to isolate "initrd.target"
-again, but this fails with "the transaction is destructive" error
-because of the still pending jobs.
-
-This patch fixes this by changing the Type of "emergency.service" from
-"oneshot" to "idle".
----
- modules.d/98dracut-systemd/emergency.service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service
-index 288aac39..100146a3 100644
---- a/modules.d/98dracut-systemd/emergency.service
-+++ b/modules.d/98dracut-systemd/emergency.service
-@@ -17,7 +17,7 @@ Environment=NEWROOT=/sysroot
- WorkingDirectory=/
- ExecStart=/bin/dracut-emergency
- ExecStopPost=-/usr/bin/systemctl --fail --no-block default
--Type=oneshot
-+Type=idle
- StandardInput=tty-force
- StandardOutput=inherit
- StandardError=inherit
-
diff --git a/0018.patch b/0018.patch
deleted file mode 100644
index a4cf332..0000000
--- a/0018.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 8c2aa6161a2435f2af7e7df3a36125e85af0f0ec Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 9 Oct 2017 17:40:04 +0200
-Subject: [PATCH] git2spec.pl: handle empty merge commits
-
----
- git2spec.pl | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/git2spec.pl b/git2spec.pl
-index 0c5f3b9e..7853791e 100755
---- a/git2spec.pl
-+++ b/git2spec.pl
-@@ -5,6 +5,8 @@ sub create_patches {
-     my $pdir=shift;
-     my $n=1;
-     my @lines;
-+    my $fname;
-+    my $f=0;
- 
-     mkdir $pdir, 0755;
- 
-@@ -12,9 +14,13 @@ sub create_patches {
- 
-     while (<GIT>) {
-         if (/^From [a-z0-9]{40} .*$/) {
--            my $fname = sprintf("%04d", $n++).".patch";
--            push @lines, $fname;
-+            $fname = sprintf("%04d", $n++).".patch";
-             open FH, ">".$pdir."/".$fname;
-+            $f=1;
-+        }
-+        if (/^---$/ && $f == 1) {
-+            push @lines, $fname;
-+            $f=0;
-         }
-         print FH;
-     }
-
diff --git a/0019.patch b/0019.patch
deleted file mode 100644
index 429a045..0000000
--- a/0019.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 791d80168994f4784569c8ea47b7bff554102f5e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 10 Oct 2017 10:30:44 +0200
-Subject: [PATCH] dracut.sh: if /boot/vmlinuz-$version exists use /boot/ as
- output dir
-
-Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1475565
----
- dracut.sh | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 5ad0f464..995d983e 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -773,7 +773,9 @@ if ! [[ $outfile ]]; then
-         mkdir -p "$efidir/Linux"
-         outfile="$efidir/Linux/linux-$kernel${MACHINE_ID:+-${MACHINE_ID}}${BUILD_ID:+-${BUILD_ID}}.efi"
-     else
--        if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
-+        if [[ -e "/boot/vmlinuz-$kernel" ]]; then
-+            outfile="/boot/initramfs-$kernel.img"
-+        elif [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
-             outfile="/boot/${MACHINE_ID}/$kernel/initrd"
-         else
-             outfile="/boot/initramfs-$kernel.img"
-
diff --git a/0020.patch b/0020.patch
deleted file mode 100644
index 3cfdd0b..0000000
--- a/0020.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 04fa94987767a035ebcf7a4bb46f1356e709d9e8 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 10 Oct 2017 13:29:41 +0200
-Subject: [PATCH] Merge pull request #284 from sm00th/kmoddir
-
-dracut-install: fix relative paths in --kerneldir
----
- install/dracut-install.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/install/dracut-install.c b/install/dracut-install.c
-index 2c20b491..95425e8d 100644
---- a/install/dracut-install.c
-+++ b/install/dracut-install.c
-@@ -933,13 +933,6 @@ static int parse_argv(int argc, char *argv[])
-                         break;
-                 case ARG_KERNELDIR:
-                         kerneldir = strdup(optarg);
--                        if ((strncmp("/lib/modules/", kerneldir, 13) != 0)
--                            && (strncmp("/usr/lib/modules/", kerneldir, 17) != 0)) {
--                                char *p;
--                                p = strstr(kerneldir, "/lib/modules/");
--                                if (p != NULL)
--                                        kerneldirlen = p - kerneldir;
--                        }
-                         break;
-                 case ARG_FIRMWAREDIRS:
-                         firmwaredirs = strv_split(optarg, ":");
-@@ -1399,9 +1392,17 @@ static int install_modules(int argc, char **argv)
-         struct kmod_module *mod = NULL, *mod_o = NULL;
- 
-         const char *modname = NULL;
-+        char *abskpath = NULL;
-+        char *p;
-         int i;
- 
-         ctx = kmod_new(kerneldir, NULL);
-+        abskpath = kmod_get_dirname(ctx);
-+
-+        p = strstr(abskpath, "/lib/modules/");
-+        if (p != NULL)
-+                kerneldirlen = p - abskpath;
-+
-         if (arg_hostonly) {
-                 char *modalias_file;
-                 modalias_file = getenv("DRACUT_KERNEL_MODALIASES");
-
diff --git a/0021.patch b/0021.patch
deleted file mode 100644
index b46d6c8..0000000
--- a/0021.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 2c9bcac1136c6a18aedcdcdac5789ccf5cd18492 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 10 Oct 2017 13:39:17 +0200
-Subject: [PATCH] dracut-install: char* -> const char*
-
----
- install/dracut-install.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/install/dracut-install.c b/install/dracut-install.c
-index 95425e8d..82e882cc 100644
---- a/install/dracut-install.c
-+++ b/install/dracut-install.c
-@@ -1392,7 +1392,7 @@ static int install_modules(int argc, char **argv)
-         struct kmod_module *mod = NULL, *mod_o = NULL;
- 
-         const char *modname = NULL;
--        char *abskpath = NULL;
-+        const char *abskpath = NULL;
-         char *p;
-         int i;
- 
-
diff --git a/0023.patch b/0023.patch
deleted file mode 100644
index 64f5d08..0000000
--- a/0023.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From faabcb23602673f87ec60965b3ff615004371603 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 11 Oct 2017 15:28:20 +0200
-Subject: [PATCH] dracut.sh: quote sync file argument
-
----
- dracut.sh | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 995d983e..990700af 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1823,8 +1823,7 @@ fi
- 
- command -v restorecon &>/dev/null && restorecon -- "$outfile"
- 
--sync $outfile 2> /dev/null
--if [ $? -ne 0 ] ; then
-+if ! sync "$outfile" 2> /dev/null; then
-     dinfo "dracut: sync operartion on newly created initramfs $outfile failed"
-     exit 1
- fi
-
diff --git a/0024.patch b/0024.patch
deleted file mode 100644
index 815e4d3..0000000
--- a/0024.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6bc8fbda610c6ce0a7c20242ff7ed811cdced89d Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 12 Oct 2017 11:23:38 +0200
-Subject: [PATCH] Merge pull request #223 from
- bmr-cymru/bmr-ignore-activation-skip
-
-lvm_scan.sh: use -K when calling lvchange
----
- modules.d/90lvm/lvm_scan.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh
-index 8bf08641..61a18b24 100755
---- a/modules.d/90lvm/lvm_scan.sh
-+++ b/modules.d/90lvm/lvm_scan.sh
-@@ -114,7 +114,7 @@ if [ -n "$LVS" ] ; then
-     info "Scanning devices $lvmdevs for LVM logical volumes $LVS"
-     lvm lvscan $lvm_ignorelockingfailure 2>&1 | vinfo
-     for LV in $LVS; do
--        lvm lvchange --yes -ay $lvm_quirk_args $LV 2>&1 | vinfo
-+        lvm lvchange --yes -K -ay $lvm_quirk_args $LV 2>&1 | vinfo
-     done
- fi
- 
-
diff --git a/0025.patch b/0025.patch
deleted file mode 100644
index f2b1583..0000000
--- a/0025.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4b758ebe2288e594a1f522334192e5d8fa1f96af Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 12 Oct 2017 13:32:00 +0200
-Subject: [PATCH] Merge pull request #294 from nullr0ute/arm-fixes
-
-Add rpmsg, hwspinlock and usb/misc for ARM
----
- modules.d/90kernel-modules/module-setup.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
-index c6405e95..076f1e8a 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -32,17 +32,20 @@ installkernel() {
-                 "=drivers/clk" \
-                 "=drivers/dma" \
-                 "=drivers/extcon" \
-+                "=drivers/hwspinlock" \
-                 "=drivers/i2c/busses" \
-                 "=drivers/mfd" \
-                 "=drivers/phy" \
-                 "=drivers/power" \
-                 "=drivers/regulator" \
-+                "=drivers/rpmsg" \
-                 "=drivers/rtc" \
-                 "=drivers/soc" \
-                 "=drivers/usb/chipidea" \
-                 "=drivers/usb/dwc2" \
-                 "=drivers/usb/dwc3" \
-                 "=drivers/usb/host" \
-+                "=drivers/usb/misc" \
-                 "=drivers/usb/musb" \
-                 "=drivers/usb/phy" \
- 		"=drivers/scsi/hisi_sas" \
-
diff --git a/0026.patch b/0026.patch
deleted file mode 100644
index 7a37d97..0000000
--- a/0026.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1751bacda1b705f60e6ded9862d21b5bda127482 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 23 Oct 2017 10:23:42 +0200
-Subject: [PATCH] Merge pull request #296 from
- dracut-mailing-devs/20170303132146.4968-1-crrodriguez@opensuse.org
-
-systemd 233 requires sha256, hmac and algif_hash modules
----
- modules.d/00systemd/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
-index 23d39bbe..d022de65 100755
---- a/modules.d/00systemd/module-setup.sh
-+++ b/modules.d/00systemd/module-setup.sh
-@@ -18,7 +18,7 @@ depends() {
- }
- 
- installkernel() {
--    hostonly='' instmods autofs4 ipv6
-+    hostonly='' instmods autofs4 ipv6 algif_hash hmac sha256
-     instmods -s efivarfs
- }
- 
-
diff --git a/0027.patch b/0027.patch
deleted file mode 100644
index 97bb510..0000000
--- a/0027.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 21789cbb0a6d103176a2e10c9dd456cdcdcb4b94 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 25 Oct 2017 12:53:47 +0200
-Subject: [PATCH] make qemu and qemu-net a default module in non-hostonly mode
-
----
- modules.d/90qemu-net/module-setup.sh | 31 ++++++++++++++++--------------
- modules.d/90qemu/module-setup.sh     | 37 ++++++++++++++++++++----------------
- 2 files changed, 38 insertions(+), 30 deletions(-)
-
-diff --git a/modules.d/90qemu-net/module-setup.sh b/modules.d/90qemu-net/module-setup.sh
-index 58f12339..121e83df 100755
---- a/modules.d/90qemu-net/module-setup.sh
-+++ b/modules.d/90qemu-net/module-setup.sh
-@@ -2,22 +2,25 @@
- 
- # called by dracut
- check() {
--    if type -P systemd-detect-virt >/dev/null 2>&1; then
--        vm=$(systemd-detect-virt --vm >/dev/null 2>&1)
--        (($? != 0)) && return 255
--        [[ $vm = "qemu" ]] && return 0
--        [[ $vm = "kvm" ]] && return 0
--        [[ $vm = "bochs" ]] && return 0
--    fi
-+    if [[ $hostonly ]] || [[ $mount_needs ]]; then
-+        if type -P systemd-detect-virt >/dev/null 2>&1; then
-+            vm=$(systemd-detect-virt --vm >/dev/null 2>&1)
-+            (($? != 0)) && return 255
-+            [[ $vm = "qemu" ]] && return 0
-+            [[ $vm = "kvm" ]] && return 0
-+            [[ $vm = "bochs" ]] && return 0
-+        fi
- 
--    for i in /sys/class/dmi/id/*_vendor; do
--        [[ -f $i ]] || continue
--        read vendor < $i
--        [[  "$vendor" == "QEMU" ]] && return 0
--        [[  "$vendor" == "Bochs" ]] && return 0
--    done
-+        for i in /sys/class/dmi/id/*_vendor; do
-+            [[ -f $i ]] || continue
-+            read vendor < $i
-+            [[  "$vendor" == "QEMU" ]] && return 0
-+            [[  "$vendor" == "Bochs" ]] && return 0
-+        done
- 
--    return 255
-+        return 255
-+    fi
-+    return 0
- }
- 
- # called by dracut
-diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh
-index 9f8495a6..7e5ea6a4 100755
---- a/modules.d/90qemu/module-setup.sh
-+++ b/modules.d/90qemu/module-setup.sh
-@@ -2,28 +2,33 @@
- 
- # called by dracut
- check() {
--    if type -P systemd-detect-virt >/dev/null 2>&1; then
--        vm=$(systemd-detect-virt --vm 2>/dev/null)
--        (($? != 0)) && return 255
--        [[ $vm = "qemu" ]] && return 0
--        [[ $vm = "kvm" ]] && return 0
--        [[ $vm = "bochs" ]] && return 0
-+    if [[ $hostonly ]] || [[ $mount_needs ]]; then
-+        if type -P systemd-detect-virt >/dev/null 2>&1; then
-+            vm=$(systemd-detect-virt --vm 2>/dev/null)
-+            (($? != 0)) && return 255
-+            [[ $vm = "qemu" ]] && return 0
-+            [[ $vm = "kvm" ]] && return 0
-+            [[ $vm = "bochs" ]] && return 0
-+        fi
-+
-+        for i in /sys/class/dmi/id/*_vendor; do
-+            [[ -f $i ]] || continue
-+            read vendor < $i
-+            [[ "$vendor" == "QEMU" ]] && return 0
-+            [[ "$vendor" == "Red Hat" ]] && return 0
-+            [[ "$vendor" == "Bochs" ]] && return 0
-+        done
-+
-+        return 255
-     fi
- 
--    for i in /sys/class/dmi/id/*_vendor; do
--        [[ -f $i ]] || continue
--        read vendor < $i
--        [[ "$vendor" == "QEMU" ]] && return 0
--        [[ "$vendor" == "Red Hat" ]] && return 0
--        [[ "$vendor" == "Bochs" ]] && return 0
--    done
--    return 255
-+    return 0
- }
- 
- # called by dracut
- installkernel() {
--        # qemu specific modules
--        hostonly='' instmods \
-+    # qemu specific modules
-+    hostonly='' instmods \
-             ata_piix ata_generic pata_acpi cdrom sr_mod ahci \
-             virtio_blk virtio virtio_ring virtio_pci \
-             virtio_scsi virtio_console virtio_rng \
-
diff --git a/0028.patch b/0028.patch
deleted file mode 100644
index d367a3a..0000000
--- a/0028.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e190224345f3a8b2f9e85d84bc879dd96bf265da Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 26 Oct 2017 09:08:28 +0200
-Subject: [PATCH] lsinitrd.sh: dismiss "cat" error messages
-
-nobody wants to see "cat: broken pipe"
----
- lsinitrd.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index f4088453..f3f727c8 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -172,7 +172,7 @@ fi
- read -N 6 bin < "$image"
- case $bin in
-     $'\x71\xc7'*|070701)
--        CAT="cat --"
-+        CAT="cat 2>/dev/null --"
-         is_early=$(cpio --extract --verbose --quiet --to-stdout -- 'early_cpio' < "$image" 2>/dev/null)
-         if [[ "$is_early" ]]; then
-             if [[ -n "$unpackearly" ]]; then
-@@ -211,7 +211,7 @@ case $bin in
-         CAT="bzcat --"
-         ;;
-     $'\x71\xc7'*|070701)
--        CAT="cat --"
-+        CAT="cat 2>/dev/null --"
-         ;;
-     $'\x02\x21'*)
-         CAT="lz4 -d -c"
-
diff --git a/0029.patch b/0029.patch
deleted file mode 100644
index c5fe4a8..0000000
--- a/0029.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ed9281d6d13b6250e3f12408366fca46bc3384ce Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 26 Oct 2017 09:31:27 +0200
-Subject: [PATCH] dracut.sh: after doing the lazy resolve always install
- dependencies
-
-Exit the lazy resolving mode after doing the lazy resolve, because there
-won't be any lazy resolving anymore after this step.
-
-Fixes https://github.com/dracutdevs/dracut/issues/152
-Obsoletes https://github.com/dracutdevs/dracut/pull/225
----
- dracut.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/dracut.sh b/dracut.sh
-index 990700af..635fdb1c 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1544,6 +1544,10 @@ if [[ $kernel_only != yes ]]; then
-         dinfo "*** Resolving executable dependencies done***"
-     fi
- 
-+    # Now we are done with lazy resolving, always install dependencies
-+    unset DRACUT_RESOLVE_LAZY
-+    export DRACUT_RESOLVE_DEPS=1
-+
-     # libpthread workaround: pthread_cancel wants to dlopen libgcc_s.so
-     for _dir in $libdirs; do
-         for _f in "$_dir/libpthread.so"*; do
-
diff --git a/0030.patch b/0030.patch
deleted file mode 100644
index 788dcd8..0000000
--- a/0030.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d976e193256407b7839b02cb888ea95a8d442180 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 27 Oct 2017 09:10:22 +0200
-Subject: [PATCH] Merge pull request #298 from derekhiggins/master
-
-Skip iscsi attachment if no info
----
- modules.d/95iscsi/iscsiroot.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
-index 379cc296..aefd263d 100755
---- a/modules.d/95iscsi/iscsiroot.sh
-+++ b/modules.d/95iscsi/iscsiroot.sh
-@@ -44,8 +44,9 @@ fi
- handle_firmware()
- {
-     if ! iscsistart -f; then
--        warn "iscistart: Could not get list of targets from firmware."
--        return 1
-+        warn "iscistart: Could not get list of targets from firmware. Skipping."
-+        echo 'skipped' > "/tmp/iscsistarted-firmware"
-+        return 0
-     fi
- 
-     for p in $(getargs rd.iscsi.param -d iscsi_param); do
-
diff --git a/0031.patch b/0031.patch
deleted file mode 100644
index afae8b5..0000000
--- a/0031.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f9042fd83980dc88d6545512da5ea36e397907ae Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 3 Nov 2017 09:15:02 +0100
-Subject: [PATCH] Merge pull request #302 from keszybz/yet-another-timeout-fix
-
-dmsquash-generator.sh: properly escape backslash in path
----
- modules.d/90dmsquash-live/dmsquash-generator.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
-index d47cf14a..fe190012 100755
---- a/modules.d/90dmsquash-live/dmsquash-generator.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
-@@ -70,7 +70,7 @@ ROOTFLAGS="$(getarg rootflags)"
-     else
-         echo "What=/dev/mapper/live-rw"
-         [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
--        _dev=dev-mapper-live\x2drw
-+        _dev=$'dev-mapper-live\\x2drw'
-     fi
- } > "$GENERATOR_DIR"/sysroot.mount
- 
-
diff --git a/0032.patch b/0032.patch
deleted file mode 100644
index b19911a..0000000
--- a/0032.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 18a5011ff2465b7923db907100f0f59f01908c4e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 3 Nov 2017 09:16:45 +0100
-Subject: [PATCH] Revert "lsinitrd.sh: dismiss "cat" error messages"
-
-This reverts commit e190224345f3a8b2f9e85d84bc879dd96bf265da.
----
- lsinitrd.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index f3f727c8..f4088453 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -172,7 +172,7 @@ fi
- read -N 6 bin < "$image"
- case $bin in
-     $'\x71\xc7'*|070701)
--        CAT="cat 2>/dev/null --"
-+        CAT="cat --"
-         is_early=$(cpio --extract --verbose --quiet --to-stdout -- 'early_cpio' < "$image" 2>/dev/null)
-         if [[ "$is_early" ]]; then
-             if [[ -n "$unpackearly" ]]; then
-@@ -211,7 +211,7 @@ case $bin in
-         CAT="bzcat --"
-         ;;
-     $'\x71\xc7'*|070701)
--        CAT="cat 2>/dev/null --"
-+        CAT="cat --"
-         ;;
-     $'\x02\x21'*)
-         CAT="lz4 -d -c"
-
diff --git a/0033.patch b/0033.patch
deleted file mode 100644
index d1bfac2..0000000
--- a/0033.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 11b3d60f5c20136530c3afe78d9a1a1160e021f2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 6 Nov 2017 09:55:54 +0100
-Subject: [PATCH] Merge pull request #303 from FGrose/bootmsg
-
-dmsquash-live-root: Replace incompatible shell syntax.
----
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 29 +++++++++++--------------
- 1 file changed, 13 insertions(+), 16 deletions(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 723d7f01..1458329c 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -178,29 +178,26 @@ do_live_overlay() {
-             warn "Using temporary overlay."
-         elif [ -n "$devspec" -a -n "$pathspec" ]; then
-             [ -z "$m" ] &&
--                m='  Unable to find a persistent overlay; using a temporary one.'
--            m=($'\n' "$m" $'\n'
--               '     All root filesystem changes will be lost on shutdown.'
--               $'\n' '        Press any key to continue')
--            echo -e "\n\n\n${m[*]}\n\n\n" > /dev/kmsg
-+                m='   Unable to find a persistent overlay; using a temporary one.'
-+            m="$m"$'\n      All root filesystem changes will be lost on shutdown.'
-+            m="$m"$'\n         Press [Enter] to continue.'
-+            echo -e "\n\n\n\n${m}\n\n\n" > /dev/kmsg
-             if [ -n "$DRACUT_SYSTEMD" ]; then
--                if plymouth --ping ; then
-+                if type plymouth >/dev/null 2>&1 && plymouth --ping ; then
-                     if getargbool 0 rhgb || getargbool 0 splash ; then
--                        m[0]='>>>'$'\n''>>>'$'\n''>>>'$'\n\n'
--                        m[5]=$'\n''<<<'$'\n''<<<'$'\n''<<<'
--                        plymouth display-message --text="${m[*]}"
-+                        m='>>>'$'\n''>>>'$'\n''>>>'$'\n\n\n'"$m"
-+                        m="${m%n.*}"$'n.\n\n\n''<<<'$'\n''<<<'$'\n''<<<'
-+                        plymouth display-message --text="${m}"
-                     else
--                        plymouth ask-question --prompt="${m[*]}" --command=true
-+                        plymouth ask-question --prompt="${m}" --command=true
-                     fi
-                 else
--                    m[0]='>>>'
--                    m[5]='<<<'
--                    unset -v m[2] m[4]
--                    systemd-ask-password --timeout=0 "${m[*]}"
-+                    m=">>>${m//.[[:space:]]/.}  <<<"
-+                    systemd-ask-password --timeout=0 "${m}"
-                 fi
-             else
--                plymouth --ping && plymouth --quit
--                read -s -r -p $'\n\n'"${m[*]}:" -n 1 reply
-+                type plymouth >/dev/null 2>&1 && plymouth --ping && plymouth --quit
-+                read -s -r -p $'\n\n'"${m}" -n 1 reply
-             fi
-         fi
-         if [ -n "$overlayfs" ]; then
-
diff --git a/0034.patch b/0034.patch
deleted file mode 100644
index dfc1bd4..0000000
--- a/0034.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 1ec2e34adcec7ee17fbf5e0410fd21cd1f2c9e27 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 6 Nov 2017 09:56:13 +0100
-Subject: [PATCH] Merge pull request #300 from danimo/pick_all_matching_keymaps
-
-10i18n: Load all keymaps for a given locale
----
- modules.d/10i18n/module-setup.sh | 35 ++++++++++++++++++++---------------
- 1 file changed, 20 insertions(+), 15 deletions(-)
-
-diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
-index 62babb2b..7723f6fa 100755
---- a/modules.d/10i18n/module-setup.sh
-+++ b/modules.d/10i18n/module-setup.sh
-@@ -29,21 +29,24 @@ install() {
- 
-     # This is from 10redhat-i18n.
-     findkeymap () {
--        local MAP=$1
-+        local MAPS=$1
-         local MAPNAME=${1%.map*}
--        [[ ! -f $MAP ]] && \
--            MAP=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\* | head -n1)
--        [[ " $KEYMAPS " = *" $MAP "* ]] && return
--        KEYMAPS="$KEYMAPS $MAP"
--        case $MAP in
--            *.gz) cmd=zgrep;;
--            *.bz2) cmd=bzgrep;;
--            *) cmd=grep ;;
--        esac
--
--        for INCL in $($cmd "^include " $MAP | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do
--            for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
--                findkeymap $FN
-+        local map
-+        [[ ! -f $MAPS ]] && \
-+            MAPS=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\*)
-+
-+        for map in $MAPS; do
-+            KEYMAPS="$KEYMAPS $map"
-+            case $map in
-+                *.gz) cmd=zgrep;;
-+                *.bz2) cmd=bzgrep;;
-+                *) cmd=grep ;;
-+            esac
-+
-+            for INCL in $($cmd "^include " $map | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do
-+                for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
-+                    findkeymap $FN
-+                done
-             done
-         done
-     }
-@@ -191,7 +194,9 @@ install() {
-             findkeymap ${map}
-         done
- 
--        inst_opt_decompress ${KEYMAPS}
-+        for keymap in ${KEYMAPS}; do
-+            inst_opt_decompress ${keymap}
-+        done
- 
-         inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.*
- 
-
diff --git a/0035.patch b/0035.patch
deleted file mode 100644
index 6f0df85..0000000
--- a/0035.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a13e97e5110121e38f9a6d9550b5ac07250a37af Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 30 Nov 2017 15:07:48 +0100
-Subject: [PATCH] dracut-install: remove double "//" in path names
-
-makes relative symlinks shorter
----
- install/dracut-install.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/install/dracut-install.c b/install/dracut-install.c
-index 82e882cc..90077226 100644
---- a/install/dracut-install.c
-+++ b/install/dracut-install.c
-@@ -633,7 +633,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
- 
-         hashmap_put(items, i, i);
- 
--        ret = asprintf(&fulldstpath, "%s/%s", destrootdir, dst);
-+        ret = asprintf(&fulldstpath, "%s/%s", destrootdir, (dst[0]=='/' ? (dst+1) : dst));
-         if (ret < 0) {
-                 log_error("Out of memory!");
-                 exit(EXIT_FAILURE);
-@@ -720,7 +720,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
-                 if (lstat(fulldstpath, &sb) != 0) {
-                         _cleanup_free_ char *absdestpath = NULL;
- 
--                        ret = asprintf(&absdestpath, "%s/%s", destrootdir, abspath);
-+                        ret = asprintf(&absdestpath, "%s/%s", destrootdir, (abspath[0]=='/' ? (abspath+1) : abspath));
-                         if (ret < 0) {
-                                 log_error("Out of memory!");
-                                 exit(EXIT_FAILURE);
-
diff --git a/0036.patch b/0036.patch
deleted file mode 100644
index d9ec54a..0000000
--- a/0036.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 96d69bbf34901e054d5f06f14224ae5094804103 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 1 Dec 2017 09:13:53 +0100
-Subject: [PATCH] Merge pull request #309 from danimo/multipath_bin_error
-
-Fix warning about multipath if not needed
----
- modules.d/90multipath/module-setup.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
-index 28857ebc..0a680b17 100755
---- a/modules.d/90multipath/module-setup.sh
-+++ b/modules.d/90multipath/module-setup.sh
-@@ -10,13 +10,14 @@ is_mpath() {
- # called by dracut
- check() {
-     local _rootdev
--    # if there's no multipath binary, no go.
--    require_binaries multipath || return 1
- 
-     [[ $hostonly ]] || [[ $mount_needs ]] && {
-         for_each_host_dev_and_slaves is_mpath || return 255
-     }
- 
-+    # if there's no multipath binary, no go.
-+    require_binaries multipath || return 1
-+
-     return 0
- }
- 
-
diff --git a/0037.patch b/0037.patch
deleted file mode 100644
index 18c867e..0000000
--- a/0037.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 84fe3c1a20544fbc46d54854ffb516947d751adf Mon Sep 17 00:00:00 2001
-From: Robert Scheck <robert@fedoraproject.org>
-Date: Fri, 1 Dec 2017 14:18:18 +0100
-Subject: [PATCH] Add fuse/ntfs-3g run-time dependencies for -live subpackage
-
----
- dracut.spec | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/dracut.spec b/dracut.spec
-index 855adba6..03363fb2 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -202,6 +202,9 @@ Requires: %{name} = %{version}-%{release}
- %endif
- Requires: %{name}-network = %{version}-%{release}
- Requires: tar gzip coreutils bash device-mapper curl
-+%if 0%{?fedora}
-+Requires: fuse ntfs-3g
-+%endif
- 
- %description live
- This package requires everything which is needed to build an
-
diff --git a/0038.patch b/0038.patch
deleted file mode 100644
index b9b1f78..0000000
--- a/0038.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 2bdce3d461a2d790d3bde41efb533c5e2881ee76 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 6 Dec 2017 14:49:42 +0100
-Subject: [PATCH] Merge pull request #311 from
- dracut-mailing-devs/1512379451-17727-1-git-send-email-piliu@redhat.com
-
-dracut.sh: for_each_host_xx() function should indicate the empty case
----
- dracut-functions.sh | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index 112b2434..575bd4a6 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -468,7 +468,8 @@ for_each_host_dev_fs()
-     local _dev
-     local _ret=1
- 
--    [[ "${#host_fs_types[@]}" ]] || return 0
-+    [[ "${#host_fs_types[@]}" ]] || return 2
-+
- 
-     for _dev in "${!host_fs_types[@]}"; do
-         $_func "$_dev" "${host_fs_types[$_dev]}" && _ret=0
-@@ -527,7 +528,7 @@ for_each_host_dev_and_slaves_all()
-     local _dev
-     local _ret=1
- 
--    [[ "${host_devs[@]}" ]] || return 0
-+    [[ "${host_devs[@]}" ]] || return 2
- 
-     for _dev in "${host_devs[@]}"; do
-         [[ -b "$_dev" ]] || continue
-@@ -543,7 +544,7 @@ for_each_host_dev_and_slaves()
-     local _func="$1"
-     local _dev
- 
--    [[ "${host_devs[@]}" ]] || return 0
-+    [[ "${host_devs[@]}" ]] || return 2
- 
-     for _dev in "${host_devs[@]}"; do
-         [[ -b "$_dev" ]] || continue
-
diff --git a/0039.patch b/0039.patch
deleted file mode 100644
index 7309d14..0000000
--- a/0039.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 825730780a209c1eecc9563b8454ab8bdb71e7cc Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 6 Dec 2017 14:58:36 +0100
-Subject: [PATCH] Merge pull request #310 from danimo/remove-systemd-bootchart
-
-Remove 00systemd-bootchart
----
- modules.d/00systemd-bootchart/module-setup.sh | 19 -------------------
- 1 file changed, 19 deletions(-)
-
-diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh
-deleted file mode 100755
-index dcf546e6..00000000
---- a/modules.d/00systemd-bootchart/module-setup.sh
-+++ /dev/null
-@@ -1,19 +0,0 @@
--#!/bin/bash
--
--# called by dracut
--check() {
--    [[ "$mount_needs" ]] && return 1
--    require_binaries $systemdutildir/systemd-bootchart || return 1
--    return 255
--}
--
--# called by dracut
--depends() {
--    return 0
--}
--
--# called by dracut
--install() {
--    inst_symlink /init /sbin/init
--    inst_multiple $systemdutildir/systemd-bootchart
--}
-
diff --git a/0040.patch b/0040.patch
deleted file mode 100644
index a38fd93..0000000
--- a/0040.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From cd0305cee0f74e82b6cff70782cd99dd56103835 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 12 Dec 2017 10:22:41 +0100
-Subject: [PATCH] Merge pull request #312 from jnbr/network
-
-40network: install grep
----
- modules.d/40network/module-setup.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
-index 2dd169e2..a1010911 100755
---- a/modules.d/40network/module-setup.sh
-+++ b/modules.d/40network/module-setup.sh
-@@ -4,7 +4,7 @@
- check() {
-     local _program
- 
--    require_binaries ip dhclient || return 1
-+    require_binaries ip dhclient sed awk grep || return 1
-     require_any_binary arping arping2 || return 1
- 
-     return 255
-@@ -24,7 +24,7 @@ installkernel() {
- # called by dracut
- install() {
-     local _arch _i _dir
--    inst_multiple ip dhclient sed awk
-+    inst_multiple ip dhclient sed awk grep
- 
-     inst_multiple -o arping arping2
-     strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
-
diff --git a/0041.patch b/0041.patch
deleted file mode 100644
index daeaf77..0000000
--- a/0041.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3dbf1f078357867b289ec58138fe134e7e99762e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 13 Dec 2017 08:51:12 +0100
-Subject: [PATCH] Merge pull request #313 from danimo/amd-family0x17
-
-Support Microcode Updates for AMD CPU Family 0x17
----
- dracut-functions.sh | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index 575bd4a6..642dcf09 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -662,8 +662,10 @@ get_ucode_file ()
-     local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
- 
-     if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
--        # If family greater than or equal to 0x16
--        if [[ $family -ge 22 ]]; then
-+        # If family greater than or equal to 0x17
-+        if [[ $family -ge 23 ]]; then
-+            printf "microcode_amd_fam17h.bin"
-+        elif [[ $family -eq 22 ]]; then
-             printf "microcode_amd_fam16h.bin"
-         elif [[ $family -eq 21 ]]; then
-             printf "microcode_amd_fam15h.bin"
-
diff --git a/0042.patch b/0042.patch
deleted file mode 100644
index 2f893bd..0000000
--- a/0042.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6b7dca1631cc0df6292c43008b6ff7ab7f60aad2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 14 Dec 2017 15:36:54 +0100
-Subject: [PATCH] Merge pull request #314 from danimo/simplify-amd-ucode
-
-Simplify microcode lookup for for AMD CPUs
----
- dracut-functions.sh | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index 642dcf09..e99c4533 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -662,13 +662,8 @@ get_ucode_file ()
-     local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
- 
-     if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
--        # If family greater than or equal to 0x17
--        if [[ $family -ge 23 ]]; then
--            printf "microcode_amd_fam17h.bin"
--        elif [[ $family -eq 22 ]]; then
--            printf "microcode_amd_fam16h.bin"
--        elif [[ $family -eq 21 ]]; then
--            printf "microcode_amd_fam15h.bin"
-+        if [[ $family -ge 21 ]]; then
-+            printf "microcode_amd_fam%xh.bin" $family
-         else
-             printf "microcode_amd.bin"
-         fi
-
diff --git a/0043.patch b/0043.patch
deleted file mode 100644
index 8c1e7b7..0000000
--- a/0043.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From fb9970ba2d5b9c25cd05f1e37411ad07604474ea Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 14 Dec 2017 15:37:40 +0100
-Subject: [PATCH] Merge pull request #315 from danimo/emergency-task-limit
-
-Fix task limit in emergency.service (the same change as in dracut-emergency.service) (bsc#1019938)
----
- modules.d/98dracut-systemd/emergency.service | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service
-index 100146a3..cf20806c 100644
---- a/modules.d/98dracut-systemd/emergency.service
-+++ b/modules.d/98dracut-systemd/emergency.service
-@@ -23,6 +23,7 @@ StandardOutput=inherit
- StandardError=inherit
- KillMode=process
- IgnoreSIGPIPE=no
-+TasksMax=infinity
- 
- # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
- # terminates cleanly.
-
diff --git a/0044.patch b/0044.patch
deleted file mode 100644
index cd9c3b5..0000000
--- a/0044.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 611b8ae0d71cf2562badb82ddc9abf1b3c848d50 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 14 Dec 2017 15:38:12 +0100
-Subject: [PATCH] Merge pull request #316 from danimo/btrfs-crc32-accel
-
-Include crc32c-intel module when using btrfs
----
- modules.d/90btrfs/module-setup.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
-index 9303dbe2..b0d0058b 100755
---- a/modules.d/90btrfs/module-setup.sh
-+++ b/modules.d/90btrfs/module-setup.sh
-@@ -26,6 +26,8 @@ depends() {
- # called by dracut
- installkernel() {
-     instmods btrfs
-+    # Make sure btfs can use fast crc32c implementations where available (bsc#1011554)
-+    instmods crc32c-intel
- }
- 
- # called by dracut
-
diff --git a/0045.patch b/0045.patch
deleted file mode 100644
index 4014afe..0000000
--- a/0045.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ffbe0373e2751cda7014b3a4024074bdac1c48aa Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:01:21 +0100
-Subject: [PATCH] Merge pull request #319 from danimo/modules-load.d-hostonly
-
-Fix loading of modules in modules-load.d
----
- modules.d/00systemd/module-setup.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
-index d022de65..1ed4b34f 100755
---- a/modules.d/00systemd/module-setup.sh
-+++ b/modules.d/00systemd/module-setup.sh
-@@ -160,7 +160,7 @@ install() {
-     }
- 
-     _mods=$(modules_load_get /usr/lib/modules-load.d)
--    [[ $_mods ]] && instmods $_mods
-+    [[ $_mods ]] && hostonly='' instmods $_mods
- 
-     if [[ $hostonly ]]; then
-         inst_multiple -H -o \
-@@ -180,7 +180,7 @@ install() {
-             ${NULL}
- 
-         _mods=$(modules_load_get /etc/modules-load.d)
--        [[ $_mods ]] && instmods $_mods
-+        [[ $_mods ]] && hostonly='' instmods $_mods
-     fi
- 
-     if ! [[ -e "$initdir/etc/machine-id" ]]; then
-
diff --git a/0046.patch b/0046.patch
deleted file mode 100644
index 4034afe..0000000
--- a/0046.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fa54381b4eb4967b1b193b671baca31841ab6dfe Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:02:39 +0100
-Subject: [PATCH] Merge pull request #320 from danimo/ifname-bond
-
-Do not pass ifname for bonding devices (bsc#995812)
----
- modules.d/95nfs/module-setup.sh | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
-index 31d90d42..b3ecf92d 100755
---- a/modules.d/95nfs/module-setup.sh
-+++ b/modules.d/95nfs/module-setup.sh
-@@ -57,7 +57,10 @@ cmdline() {
-         nfs_address=${lookup##* }
-     fi
-     ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
--    if [ -e /sys/class/net/$ifname/address ] ; then
-+    if [ -d /sys/class/net/$ifname/bonding ]; then
-+        dinfo "Found bonded interface '${ifname}'. Make sure to provide an appropriate 'bond=' cmdline."
-+        return
-+    elif [ -e /sys/class/net/$ifname/address ] ; then
-         ifmac=$(cat /sys/class/net/$ifname/address)
-         printf 'ifname=%s:%s ' ${ifname} ${ifmac}
-     fi
-
diff --git a/0047.patch b/0047.patch
deleted file mode 100644
index bee081e..0000000
--- a/0047.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8f4f40cb3c1bdef99fe4c9ccb073068415c915ba Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:05:49 +0100
-Subject: [PATCH] Merge pull request #322 from danimo/font_maps
-
-10i18n: Add correct fontmaps
----
- modules.d/10i18n/module-setup.sh | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
-index 7723f6fa..7320a919 100755
---- a/modules.d/10i18n/module-setup.sh
-+++ b/modules.d/10i18n/module-setup.sh
-@@ -209,7 +209,11 @@ install() {
-         if [[ ${FONT_MAP} ]]
-         then
-             FONT_MAP=${FONT_MAP%.trans}
--            inst_simple ${kbddir}/consoletrans/${FONT_MAP}.trans
-+            # There are three different formats that setfont supports
-+            inst_simple ${kbddir}/consoletrans/${FONT_MAP} \
-+            || inst_simple ${kbddir}/consoletrans/${FONT_MAP}.trans \
-+            || inst_simple ${kbddir}/consoletrans/${FONT_MAP}_to_uni.trans \
-+            || dwarn "Could not find FONT_MAP ${FONT_MAP}!"
-         fi
- 
-         if [[ ${FONT_UNIMAP} ]]
-
diff --git a/0048.patch b/0048.patch
deleted file mode 100644
index 018122a..0000000
--- a/0048.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From c0f2b6bebc0b2feefdb15a2862308c08bbd4a77e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:06:54 +0100
-Subject: [PATCH] Merge pull request #323 from danimo/dm-fixes
-
-Two SUSE fixes for 90dm
----
- modules.d/90dm/dm-shutdown.sh  | 31 +++++++++++++++++++++++++++++--
- modules.d/90dm/module-setup.sh |  2 +-
- 2 files changed, 30 insertions(+), 3 deletions(-)
-
-diff --git a/modules.d/90dm/dm-shutdown.sh b/modules.d/90dm/dm-shutdown.sh
-index 7e4f4a58..b23836f4 100755
---- a/modules.d/90dm/dm-shutdown.sh
-+++ b/modules.d/90dm/dm-shutdown.sh
-@@ -1,11 +1,38 @@
- #!/bin/sh
- 
-+_remove_dm() {
-+    local dev=$1
-+    local s
-+    local devname
-+
-+    for s in /sys/block/${dev}/holders/dm-* ; do
-+        [ -e ${s} ] || continue
-+        _remove_dm ${s##*/}
-+    done
-+    # multipath devices might have MD devices on top,
-+    # which are removed after this script. So do not
-+    # remove those to avoid spurious errors
-+    case $(cat /sys/block/${dev}/dm/uuid) in
-+        mpath-*)
-+            return 0
-+            ;;
-+        *)
-+            devname=$(cat /sys/block/${dev}/dm/name)
-+            dmsetup -v --noudevsync remove "$devname" || return $?
-+            ;;
-+    esac
-+    return 0
-+}
-+
- _do_dm_shutdown() {
-     local ret=0
-     local final=$1
-+    local dev
-+
-     info "Disassembling device-mapper devices"
--    for dev in $(dmsetup info -c --noheadings -o name) ; do
--        dmsetup -v --noudevsync remove "$dev" || ret=$?
-+    for dev in /sys/block/dm-* ; do
-+        [ -e ${dev} ] || continue
-+        _remove_dm ${dev##*/} || ret=$?
-     done
-     if [ "x$final" != "x" ]; then
-         info "dmsetup ls --tree"
-diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
-index 2b8e39ff..02d97c24 100755
---- a/modules.d/90dm/module-setup.sh
-+++ b/modules.d/90dm/module-setup.sh
-@@ -38,6 +38,6 @@ install() {
-     inst_rules "$moddir/59-persistent-storage-dm.rules"
-     prepare_udev_rules 59-persistent-storage-dm.rules
- 
--    inst_hook shutdown 30 "$moddir/dm-shutdown.sh"
-+    inst_hook shutdown 25 "$moddir/dm-shutdown.sh"
- }
- 
-
diff --git a/0049.patch b/0049.patch
deleted file mode 100644
index 9e93b11..0000000
--- a/0049.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dfbbb0baf5f1124ab387bbf6ab9ec592462c14bb Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:11:54 +0100
-Subject: [PATCH] Merge pull request #326 from danimo/no_efi_fcoe_default
-
-fcoe-uefi: Add check for usage
----
- modules.d/95fcoe-uefi/module-setup.sh | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh
-index c9ff3c2f..a464df5a 100755
---- a/modules.d/95fcoe-uefi/module-setup.sh
-+++ b/modules.d/95fcoe-uefi/module-setup.sh
-@@ -12,6 +12,11 @@ check() {
-     }
-     [[ $hostonly ]] || [[ $mount_needs ]] && {
-         [ -d /sys/firmware/efi ] || return 255
-+        for c in /sys/bus/fcoe/devices/ctlr_* ; do
-+            [ -L $c ] || continue
-+            fcoe_ctlr=$c
-+        done
-+        [ -z "$fcoe_ctlr" ] && return 255
-     }
-     require_binaries dcbtool fipvlan lldpad ip readlink || return 1
-     return 0
-
diff --git a/0050.patch b/0050.patch
deleted file mode 100644
index ebcfa25..0000000
--- a/0050.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 84912dde41a93f665a5fd1e43f0c5796d432d751 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:13:29 +0100
-Subject: [PATCH] Merge pull request #327 from danimo/nfs_host_robustness
-
-Rebustness fixes for NFS hostnames
----
- modules.d/95nfs/module-setup.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
-index b3ecf92d..2ca75d07 100755
---- a/modules.d/95nfs/module-setup.sh
-+++ b/modules.d/95nfs/module-setup.sh
-@@ -51,9 +51,9 @@ cmdline() {
- 
-     ### ip= ###
-     if [[ $nfs_device = [0-9]*\.[0-9]*\.[0-9]*.[0-9]* ]] || [[ $nfs_device = \[.*\] ]]; then
--        nfs_address="$nfs_device"
-+        nfs_address="${nfs_device%%:*}"
-     else
--        lookup=$(host $(echo ${nfs_device%%:*})| head -n1)
-+        lookup=$(host "${nfs_device%%:*}"| grep " address " | head -n1)
-         nfs_address=${lookup##* }
-     fi
-     ifname=$(ip -o route get to $nfs_address | sed -n 's/.*dev \([^ ]*\).*/\1/p')
-
diff --git a/0051.patch b/0051.patch
deleted file mode 100644
index 1699126..0000000
--- a/0051.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 1619e731f7e6c257532898efc0a7008e407d427e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:14:21 +0100
-Subject: [PATCH] Merge pull request #330 from danimo/task_max_emergency
-
-Set TaskMax=inifinite for the emergency shell
----
- modules.d/98dracut-systemd/dracut-emergency.service | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service
-index 718c4a78..ac25b9f2 100644
---- a/modules.d/98dracut-systemd/dracut-emergency.service
-+++ b/modules.d/98dracut-systemd/dracut-emergency.service
-@@ -22,6 +22,7 @@ StandardOutput=inherit
- StandardError=inherit
- KillMode=process
- IgnoreSIGPIPE=no
-+TasksMax=infinity
- 
- # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
- # terminates cleanly.
-
diff --git a/0052.patch b/0052.patch
deleted file mode 100644
index 2a6ef94..0000000
--- a/0052.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 12930f30a1b68ed7cd545a55976a5a1f02346bec Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 09:43:57 +0100
-Subject: [PATCH] Merge pull request #324 from danimo/mdraid-no-delete-part
-
-90dmraid: do not delete partitions
----
- modules.d/90dmraid/61-dmraid-imsm.rules | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules
-index 4d4d9391..72267d3c 100644
---- a/modules.d/90dmraid/61-dmraid-imsm.rules
-+++ b/modules.d/90dmraid/61-dmraid-imsm.rules
-@@ -23,9 +23,6 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="dm_end"
- PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] && exit 0; done; exit 1;' ", \
-     GOTO="dm_end"
- 
--ENV{DEVTYPE}!="partition", \
--    RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
--
- RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan $env{DEVNAME}"
- 
- LABEL="dm_end"
-
diff --git a/0054.patch b/0054.patch
deleted file mode 100644
index 60126e0..0000000
--- a/0054.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 2d3273f96f7527690b3d2e16d1aa766a8e19c376 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 10:01:33 +0100
-Subject: [PATCH] Merge pull request #325 from danimo/dasd_cio_free
-
-95dasd_mod: do not set module parameters if dasd_cio_free is not present
----
- modules.d/95dasd_mod/parse-dasd-mod.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh
-index 92ee1a79..b4c01a32 100755
---- a/modules.d/95dasd_mod/parse-dasd-mod.sh
-+++ b/modules.d/95dasd_mod/parse-dasd-mod.sh
-@@ -7,7 +7,7 @@ done
- 
- mod_args="${mod_args#*,}"
- 
--if [ -n "$mod_args" ]; then
-+if [ -x /sbin/dasd_cio_free -a -n "$mod_args" ]; then
-     [ -d /etc/modprobe.d ] || mkdir -m 0755 -p /etc/modprobe.d
-     echo "options dasd_mod dasd=$mod_args" >> /etc/modprobe.d/dasd_mod.conf
- fi
-
diff --git a/0055.patch b/0055.patch
deleted file mode 100644
index 771324f..0000000
--- a/0055.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 07e413bd0f2cb0578a28c3137f92b491c063f826 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 11:29:17 +0100
-Subject: [PATCH] Merge pull request #334 from FloGa/master
-
-Use pattern matching function
----
- modules.d/99fs-lib/fs-lib.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
-index 5c831558..d39ca1b7 100755
---- a/modules.d/99fs-lib/fs-lib.sh
-+++ b/modules.d/99fs-lib/fs-lib.sh
-@@ -100,7 +100,7 @@ fsck_drv_com() {
-     local _ret
-     local _out
- 
--    if ! strstr "$_fop" "-[ynap]"; then
-+    if ! strglobin "$_fop" "-[ynap]"; then
-         _fop="-a ${_fop}"
-     fi
- 
-
diff --git a/0056.patch b/0056.patch
deleted file mode 100644
index 282de64..0000000
--- a/0056.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 43634c2469a33c80c235f9bfe254002c6bea5448 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 18 Dec 2017 15:26:31 +0100
-Subject: [PATCH] Merge pull request #335 from lnykryn/BOOT_IMAGE-to-HMAC
-
-01fips: Fix creating path to .hmac of kernel based on BOOT_IMAGE
----
- modules.d/01fips/fips.sh | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
-index 1e5707c0..11de1793 100755
---- a/modules.d/01fips/fips.sh
-+++ b/modules.d/01fips/fips.sh
-@@ -110,13 +110,19 @@ do_fips()
-         do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1
-     else
-         BOOT_IMAGE="$(getarg BOOT_IMAGE)"
--        [ -e "/boot/.${BOOT_IMAGE}.hmac" ] || BOOT_IMAGE="vmlinuz-${KERNEL}"
-+        if ! [ -e "/boot/${BOOT_IMAGE}" ]; then
-+            #if /boot is not a separate partition BOOT_IMAGE might start with /boot
-+            BOOT_IMAGE=${BOOT_IMAGE#"/boot"}
-+            [ -e "/boot/${BOOT_IMAGE}" ] || BOOT_IMAGE="vmlinuz-${KERNEL}"
-+        fi
-+        
-+        BOOT_IMAGE_HMAC="/boot/${BOOT_IMAGE%/*}/.${BOOT_IMAGE##*/}.hmac"
- 
--        if ! [ -e "/boot/.${BOOT_IMAGE}.hmac" ]; then
--            warn "/boot/.${BOOT_IMAGE}.hmac does not exist"
-+        if ! [ -e "${BOOT_IMAGE_HMAC}" ]; then
-+            warn "${BOOT_IMAGE_HMAC} does not exist"
-             return 1
-         fi
--        sha512hmac -c "/boot/.${BOOT_IMAGE}.hmac" || return 1
-+        sha512hmac -c "${BOOT_IMAGE_HMAC}" || return 1
-     fi
- 
-     info "All initrd crypto checks done"
-
diff --git a/0057.patch b/0057.patch
deleted file mode 100644
index ab8d184..0000000
--- a/0057.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 598660bbe61ddc4bd3a3f9c754727d5676174b9e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 14:36:45 +0100
-Subject: [PATCH] Merge pull request #336 from danimo/add_drivers
-
-Fix possible hang in dracut
----
- dracut.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 635fdb1c..8daafc35 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1466,7 +1466,7 @@ if [[ $no_kernel != yes ]]; then
-         hostonly='' instmods $drivers
-     fi
- 
--    if [[ $add_drivers ]]; then
-+    if [[ -n "${add_drivers// }" ]]; then
-         hostonly='' instmods -c $add_drivers
-     fi
-     if [[ $force_drivers ]]; then
-
diff --git a/0058.patch b/0058.patch
deleted file mode 100644
index 2adc028..0000000
--- a/0058.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From a187bc3ca5bb6c8d66e5942eaf33da7a9610c7c2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 14:39:07 +0100
-Subject: [PATCH] Merge pull request #337 from danimo/lunmask
-
-95lunmask: Add module to handle LUN masking
----
- modules.d/95lunmask/fc_transport_scan_lun.sh  | 26 ++++++++++
- modules.d/95lunmask/module-setup.sh           | 70 +++++++++++++++++++++++++++
- modules.d/95lunmask/parse-lunmask.sh          | 40 +++++++++++++++
- modules.d/95lunmask/sas_transport_scan_lun.sh | 26 ++++++++++
- 4 files changed, 162 insertions(+)
-
-diff --git a/modules.d/95lunmask/fc_transport_scan_lun.sh b/modules.d/95lunmask/fc_transport_scan_lun.sh
-new file mode 100755
-index 00000000..d9f84a38
---- /dev/null
-+++ b/modules.d/95lunmask/fc_transport_scan_lun.sh
-@@ -0,0 +1,26 @@
-+#!/bin/bash
-+#
-+# fc_transport_lun_scan
-+#
-+# Selectively enable individual LUNs behind an FC remote port
-+#
-+# ACTION=="add", SUBSYSTEM=="fc_transport", ATTR{port_name}=="wwpn", \
-+#    PROGRAM="fc_transport_lun_scan lun"
-+#
-+
-+[ -z $DEVPATH ] && exit 1
-+
-+if [ -n "$1" ] ; then
-+    LUN=$1
-+else
-+    LUN=-
-+fi
-+ID=${DEVPATH##*/rport-}
-+HOST=${ID%%:*}
-+CHANNEL=${ID%%-*}
-+CHANNEL=${CHANNEL#*:}
-+if [ -f /sys$DEVPATH/scsi_target_id ] ; then
-+    TARGET=$(cat /sys$DEVPATH/scsi_target_id)
-+fi
-+[ -z "$TARGET" ] && exit 1
-+echo $CHANNEL $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
-diff --git a/modules.d/95lunmask/module-setup.sh b/modules.d/95lunmask/module-setup.sh
-new file mode 100755
-index 00000000..6afaed26
---- /dev/null
-+++ b/modules.d/95lunmask/module-setup.sh
-@@ -0,0 +1,70 @@
-+#!/bin/bash
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+# called by dracut
-+cmdline() {
-+    get_lunmask() {
-+        local _dev=$1
-+        local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD)
-+        local _sdev _lun _rport _end_device _classdev _wwpn _sas_address
-+
-+        [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
-+        _sdev="${_devpath%%/block/*}"
-+        _lun="${_sdev##*:}"
-+        # Check for FibreChannel
-+        _rport="${_devpath##*/rport-}"
-+        if [ "$_rport" != "$_devpath" ] ; then
-+            _rport="${_rport%%/*}"
-+            _classdev="/sys/class/fc_remote_ports/rport-${_rport}"
-+            [ -d "$_classdev" ] || return 1
-+            _wwpn=$(cat ${_classdev}/port_name)
-+            echo "rd.lunmask=fc,${_wwpn},${_lun}"
-+            return 0
-+        fi
-+        # Check for SAS
-+        _end_device="${_devpath##*/end_device-}"
-+        if [ "$_end_device" != "$_devpath" ] ; then
-+            _end_device="${_end_device%%/*}"
-+            _classdev="/sys/class/sas_device/end_device-${_end_device}"
-+            [ -e "$_classdev" ] || return 1
-+            _sas_address=$(cat ${_classdev}/sas_address)
-+            echo "rd.lunmask=sas,${_sas_address},${_lun}"
-+            return 0
-+        fi
-+        return 1
-+    }
-+    [[ $hostonly ]] || [[ $mount_needs ]] && {
-+        for_each_host_dev_and_slaves_all get_lunmask
-+    } | sort | uniq
-+}
-+
-+# called by dracut
-+check() {
-+    [[ $hostonly ]] || [[ $mount_needs ]] && {
-+        [ -w /sys/module/scsi_mod/parameters/scan ] || return 255
-+        scan_type=$(cat /sys/module/scsi_mod/parameters/scan)
-+        [ "$scan_type" = "manual" ] && return 0
-+        return 255
-+    }
-+    return 0
-+}
-+
-+# called by dracut
-+depends() {
-+    return 0
-+}
-+
-+# called by dracut
-+install() {
-+    inst_script "$moddir/fc_transport_scan_lun.sh" /usr/lib/udev/fc_transport_scan_lun.sh
-+    inst_script "$moddir/sas_transport_scan_lun.sh" /usr/lib/udev/sas_transport_scan_lun.sh
-+    inst_hook cmdline 30 "$moddir/parse-lunmask.sh"
-+    if [[ $hostonly_cmdline == "yes" ]] ; then
-+        local _lunmask
-+
-+        for _lunmask in $(cmdline) ; do
-+            printf "%s\n" "$_lunmask" >> "${initdir}/etc/cmdline.d/95lunmask.conf"
-+        done
-+    fi
-+}
-diff --git a/modules.d/95lunmask/parse-lunmask.sh b/modules.d/95lunmask/parse-lunmask.sh
-new file mode 100755
-index 00000000..480f6147
---- /dev/null
-+++ b/modules.d/95lunmask/parse-lunmask.sh
-@@ -0,0 +1,40 @@
-+#!/bin/sh
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+create_udev_rule() {
-+    local transport=$1
-+    local tgtid=$2
-+    local lun=$3
-+    local _rule=/etc/udev/rules.d/51-${transport}-lunmask-${tgtid}.rules
-+    local _cu_type _dev_type
-+
-+    [ -e ${_rule} ] && return 0
-+
-+    if [ ! -f "$_rule" ] ; then
-+        if [ "$transport" = "fc" ] ; then
-+            cat > $_rule <<EOF
-+ACTION=="add", SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="$tgtid", PROGRAM="fc_transport_scan_lun.sh $lun"
-+EOF
-+        elif [ "$transport" = "sas" ] ; then
-+            cat > $_rule <<EOF
-+ACTION=="add", SUBSYSTEM=="sas_device", ATTR{sas_address}=="$tgtid", PROGRAM="sas_transport_scan_lun.sh $lun"
-+EOF
-+        fi
-+    fi
-+}
-+
-+for lunmask_arg in $(getargs rd.lunmask); do
-+    (
-+        local OLDIFS="$IFS"
-+        local IFS=","
-+        set $lunmask_arg
-+        IFS="$OLDIFS"
-+        if [ -d /sys/module/scsi_mod ] ; then
-+            printf "manual" > /sys/module/scsi_mod/parameters/scan
-+        elif [ ! -f /etc/modprobe.d/95lunmask.conf ] ; then
-+            echo "options scsi_mod scan=manual" > /etc/modprobe.d/95lunmask.conf
-+        fi
-+        create_udev_rule $1 $2 $3
-+    )
-+done
-diff --git a/modules.d/95lunmask/sas_transport_scan_lun.sh b/modules.d/95lunmask/sas_transport_scan_lun.sh
-new file mode 100755
-index 00000000..f7702f8b
---- /dev/null
-+++ b/modules.d/95lunmask/sas_transport_scan_lun.sh
-@@ -0,0 +1,26 @@
-+#!/bin/bash
-+#
-+# sas_transport_lun_scan
-+#
-+# Selectively enable individual LUNs behind a SAS end device
-+#
-+# ACTION=="add", SUBSYSTEM=="sas_transport", ATTR{sas_address}=="sas_addr", \
-+#    PROGRAM="sas_transport_lun_scan lun"
-+#
-+
-+[ -z $DEVPATH ] && exit 1
-+
-+if [ -n "$1" ] ; then
-+    LUN=$1
-+else
-+    LUN=-
-+fi
-+ID=${DEVPATH##*/end_device-}
-+HOST=${ID%%:*}
-+CHANNEL=${ID%%-*}
-+CHANNEL=${CHANNEL#*:}
-+if [ -f /sys$DEVPATH/scsi_target_id ] ; then
-+    TARGET=$(cat /sys$DEVPATH/scsi_target_id)
-+fi
-+[ -z "$TARGET" ] && exit 1
-+echo 0 $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
-
diff --git a/0059.patch b/0059.patch
deleted file mode 100644
index 37d1477..0000000
--- a/0059.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 29a9e92999f7b7c977bba4d8cc59233cd3fbf986 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 15:35:18 +0100
-Subject: [PATCH] Merge pull request #331 from fcami/master-fsfreeze
-
-call fsfreeze(8) on /boot to flush initramfs data & metadata to media
----
- dracut.sh | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 8daafc35..f5c8d74c 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1828,8 +1828,13 @@ fi
- command -v restorecon &>/dev/null && restorecon -- "$outfile"
- 
- if ! sync "$outfile" 2> /dev/null; then
--    dinfo "dracut: sync operartion on newly created initramfs $outfile failed"
-+    dinfo "dracut: sync operation on newly created initramfs $outfile failed"
-     exit 1
-+# use fsfreeze only if we're not writing to /
-+elif ! [ "$(stat -c %m -- "$outfile")" == "/" ]; then
-+    if ! $(fsfreeze -f $(dirname "$outfile") 2>/dev/null && fsfreeze -u $(dirname "$outfile") 2>/dev/null); then
-+        dinfo "dracut: warning: could not fsfreeze $(dirname "$outfile")"
-+    fi
- fi
- 
- exit 0
-
diff --git a/0060.patch b/0060.patch
deleted file mode 100644
index f9c9349..0000000
--- a/0060.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 51d2436c22d64e45376c64ad3b6c90c48cc88d78 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 15:41:33 +0100
-Subject: [PATCH] Merge pull request #340 from danimo/mkinitrd_suse_A
-
-mkinitrd-suse.sh: Implement functionality of -A option
----
- mkinitrd-suse.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mkinitrd-suse.sh b/mkinitrd-suse.sh
-index d9de81b9..20d85da1 100755
---- a/mkinitrd-suse.sh
-+++ b/mkinitrd-suse.sh
-@@ -265,7 +265,7 @@ while (($# > 0)); do
- 	    ;;
- 	-M) read_arg map_file "$@" || shift $?
- 	    ;;
--	-A) host_only=0;;
-+	-A) dracut_args="${dracut_args} --no-host-only";;
- 	-B) skip_update_bootloader=1;;
-         -v|--verbose) dracut_args="${dracut_args} -v";;
- 	-L) logfile=;;
-
diff --git a/0061.patch b/0061.patch
deleted file mode 100644
index 15c0cfa..0000000
--- a/0061.patch
+++ /dev/null
@@ -1,310 +0,0 @@
-From 8c3e65d1cecc6e3ba634efdabe5f00b38ac606d8 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 15:43:13 +0100
-Subject: [PATCH] Merge pull request #318 from danimo/fcoe-fixes
-
-All FCOE-related SUSE patches, rebased on top of master
----
- dracut.cmdline.7.asc              |  8 ++--
- modules.d/95fcoe/fcoe-genrules.sh |  6 ++-
- modules.d/95fcoe/fcoe-up.sh       | 43 ++++++++++++++--------
- modules.d/95fcoe/module-setup.sh  | 77 +++++++++++++++++++++++----------------
- modules.d/95fcoe/parse-fcoe.sh    | 22 +++++++++--
- modules.d/95fcoe/stop-fcoe.sh     |  6 +++
- 6 files changed, 105 insertions(+), 57 deletions(-)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index 63c6c10f..b5f6f0f6 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -755,10 +755,12 @@ iscsistart -b --param node.session.timeo.replacement_timeout=30
- 
- FCoE
- ~~~~
--**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__::
-+**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
-     Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
--    _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
--    supported. This parameter can be specified multiple times.
-+    _<MAC>_ or EDD settings. The second argument specifies if DCB
-+    should be used. The optional third argument specifies whether
-+    fabric or VN2VN mode should be used.
-+    This parameter can be specified multiple times.
- +
- NOTE: letters in the MAC-address must be lowercase!
- 
-diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
-index eb58601b..445a09c2 100755
---- a/modules.d/95fcoe/fcoe-genrules.sh
-+++ b/modules.d/95fcoe/fcoe-genrules.sh
-@@ -7,8 +7,10 @@
- # Write udev rules
- {
-     if [ -n "$fcoe_mac" ] ; then
--        printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_mac" "$fcoe_dcb"
-+        printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
-+        printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="/sbin/initqueue --onetime --timeout --unique --name fcoe-timeout-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_mac" "$fcoe_dcb" "$fcoe_mode"
-     else
--        printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_interface" "$fcoe_dcb"
-+        printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
-+        printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --timeout --unique --name fcoe-timeout-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s %s"\n' "$fcoe_interface" "$fcoe_dcb" "$fcoe_mode"
-     fi
- } >> /etc/udev/rules.d/92-fcoe.rules
-diff --git a/modules.d/95fcoe/fcoe-up.sh b/modules.d/95fcoe/fcoe-up.sh
-index ddc87b1c..570cd848 100755
---- a/modules.d/95fcoe/fcoe-up.sh
-+++ b/modules.d/95fcoe/fcoe-up.sh
-@@ -1,7 +1,7 @@
- #!/bin/sh
- #
- # We get called like this:
--# fcoe-up <network-device> <dcb|nodcb>
-+# fcoe-up <network-device> <dcb|nodcb> <fabric|vn2vn>
- #
- # Note currently only nodcb is supported, the dcb option is reserved for
- # future use.
-@@ -15,6 +15,7 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh
- 
- netif=$1
- dcb=$2
-+mode=$3
- vlan="yes"
- 
- iflink=$(cat /sys/class/net/$netif/iflink)
-@@ -27,10 +28,18 @@ fi
- ip link set dev $netif up
- linkup "$netif"
- 
-+# Some fcoemon implementations expect --syslog=true
-+syslogopt="--syslog"
-+if fcoemon -h|grep syslog|grep -q yes; then
-+    fcoemonyes="$syslogopt=yes"
-+fi
-+
-+
- netdriver=$(readlink -f /sys/class/net/$netif/device/driver)
- netdriver=${netdriver##*/}
- 
- write_fcoemon_cfg() {
-+    [ -f /etc/fcoe/cfg-$netif ] && return
-     echo FCOE_ENABLE=\"yes\" > /etc/fcoe/cfg-$netif
-     if [ "$dcb" = "dcb" ]; then
-         echo DCB_REQUIRED=\"yes\" >> /etc/fcoe/cfg-$netif
-@@ -42,9 +51,23 @@ write_fcoemon_cfg() {
-     else
- 	    echo AUTO_VLAN=\"no\" >> /etc/fcoe/cfg-$netif
-     fi
--    echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif
-+    if [ "$mode" = "vn2vn" ] ; then
-+        echo MODE=\"vn2vn\" >> /etc/fcoe/cfg-$netif
-+    else
-+        echo MODE=\"fabric\" >> /etc/fcoe/cfg-$netif
-+    fi
- }
- 
-+if [ "$netdriver" = "bnx2x" ]; then
-+    # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
-+    modprobe 8021q
-+    udevadm settle --timeout=30
-+    # Sleep for 13 s to allow dcb negotiation
-+    sleep 13
-+    fipvlan "$netif" -c -s
-+    need_shutdown
-+    exit
-+fi
- if [ "$dcb" = "dcb" ]; then
-     # wait for lldpad to be ready
-     i=0
-@@ -77,20 +100,8 @@ if [ "$dcb" = "dcb" ]; then
-     done
- 
-     sleep 1
--
--    write_fcoemon_cfg
--    fcoemon --syslog
--elif [ "$netdriver" = "bnx2x" ]; then
--    # If driver is bnx2x, do not use /sys/module/fcoe/parameters/create but fipvlan
--    modprobe 8021q
--    udevadm settle --timeout=30
--    # Sleep for 13 s to allow dcb negotiation
--    sleep 13
--    fipvlan "$netif" -c -s
--else
--    vlan="no"
--    write_fcoemon_cfg
--    fcoemon --syslog
- fi
-+write_fcoemon_cfg
-+fcoemon $syslogopt
- 
- need_shutdown
-diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
-index eabb21c7..63f45b52 100755
---- a/modules.d/95fcoe/module-setup.sh
-+++ b/modules.d/95fcoe/module-setup.sh
-@@ -41,42 +41,52 @@ get_vlan_parent() {
- 
- # called by dracut
- cmdline() {
--
--    for c in /sys/bus/fcoe/devices/ctlr_* ; do
--        [ -L $c ] || continue
--        read enabled < $c/enabled
--        [ $enabled -eq 0 ] && continue
--        d=$(cd -P $c; echo $PWD)
--        i=${d%/*}
--        read mac < ${i}/address
--        s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
--        if [ -z "$s" ] ; then
--            p=$(get_vlan_parent ${i})
--            if [ "$p" ] ; then
--                s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
-+    {
-+        for c in /sys/bus/fcoe/devices/ctlr_* ; do
-+            [ -L $c ] || continue
-+            read enabled < $c/enabled
-+            read mode < $c/mode
-+            [ $enabled -eq 0 ] && continue
-+            if [ $mode = "VN2VN" ] ; then
-+                mode="vn2vn"
-+            else
-+                mode="fabric"
-+            fi
-+            d=$(cd -P $c; echo $PWD)
-+            i=${d%/*}
-+            ifname=${i##*/}
-+            read mac < ${i}/address
-+            s=$(dcbtool gc ${i##*/} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
-+            if [ -z "$s" ] ; then
-+	        p=$(get_vlan_parent ${i})
-+	        if [ "$p" ] ; then
-+	            s=$(dcbtool gc ${p} dcb 2>/dev/null | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
-+                    ifname=${p##*/}
-+	        fi
-+            fi
-+            if [ "$s" = "on" ] ; then
-+	        dcb="dcb"
-+            else
-+	        dcb="nodcb"
-             fi
--        fi
--        if [ "$s" = "on" ] ; then
--            dcb="dcb"
--        else
--            dcb="nodcb"
--        fi
- 
--        # Some Combined Network Adapters(CNAs) implement DCB in firmware.
--        # Do not run software-based DCB or LLDP on CNAs that implement DCB.
--        # If the network interface provides hardware DCB/DCBX capabilities,
--        # DCB_REQUIRED in "/etc/fcoe/cfg-xxx" is expected to set to "no".
--        #
--        # Force "nodcb" if there's any DCB_REQUIRED="no"(child or vlan parent).
--        grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${i##*/} &>/dev/null
--        [ $? -eq 0 ] && dcb="nodcb"
--        if [ "$p" ] ; then
--            grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${p} &>/dev/null
-+            # Some Combined Network Adapters(CNAs) implement DCB in firmware.
-+            # Do not run software-based DCB or LLDP on CNAs that implement DCB.
-+            # If the network interface provides hardware DCB/DCBX capabilities,
-+            # DCB_REQUIRED in "/etc/fcoe/cfg-xxx" is expected to set to "no".
-+            #
-+            # Force "nodcb" if there's any DCB_REQUIRED="no"(child or vlan parent).
-+            grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${i##*/} &>/dev/null
-             [ $? -eq 0 ] && dcb="nodcb"
--        fi
-+            if [ "$p" ] ; then
-+                grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${p} &>/dev/null
-+                [ $? -eq 0 ] && dcb="nodcb"
-+            fi
- 
--        echo "fcoe=${mac}:${dcb}"
--    done
-+            echo "ifname=${ifname}:${mac}"
-+            echo "fcoe=${ifname}:${dcb}:${mode}"
-+        done
-+    } | sort | uniq
- }
- 
- # called by dracut
-@@ -94,12 +104,15 @@ install() {
-         local _fcoeconf=$(cmdline)
-         [[ $_fcoeconf ]] && printf "%s\n" "$_fcoeconf" >> "${initdir}/etc/cmdline.d/95fcoe.conf"
-     fi
-+    inst_multiple /etc/fcoe/cfg-*
-+
-     inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
-     inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
-     inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
-     inst_hook pre-trigger 03 "$moddir/lldpad.sh"
-     inst_hook cmdline 99 "$moddir/parse-fcoe.sh"
-     inst_hook cleanup 90 "$moddir/cleanup-fcoe.sh"
-+    inst_hook shutdown 40 "$moddir/stop-fcoe.sh"
-     dracut_need_initqueue
- }
- 
-diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh
-index 9f471848..75cca9a5 100755
---- a/modules.d/95fcoe/parse-fcoe.sh
-+++ b/modules.d/95fcoe/parse-fcoe.sh
-@@ -1,8 +1,8 @@
- #!/bin/sh
- #
- # Supported formats:
--# fcoe=<networkdevice>:<dcb|nodcb>
--# fcoe=<macaddress>:<dcb|nodcb>
-+# fcoe=<networkdevice>:<dcb|nodcb>:<fabric|vn2vn>
-+# fcoe=<macaddress>:<dcb|nodcb>:<fabric|vn2vn>
- #
- # Note currently only nodcb is supported, the dcb option is reserved for
- # future use.
-@@ -10,8 +10,8 @@
- # Note letters in the macaddress must be lowercase!
- #
- # Examples:
--# fcoe=eth0:nodcb
--# fcoe=4a:3f:4c:04:f8:d7:nodcb
-+# fcoe=eth0:nodcb:vn2vn
-+# fcoe=4a:3f:4c:04:f8:d7:nodcb:fabric
- 
- [ -z "$fcoe" ] && fcoe=$(getarg fcoe=)
- 
-@@ -32,11 +32,25 @@ parse_fcoe_opts() {
-         2)
-             fcoe_interface=$1
-             fcoe_dcb=$2
-+            fcoe_mode="fabric"
-+            return 0
-+            ;;
-+        3)
-+            fcoe_interface=$1
-+            fcoe_dcb=$2
-+            fcoe_mode=$3
-             return 0
-             ;;
-         7)
-             fcoe_mac=$1:$2:$3:$4:$5:$6
-             fcoe_dcb=$7
-+            fcoe_mode="fabric"
-+            return 0
-+            ;;
-+        8)
-+            fcoe_mac=$1:$2:$3:$4:$5:$6
-+            fcoe_dcb=$7
-+            fcoe_mode=$8
-             return 0
-             ;;
-         *)
-diff --git a/modules.d/95fcoe/stop-fcoe.sh b/modules.d/95fcoe/stop-fcoe.sh
-new file mode 100755
-index 00000000..d2462b34
---- /dev/null
-+++ b/modules.d/95fcoe/stop-fcoe.sh
-@@ -0,0 +1,6 @@
-+#!/bin/bash
-+
-+for f in /sys/bus/fcoe/devices/ctlr_* ; do
-+    [ -e $f ] || continue
-+    echo 0 > $f/enabled
-+done
-
diff --git a/0062.patch b/0062.patch
deleted file mode 100644
index 29d8aa6..0000000
--- a/0062.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 8134db6c335b28b6bd58bac4ef4c2236cc9ea06a Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 19 Dec 2017 15:43:58 +0100
-Subject: [PATCH] Merge pull request #321 from danimo/multipath-fixes
-
-SUSE fixes for 90multipath
----
- modules.d/90multipath/module-setup.sh            | 1 +
- modules.d/90multipath/multipath-shutdown.sh      | 7 +++++++
- modules.d/90multipath/multipathd-needshutdown.sh | 9 +++++----
- modules.d/90multipath/multipathd.service         | 5 ++++-
- 4 files changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
-index 0a680b17..983f6f24 100755
---- a/modules.d/90multipath/module-setup.sh
-+++ b/modules.d/90multipath/module-setup.sh
-@@ -89,6 +89,7 @@ install() {
-     fi
- 
-     inst_hook cleanup   80 "$moddir/multipathd-needshutdown.sh"
-+    inst_hook shutdown  20 "$moddir/multipath-shutdown.sh"
- 
-     inst_rules 40-multipath.rules 56-multipath.rules \
- 	62-multipath.rules 65-multipath.rules \
-diff --git a/modules.d/90multipath/multipath-shutdown.sh b/modules.d/90multipath/multipath-shutdown.sh
-new file mode 100755
-index 00000000..47e9990c
---- /dev/null
-+++ b/modules.d/90multipath/multipath-shutdown.sh
-@@ -0,0 +1,7 @@
-+#!/bin/bash
-+
-+for i in $(multipath -l -v1); do
-+    if ! $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
-+        dmsetup message $i 0 fail_if_no_path
-+    fi
-+done
-diff --git a/modules.d/90multipath/multipathd-needshutdown.sh b/modules.d/90multipath/multipathd-needshutdown.sh
-index 214abd3a..ee9b69b4 100755
---- a/modules.d/90multipath/multipathd-needshutdown.sh
-+++ b/modules.d/90multipath/multipathd-needshutdown.sh
-@@ -1,7 +1,8 @@
- #!/bin/sh
- 
--for i in /dev/mapper/mpath*; do
--    [ -b "$i" ] || continue
--    need_shutdown
--    break
-+for i in $(multipath -l -v1); do
-+    if $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
-+        need_shutdown
-+        break
-+    fi
- done
-diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service
-index b64b02cd..0554d954 100644
---- a/modules.d/90multipath/multipathd.service
-+++ b/modules.d/90multipath/multipathd.service
-@@ -1,12 +1,15 @@
- [Unit]
- Description=Device-Mapper Multipath Device Controller
- Before=iscsi.service iscsid.service lvm2-activation-early.service
-+Wants=systemd-udev-trigger.service systemd-udev-settle.service local-fs-pre.target
-+After=systemd-udev-trigger.service systemd-udev-settle.service
-+Before=local-fs-pre.target
- DefaultDependencies=no
- Conflicts=shutdown.target
- ConditionKernelCommandLine=!nompath
- ConditionKernelCommandLine=!rd.multipath=0
- ConditionKernelCommandLine=!rd_NO_MULTIPATH
--ConditionPathExists=/etc/multipath.conf
-+ConditionKernelCommandLine=!multipath=off
- 
- [Service]
- Type=simple
-
diff --git a/0063.patch b/0063.patch
deleted file mode 100644
index eee3b56..0000000
--- a/0063.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From bc4ce61efce3e2d8b2be4f4e3e5fdef6ca08409f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 2 Jan 2018 14:58:14 +0100
-Subject: [PATCH] mdraid: call mdadm with "--wait-clean" instead of "-W"
-
-seems like -W changed meanings over the years :-/
----
- modules.d/90mdraid/mdraid-waitclean.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/90mdraid/mdraid-waitclean.sh b/modules.d/90mdraid/mdraid-waitclean.sh
-index 5c901982..d7f0ffdb 100755
---- a/modules.d/90mdraid/mdraid-waitclean.sh
-+++ b/modules.d/90mdraid/mdraid-waitclean.sh
-@@ -13,12 +13,12 @@ if getargbool 0 rd.md.waitclean; then
-             continue
-         fi
-         info "Waiting for $md to become clean"
--        mdadm $_offroot -W "$md" >/dev/null 2>&1
-+        mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
-     done
- 
-     for md in $containers; do
-         info "Waiting for $md to become clean"
--        mdadm $_offroot -W "$md" >/dev/null 2>&1
-+        mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
-     done
- 
-     unset containers udevinfo _offroot
-
diff --git a/0064.patch b/0064.patch
deleted file mode 100644
index 253f69d..0000000
--- a/0064.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 03214e51aeffc60669ee9667cbfedea7b21fc4f0 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 2 Jan 2018 15:01:15 +0100
-Subject: [PATCH] Merge pull request #343 from lnykryn/boot_image_once_more
-
-01fips: Properly creating path to .hmac of kernel based on BOOT_IMAGE
----
- modules.d/01fips/fips.sh | 20 +++++++++++++++-----
- 1 file changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
-index 11de1793..9bc089f2 100755
---- a/modules.d/01fips/fips.sh
-+++ b/modules.d/01fips/fips.sh
-@@ -110,18 +110,28 @@ do_fips()
-         do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1
-     else
-         BOOT_IMAGE="$(getarg BOOT_IMAGE)"
--        if ! [ -e "/boot/${BOOT_IMAGE}" ]; then
-+        BOOT_IMAGE_NAME="${BOOT_IMAGE##*/}"
-+        BOOT_IMAGE_PATH="${BOOT_IMAGE%${BOOT_IMAGE_NAME}}"
-+
-+        if [ -z "$BOOT_IMAGE_NAME" ]; then
-+            BOOT_IMAGE_NAME="vmlinuz-${KERNEL}"
-+        elif ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE}" ]; then
-             #if /boot is not a separate partition BOOT_IMAGE might start with /boot
--            BOOT_IMAGE=${BOOT_IMAGE#"/boot"}
--            [ -e "/boot/${BOOT_IMAGE}" ] || BOOT_IMAGE="vmlinuz-${KERNEL}"
-+            BOOT_IMAGE_PATH=${BOOT_IMAGE_PATH#"/boot"}
-+            #on some achitectures BOOT_IMAGE does not contain path to kernel
-+            #so if we can't find anything, let's treat it in the same way as if it was empty
-+            if ! [ -e "/boot/${BOOT_IMAGE_PATH}/${BOOT_IMAGE_NAME}" ]; then
-+                BOOT_IMAGE_NAME="vmlinuz-${KERNEL}"
-+                BOOT_IMAGE_PATH=""
-+            fi
-         fi
--        
--        BOOT_IMAGE_HMAC="/boot/${BOOT_IMAGE%/*}/.${BOOT_IMAGE##*/}.hmac"
- 
-+        BOOT_IMAGE_HMAC="/boot/${BOOT_IMAGE_PATH}.${BOOT_IMAGE_NAME}.hmac"
-         if ! [ -e "${BOOT_IMAGE_HMAC}" ]; then
-             warn "${BOOT_IMAGE_HMAC} does not exist"
-             return 1
-         fi
-+
-         sha512hmac -c "${BOOT_IMAGE_HMAC}" || return 1
-     fi
- 
-
diff --git a/0065.patch b/0065.patch
deleted file mode 100644
index f8f757d..0000000
--- a/0065.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 68cbbae33adc65452ee234940f668151f65cc043 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 5 Jan 2018 10:39:44 +0100
-Subject: [PATCH] dracut.spec: remove systemd-bootchart
-
----
- dracut.spec | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index 03363fb2..50d42a31 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -371,7 +371,6 @@ rm -rf -- $RPM_BUILD_ROOT
- %endif
- 
- %if %{defined _unitdir}
--%{dracutlibdir}/modules.d/00systemd-bootchart
- %else
- %{dracutlibdir}/modules.d/00bootchart
- %endif
-
diff --git a/0066.patch b/0066.patch
deleted file mode 100644
index 136ce53..0000000
--- a/0066.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From c9d207467c111c1ca4d39a2dd31a7ecfe56aadc7 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 5 Jan 2018 10:42:22 +0100
-Subject: [PATCH] dracut.spec: add lunmask dracut module
-
----
- dracut.spec | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/dracut.spec b/dracut.spec
-index 50d42a31..0b4c2e85 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -407,6 +407,7 @@ rm -rf -- $RPM_BUILD_ROOT
- %{dracutlibdir}/modules.d/95dasd_mod
- %{dracutlibdir}/modules.d/95dasd_rules
- %{dracutlibdir}/modules.d/95fstab-sys
-+%{dracutlibdir}/modules.d/95lunmask
- %{dracutlibdir}/modules.d/95zfcp
- %{dracutlibdir}/modules.d/95zfcp_rules
- %{dracutlibdir}/modules.d/95terminfo
-
diff --git a/0067.patch b/0067.patch
deleted file mode 100644
index 86814f6..0000000
--- a/0067.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d300160e70bd2ae038acabb12f18fbf039798b26 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 5 Jan 2018 11:02:12 +0100
-Subject: [PATCH] Revert "mdraid: call mdadm with "--wait-clean" instead of
- "-W""
-
-This reverts commit bc4ce61efce3e2d8b2be4f4e3e5fdef6ca08409f.
-
-Read wrong man page section. Got confused by
-https://github.com/dracutdevs/dracut/issues/342
----
- modules.d/90mdraid/mdraid-waitclean.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/90mdraid/mdraid-waitclean.sh b/modules.d/90mdraid/mdraid-waitclean.sh
-index d7f0ffdb..5c901982 100755
---- a/modules.d/90mdraid/mdraid-waitclean.sh
-+++ b/modules.d/90mdraid/mdraid-waitclean.sh
-@@ -13,12 +13,12 @@ if getargbool 0 rd.md.waitclean; then
-             continue
-         fi
-         info "Waiting for $md to become clean"
--        mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
-+        mdadm $_offroot -W "$md" >/dev/null 2>&1
-     done
- 
-     for md in $containers; do
-         info "Waiting for $md to become clean"
--        mdadm $_offroot --wait-clean "$md" >/dev/null 2>&1
-+        mdadm $_offroot -W "$md" >/dev/null 2>&1
-     done
- 
-     unset containers udevinfo _offroot
-
diff --git a/0068.patch b/0068.patch
deleted file mode 100644
index 20647a8..0000000
--- a/0068.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 577f109243bc96cd99c2b8204b7ca4426918f8ae Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 8 Jan 2018 13:31:55 +0100
-Subject: [PATCH] Merge pull request #339 from danimo/fix_include_parsing
-
-Fix parsing of "-i" and "--include"
----
- dracut.sh | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index f5c8d74c..c857b624 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -286,11 +286,15 @@ dropindirs_sort()
- rearrange_params()
- {
-     # Workaround -i, --include taking 2 arguments
--    set -- "${@/--include/++include}"
--
--    # This prevents any long argument ending with "-i"
--    # -i, like --opt-i but I think we can just prevent that
--    set -- "${@/%-i/++include}"
-+    newat=()
-+    for i in "$@"; do
-+      if [[ $i == "-i" ]] || [[ $i == "--include" ]]; then
-+            newat+=("++include") # Replace --include by ++include
-+        else
-+            newat+=("$i")
-+        fi
-+    done
-+    set -- "${newat[@]}" # Set new $@
- 
-     TEMP=$(unset POSIXLY_CORRECT; getopt \
-         -o "a:m:o:d:I:k:c:L:fvqlHhMN" \
-
diff --git a/0069.patch b/0069.patch
deleted file mode 100644
index 798e453..0000000
--- a/0069.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From ba2cfcab1e47045690ef6bc6d8f8089066b929a2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 8 Jan 2018 15:05:28 +0100
-Subject: [PATCH] Merge pull request #338 from danimo/fshelp
-
-dracut-emergency: optionally print fs help
----
- dracut-init.sh                                 | 6 ++++++
- modules.d/98dracut-systemd/dracut-emergency.sh | 2 ++
- 2 files changed, 8 insertions(+)
-
-diff --git a/dracut-init.sh b/dracut-init.sh
-index e8a705ec..53e6f13a 100644
---- a/dracut-init.sh
-+++ b/dracut-init.sh
-@@ -261,6 +261,12 @@ inst_script() {
-     (($? != 0)) && derror FAILED: $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l}  ${DRACUT_FIPS_MODE:+-f} "$@" || :
- }
- 
-+inst_fsck_help() {
-+    local _helper="/run/dracut/fsck/fsck_help_$1.txt"
-+    $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$2" $_helper
-+    (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l}  ${DRACUT_FIPS_MODE:+-f} "$2" $_helper || :
-+}
-+
- mark_hostonly() {
-     for i in "$@"; do
-         echo "$i" >> "$initdir/lib/dracut/hostonly-files"
-diff --git a/modules.d/98dracut-systemd/dracut-emergency.sh b/modules.d/98dracut-systemd/dracut-emergency.sh
-index 548f64b9..f17460a7 100755
---- a/modules.d/98dracut-systemd/dracut-emergency.sh
-+++ b/modules.d/98dracut-systemd/dracut-emergency.sh
-@@ -14,6 +14,7 @@ export _rdshell_name="dracut" action="Boot" hook="emergency"
- _emergency_action=$(getarg rd.emergency)
- 
- if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
-+    FSTXT="/run/dracut/fsck/fsck_help_$fstype.txt"
-     source_hook "$hook"
-     echo
-     rdsosreport
-@@ -25,6 +26,7 @@ if getargbool 1 rd.shell -d -y rdshell || getarg rd.break -d rdbreak; then
-     echo 'after mounting them and attach it to a bug report.'
-     echo
-     echo
-+    [ -f "$FSTXT" ] && cat "$FSTXT"
-     [ -f /etc/profile ] && . /etc/profile
-     [ -z "$PS1" ] && export PS1="$_name:\${PWD}# "
-     exec sh -i -l
-
diff --git a/0070.patch b/0070.patch
deleted file mode 100644
index 99f4c3a..0000000
--- a/0070.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 17414dd01bd71bb187fee20c2148ccad3b35a887 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 9 Jan 2018 13:24:46 +0100
-Subject: [PATCH] Merge pull request #344 from yuwata/spec-cleanup
-
-spec: use if-undefined instead of empty if-defined block
----
- dracut.spec | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index 0b4c2e85..08e5a098 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -370,8 +370,7 @@ rm -rf -- $RPM_BUILD_ROOT
- %{_mandir}/man5/dracut.conf.5*
- %endif
- 
--%if %{defined _unitdir}
--%else
-+%if %{undefined _unitdir}
- %{dracutlibdir}/modules.d/00bootchart
- %endif
- %{dracutlibdir}/modules.d/00bash
-
diff --git a/0071.patch b/0071.patch
deleted file mode 100644
index 93f0c73..0000000
--- a/0071.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5a8efed021af6a3a06b484f9ad363935c1a875e3 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 10 Jan 2018 09:10:19 +0100
-Subject: [PATCH] TEST-3[01]-ISCSI*: increase disk size
-
----
- test/TEST-30-ISCSI/test.sh       | 6 +++---
- test/TEST-31-ISCSI-MULTI/test.sh | 6 +++---
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
-index d5068e0c..e667587a 100755
---- a/test/TEST-30-ISCSI/test.sh
-+++ b/test/TEST-30-ISCSI/test.sh
-@@ -102,9 +102,9 @@ test_setup() {
-     fi
- 
-     # Create the blank file to use as a root filesystem
--    dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=20
--    dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=20
--    dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=20
-+    dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=40
-+    dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=40
-+    dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=40
- 
-     kernel=$KVERSION
-     # Create what will eventually be our root filesystem onto an overlay
-diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
-index 5dde4b68..2b63ff46 100755
---- a/test/TEST-31-ISCSI-MULTI/test.sh
-+++ b/test/TEST-31-ISCSI-MULTI/test.sh
-@@ -99,9 +99,9 @@ test_setup() {
-     fi
- 
-     # Create the blank file to use as a root filesystem
--    dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=20
--    dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=20
--    dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=20
-+    dd if=/dev/null of=$TESTDIR/root.ext3 bs=1M seek=40
-+    dd if=/dev/null of=$TESTDIR/iscsidisk2.img bs=1M seek=40
-+    dd if=/dev/null of=$TESTDIR/iscsidisk3.img bs=1M seek=40
- 
-     kernel=$KVERSION
-     # Create what will eventually be our root filesystem onto an overlay
-
diff --git a/0072.patch b/0072.patch
deleted file mode 100644
index 583b287..0000000
--- a/0072.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 11 Jan 2018 11:39:44 +0100
-Subject: [PATCH] crypt: escape backslashes for systemd unit names b/c
- udev/initqueue/bash
-
-otherwise
-luks\x2d25e41d19\x2d1580\x2d4e7c\x2d8875\x2d134045008f33
-turns to
-luksx2d25e41d19x2d1580x2d4e7cx2d8875x2d134045008f33
----
- modules.d/90crypt/parse-crypt.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
-index f0a4fba9..ea6802e8 100755
---- a/modules.d/90crypt/parse-crypt.sh
-+++ b/modules.d/90crypt/parse-crypt.sh
-@@ -64,6 +64,8 @@ else
-                 } >> /etc/udev/rules.d/70-luks.rules.new
-             else
-                 luksname=$(dev_unit_name "$luksname")
-+                luksname="$(str_replace "$luksname" '\' '\\')"
-+
-                 if ! crypttab_contains "$serialid"; then
-                     {
-                         printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
-@@ -95,6 +97,8 @@ else
-                 } >> /etc/udev/rules.d/70-luks.rules.new
-             else
-                 luksname=$(dev_unit_name "$luksname")
-+                luksname="$(str_replace "$luksname" '\' '\\')"
-+
-                 if ! crypttab_contains "$luksid"; then
-                     {
-                         printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '
-
diff --git a/0073.patch b/0073.patch
deleted file mode 100644
index 66b6bac..0000000
--- a/0073.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From cd83391c72aab5ea3732e70f8ebabc32d6440a0b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 11 Jan 2018 12:30:01 +0100
-Subject: [PATCH] Merge pull request #350 from yuwata/fsfreeze
-
-dracut.sh: do not invoke fsfreeze on EFI System Partition
----
- dracut.sh | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index c857b624..f6a75996 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1834,8 +1834,10 @@ command -v restorecon &>/dev/null && restorecon -- "$outfile"
- if ! sync "$outfile" 2> /dev/null; then
-     dinfo "dracut: sync operation on newly created initramfs $outfile failed"
-     exit 1
-+fi
-+
- # use fsfreeze only if we're not writing to /
--elif ! [ "$(stat -c %m -- "$outfile")" == "/" ]; then
-+if [[ "$(stat -c %m -- "$outfile")" != "/" && "$(stat -f -c %T -- "$outfile")" != "msdos" ]]; then
-     if ! $(fsfreeze -f $(dirname "$outfile") 2>/dev/null && fsfreeze -u $(dirname "$outfile") 2>/dev/null); then
-         dinfo "dracut: warning: could not fsfreeze $(dirname "$outfile")"
-     fi
-
diff --git a/0074.patch b/0074.patch
deleted file mode 100644
index 81ef819..0000000
--- a/0074.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 3a6a8d5c83af952f66c7786f17e59da6012da0b6 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 11 Jan 2018 12:34:40 +0100
-Subject: [PATCH] Merge pull request #346 from danimo/95dcssblk
-
-95dcssblk: Add new module for DCSS block devices
----
- modules.d/95dcssblk/module-setup.sh  | 28 ++++++++++++++++++++++++++++
- modules.d/95dcssblk/parse-dcssblk.sh |  8 ++++++++
- 2 files changed, 36 insertions(+)
-
-diff --git a/modules.d/95dcssblk/module-setup.sh b/modules.d/95dcssblk/module-setup.sh
-new file mode 100644
-index 00000000..11e38490
---- /dev/null
-+++ b/modules.d/95dcssblk/module-setup.sh
-@@ -0,0 +1,28 @@
-+#!/bin/bash
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+# called by dracut
-+check() {
-+    local _arch=$(uname -m)
-+    [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
-+    return 0
-+}
-+
-+# called by dracut
-+installkernel() {
-+    if [ -e /sys/devices/dcssblk/*/block/dcssblk* ];then
-+	hostonly='' instmods dcssblk
-+    fi
-+}
-+
-+# called by dracut
-+install() {
-+    inst_hook cmdline 30 "$moddir/parse-dcssblk.sh"
-+    # If there is a config file which contains avail (best only of root device)
-+    # disks to activate add it and use it during boot -> then we do not need
-+    # a kernel param anymore
-+    #if [[ $hostonly ]]; then
-+    #    inst /etc/dcssblk.conf
-+    #fi
-+}
-diff --git a/modules.d/95dcssblk/parse-dcssblk.sh b/modules.d/95dcssblk/parse-dcssblk.sh
-new file mode 100644
-index 00000000..8f174408
---- /dev/null
-+++ b/modules.d/95dcssblk/parse-dcssblk.sh
-@@ -0,0 +1,8 @@
-+#!/bin/sh
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+dcssblk_arg=$(getarg rd.dcssblk=)
-+if [ $? == 0 ];then
-+	info "Loading dcssblk segments=$dcssblk_arg"
-+	modprobe dcssblk segments=$dcssblk_arg
-+fi
-
diff --git a/0075.patch b/0075.patch
deleted file mode 100644
index 713977b..0000000
--- a/0075.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b8b341a07f755d69e557bfbca92ae54fc3f84dda Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 11 Jan 2018 13:18:14 +0100
-Subject: [PATCH] Merge pull request #352 from lnykryn/ntfs
-
-90dmsquash-live-ntfs: fix depends()
----
- modules.d/90dmsquash-live-ntfs/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90dmsquash-live-ntfs/module-setup.sh b/modules.d/90dmsquash-live-ntfs/module-setup.sh
-index bc77376b..2354b840 100755
---- a/modules.d/90dmsquash-live-ntfs/module-setup.sh
-+++ b/modules.d/90dmsquash-live-ntfs/module-setup.sh
-@@ -8,7 +8,7 @@ check() {
- }
- 
- depends() {
--    echo 90dmsquash-live
-+    echo dmsquash-live
-     return 0
- }
- 
-
diff --git a/0076.patch b/0076.patch
deleted file mode 100644
index e879b1c..0000000
--- a/0076.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 47f83419a711d540cf758b56c8ad4fadaa964592 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Thu, 11 Jan 2018 15:33:45 +0100
-Subject: [PATCH] Merge pull request #353 from lnykryn/ntfs_3
-
-90dmsquash-live: we don't have find_binary inside initramdisk
----
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 1458329c..8f3b2bf9 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -84,7 +84,7 @@ else
-         # Symlinking /usr/bin/ntfs-3g as /sbin/mount.ntfs seems to boot
-         # at the first glance, but ends with lots and lots of squashfs
-         # errors, because systemd attempts to kill the ntfs-3g process?!
--        if [ -x "$(find_binary "ntfs-3g")" ]; then
-+        if [ -x "/usr/bin/ntfs-3g" ]; then
-             ( exec -a @ntfs-3g ntfs-3g -o ${liverw:-ro} $livedev /run/initramfs/live ) | vwarn
-         else
-             die "Failed to mount block device of live image: Missing NTFS support"
-
diff --git a/0077.patch b/0077.patch
deleted file mode 100644
index 4145279..0000000
--- a/0077.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6ccb77e19a80f1be32170d85766f1925fbeb732b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 09:31:18 +0100
-Subject: [PATCH] dracut-systemd/dracut-pre-udev.service: also run for
- /etc/cmdline
-
-Fixes #117
----
- modules.d/98dracut-systemd/dracut-pre-udev.service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service b/modules.d/98dracut-systemd/dracut-pre-udev.service
-index dffb8d55..570ec02d 100644
---- a/modules.d/98dracut-systemd/dracut-pre-udev.service
-+++ b/modules.d/98dracut-systemd/dracut-pre-udev.service
-@@ -10,12 +10,12 @@ Before=systemd-udevd.service dracut-pre-trigger.service
- After=dracut-cmdline.service
- Wants=dracut-cmdline.service
- ConditionPathExists=/usr/lib/initrd-release
--ConditionPathExists=|/etc/cmdline.d/20-force_drivers.conf
- ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev
- ConditionKernelCommandLine=|rd.break=pre-udev
- ConditionKernelCommandLine=|rd.driver.blacklist
- ConditionKernelCommandLine=|rd.driver.pre
- ConditionKernelCommandLine=|rd.driver.post
-+ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
- Conflicts=shutdown.target emergency.target
- 
- [Service]
-
diff --git a/0078.patch b/0078.patch
deleted file mode 100644
index dc81d13..0000000
--- a/0078.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From 8e7d0856d0c94e9cc0e17c2f715aa7bc715fd37d Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 12 Jan 2018 09:34:08 +0100
-Subject: [PATCH] Merge pull request #351 from danimo/91zipl
-
-Add 91zipl, which adds support for indirect booting on s390.
----
- dracut.cmdline.7.asc                     | 14 ++++++++
- dracut.sh                                |  1 +
- modules.d/91zipl/install_zipl_cmdline.sh | 40 +++++++++++++++++++++
- modules.d/91zipl/module-setup.sh         | 61 ++++++++++++++++++++++++++++++++
- modules.d/91zipl/parse-zipl.sh           | 41 +++++++++++++++++++++
- 5 files changed, 157 insertions(+)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index b5f6f0f6..f95f4d63 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -1001,6 +1001,20 @@ be mounted read only through a higher level transient overlay directory, has
- been implemented through the multiple lower layers feature of OverlayFS.
- 
- 
-+ZIPL
-+~~~~
-+**rd.zipl=**__<path to blockdevice>__::
-+    Update the dracut commandline with the values found in the
-+    _dracut-cmdline.conf_ file on the given device.
-+    The values are merged into the existing commandline values
-+    and the udev events are regenerated.
-++
-+[listing]
-+.Example
-+--
-+rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
-+--
-+
- Plymouth Boot Splash
- ~~~~~~~~~~~~~~~~~~~~
- **plymouth.enable=0**::
-diff --git a/dracut.sh b/dracut.sh
-index f6a75996..fb23f117 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1172,6 +1172,7 @@ if [[ $hostonly ]] && [[ "$hostonly_default_device" != "no" ]]; then
-         "/usr/lib64" \
-         "/boot" \
-         "/boot/efi" \
-+        "/boot/zipl" \
-         ;
-     do
-         mp=$(readlink -f "$mp")
-diff --git a/modules.d/91zipl/install_zipl_cmdline.sh b/modules.d/91zipl/install_zipl_cmdline.sh
-new file mode 100755
-index 00000000..b7546bef
---- /dev/null
-+++ b/modules.d/91zipl/install_zipl_cmdline.sh
-@@ -0,0 +1,40 @@
-+#!/bin/bash
-+
-+DEV="$1"
-+MNT=/boot/zipl
-+
-+if [ -z "$DEV" ] ; then
-+    echo "No IPL device given"
-+    > /tmp/install.zipl.cmdline-done
-+    exit 1
-+fi
-+
-+[ -d ${MNT} ] || mkdir -p ${MNT}
-+
-+mount -o ro ${DEV} ${MNT}
-+if [ "$?" != "0" ] ; then
-+    echo "Failed to mount ${MNT}"
-+    > /tmp/install.zipl.cmdline-done
-+    exit 1
-+fi
-+
-+if [ -f ${MNT}/dracut-cmdline.conf ] ; then
-+    cp ${MNT}/dracut-cmdline.conf /etc/cmdline.d/99zipl.conf
-+fi
-+
-+if [ -f ${MNT}/active_devices.txt ] ; then
-+    while read dev etc ; do
-+        [ "$dev" = "#" -o "$dev" = "" ] && continue;
-+        cio_ignore -r $dev
-+    done < ${MNT}/active_devices.txt
-+fi
-+
-+umount ${MNT}
-+
-+if [ -f /etc/cmdline.d/99zipl.conf ] ; then
-+    systemctl restart dracut-cmdline.service
-+    systemctl restart systemd-udev-trigger.service
-+fi
-+> /tmp/install.zipl.cmdline-done
-+
-+exit 0
-diff --git a/modules.d/91zipl/module-setup.sh b/modules.d/91zipl/module-setup.sh
-new file mode 100755
-index 00000000..d0cd75da
---- /dev/null
-+++ b/modules.d/91zipl/module-setup.sh
-@@ -0,0 +1,61 @@
-+#!/bin/bash
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+# called by dracut
-+check() {
-+    local _arch=$(uname -m)
-+    # Only for systems on s390 using indirect booting via userland grub
-+    [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
-+    # /boot/zipl contains a first stage kernel used to launch grub in initrd
-+    [ -d /boot/zipl ] || return 1
-+    return 0
-+}
-+
-+# called by dracut
-+depends() {
-+    echo grub2
-+    return 0
-+}
-+
-+# called by dracut
-+installkernel() {
-+    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
-+cmdline() {
-+    local _boot_zipl
-+
-+    _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
-+    if [ -n "$_boot_zipl" ] ; then
-+        echo "rd.zipl=${_boot_zipl}"
-+    fi
-+}
-+
-+# called by dracut
-+install() {
-+    inst_multiple mount umount
-+
-+    inst_hook cmdline 91 "$moddir/parse-zipl.sh"
-+    inst_script "${moddir}/install_zipl_cmdline.sh" /sbin/install_zipl_cmdline.sh
-+    if [[ $hostonly_cmdline == "yes" ]] ; then
-+        local _zipl=$(cmdline)
-+
-+        [[ $_zipl ]] && printf "%s\n" "$_zipl" > "${initdir}/etc/cmdline.d/91zipl.conf"
-+    fi
-+    dracut_need_initqueue
-+}
-diff --git a/modules.d/91zipl/parse-zipl.sh b/modules.d/91zipl/parse-zipl.sh
-new file mode 100755
-index 00000000..308f228b
---- /dev/null
-+++ b/modules.d/91zipl/parse-zipl.sh
-@@ -0,0 +1,41 @@
-+#!/bin/sh
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+zipl_arg=$(getarg rd.zipl)
-+
-+if [ -n "$zipl_arg" ] ; then
-+    case "$zipl_arg" in
-+    LABEL=*) \
-+        zipl_env="ENV{ID_FS_LABEL}"
-+        zipl_val=${zipl_arg#LABEL=}
-+        zipl_arg="/dev/disk/by-label/${zipl_val}"
-+        ;;
-+    UUID=*) \
-+        zipl_env="ENV{ID_FS_UUID}"
-+        zipl_val=${zipl_arg#UUID=}
-+        zipl_arg="/dev/disk/by-uuid/${zipl_val}"
-+        ;;
-+    /dev/mapper/*) \
-+        zipl_env="ENV{DM_NAME}"
-+        zipl_val=${zipl_arg#/dev/mapper/}
-+        ;;
-+    /dev/disk/by-*) \
-+        zipl_env="SYMLINK"
-+        zipl_val=${zipl_arg#/dev/}
-+        ;;
-+    /dev/*) \
-+        zipl_env="KERNEL"
-+        zipl_val=${zipl_arg}
-+        ;;
-+    esac
-+    if [ "$zipl_env" ] ; then
-+        {
-+            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
-+        cat /etc/udev/rules.d/99zipl-conf.rules
-+    fi
-+    wait_for_dev -n "$zipl_arg"
-+fi
-
diff --git a/0079.patch b/0079.patch
deleted file mode 100644
index 27b9c9a..0000000
--- a/0079.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From b7a7ab194398ab3519004376d35d834385e2d916 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Fri, 12 Jan 2018 10:36:56 +0100
-Subject: [PATCH] Merge pull request #354 from yuwata/spec-s390x
-
-spec: do not package s390 specific modules
----
- dracut.spec | 41 ++++++++++++++++++++++++++++++-----------
- 1 file changed, 30 insertions(+), 11 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index 08e5a098..11c7459a 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -284,6 +284,19 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
- %endif
- 
-+%infarch s390 s390x
-+# remove architecture specific modules
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_rules
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dcssblk
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
-+%endif
-+
- mkdir -p $RPM_BUILD_ROOT/boot/dracut
- mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
- mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
-@@ -385,7 +398,6 @@ rm -rf -- $RPM_BUILD_ROOT
- %{dracutlibdir}/modules.d/45url-lib
- %{dracutlibdir}/modules.d/50drm
- %{dracutlibdir}/modules.d/50plymouth
--%{dracutlibdir}/modules.d/80cms
- %{dracutlibdir}/modules.d/80lvmmerge
- %{dracutlibdir}/modules.d/90btrfs
- %{dracutlibdir}/modules.d/90crypt
-@@ -400,29 +412,34 @@ rm -rf -- $RPM_BUILD_ROOT
- %{dracutlibdir}/modules.d/91crypt-gpg
- %{dracutlibdir}/modules.d/91crypt-loop
- %{dracutlibdir}/modules.d/95debug
-+%{dracutlibdir}/modules.d/95fstab-sys
-+%{dracutlibdir}/modules.d/95lunmask
- %{dracutlibdir}/modules.d/95resume
- %{dracutlibdir}/modules.d/95rootfs-block
-+%{dracutlibdir}/modules.d/95terminfo
-+%{dracutlibdir}/modules.d/95udev-rules
-+%{dracutlibdir}/modules.d/95virtfs
-+%ifarch s390 s390x
-+%{dracutlibdir}/modules.d/80cms
-+%{dracutlibdir}/modules.d/91zipl
- %{dracutlibdir}/modules.d/95dasd
- %{dracutlibdir}/modules.d/95dasd_mod
- %{dracutlibdir}/modules.d/95dasd_rules
--%{dracutlibdir}/modules.d/95fstab-sys
--%{dracutlibdir}/modules.d/95lunmask
-+%{dracutlibdir}/modules.d/95dcssblk
- %{dracutlibdir}/modules.d/95zfcp
- %{dracutlibdir}/modules.d/95zfcp_rules
--%{dracutlibdir}/modules.d/95terminfo
--%{dracutlibdir}/modules.d/95udev-rules
--%{dracutlibdir}/modules.d/95virtfs
-+%endif
- %if %{undefined _unitdir}
- %{dracutlibdir}/modules.d/96securityfs
- %{dracutlibdir}/modules.d/97masterkey
- %{dracutlibdir}/modules.d/98integrity
- %endif
- %{dracutlibdir}/modules.d/97biosdevname
-+%{dracutlibdir}/modules.d/98dracut-systemd
- %{dracutlibdir}/modules.d/98ecryptfs
- %{dracutlibdir}/modules.d/98pollcdrom
- %{dracutlibdir}/modules.d/98selinux
- %{dracutlibdir}/modules.d/98syslog
--%{dracutlibdir}/modules.d/98dracut-systemd
- %{dracutlibdir}/modules.d/98usrmount
- %{dracutlibdir}/modules.d/99base
- %{dracutlibdir}/modules.d/99fs-lib
-@@ -456,17 +473,19 @@ rm -rf -- $RPM_BUILD_ROOT
- %defattr(-,root,root,0755)
- %{dracutlibdir}/modules.d/02systemd-networkd
- %{dracutlibdir}/modules.d/40network
-+%{dracutlibdir}/modules.d/45ifcfg
- %{dracutlibdir}/modules.d/90kernel-network-modules
--%{dracutlibdir}/modules.d/95fcoe
--%{dracutlibdir}/modules.d/95iscsi
- %{dracutlibdir}/modules.d/90qemu-net
- %{dracutlibdir}/modules.d/95cifs
-+%{dracutlibdir}/modules.d/95fcoe
-+%{dracutlibdir}/modules.d/95fcoe-uefi
-+%{dracutlibdir}/modules.d/95iscsi
- %{dracutlibdir}/modules.d/95nbd
- %{dracutlibdir}/modules.d/95nfs
- %{dracutlibdir}/modules.d/95ssh-client
--%{dracutlibdir}/modules.d/45ifcfg
-+%ifarch s390 s390x
- %{dracutlibdir}/modules.d/95znet
--%{dracutlibdir}/modules.d/95fcoe-uefi
-+%endif
- %{dracutlibdir}/modules.d/99uefi-lib
- 
- %if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
-
diff --git a/0080.patch b/0080.patch
deleted file mode 100644
index f7863cf..0000000
--- a/0080.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-From 28a68f1f3ce15b40d45e6987ab0997584d4fa901 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 10:24:20 +0100
-Subject: [PATCH] iSCSI: no more iscsid
-
-According to Cathy Zhou <Cathy.Zhou@Oracle.COM>:
-
-"iscsistart is not designed to be working together with iscsid. When an
-interface gets the dhcp offer successfully, the iscsiroot script is run
-which starts the iscsistart service to establish the iSCSI session. With
-the existence of iscsid, the iscsistart service's attempt to setup its
-own mgmt ipc fails. Instead, the request to login to the iscsi target
-is handled by the mgmt ipc of iscsid. After iscsistart finishes its
-login attempt, it eventually sends a stop_event_loop request to stop
-the mgmt process. As the result, it terminates iscsid."
-
-So, iscsid is kicked out again.
-
-Additionally iscsistart-flocked is used to make sure iscsistart is not
-run in parallel.
----
- modules.d/95iscsi/cleanup-iscsi.sh      |  2 +-
- modules.d/95iscsi/iscsiroot.sh          | 25 +++++--------------------
- modules.d/95iscsi/iscsistart-flocked.sh |  5 +++++
- modules.d/95iscsi/module-setup.sh       | 31 +------------------------------
- modules.d/95iscsi/parse-iscsiroot.sh    | 10 ----------
- test/TEST-31-ISCSI-MULTI/test.sh        | 32 ++++++++++++++++++++++++++++++++
- 6 files changed, 44 insertions(+), 61 deletions(-)
-
-diff --git a/modules.d/95iscsi/cleanup-iscsi.sh b/modules.d/95iscsi/cleanup-iscsi.sh
-index bfc8aefc..e97d65ac 100755
---- a/modules.d/95iscsi/cleanup-iscsi.sh
-+++ b/modules.d/95iscsi/cleanup-iscsi.sh
-@@ -1,4 +1,4 @@
- #!/bin/sh
- 
--[ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && killproc iscsiuio
-+[ -e /sys/module/bnx2i ] && killproc iscsiuio
- 
-diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
-index aefd263d..d6325f7d 100755
---- a/modules.d/95iscsi/iscsiroot.sh
-+++ b/modules.d/95iscsi/iscsiroot.sh
-@@ -36,14 +36,14 @@ iroot=${iroot#:}
- # figured out a way how to check whether this is built-in or not
- modprobe crc32c 2>/dev/null
- 
--if [ -z "${DRACUT_SYSTEMD}" ] && [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then
-+if [ -e /sys/module/bnx2i ] && ! [ -e /tmp/iscsiuio-started ]; then
-         iscsiuio
-         > /tmp/iscsiuio-started
- fi
- 
- handle_firmware()
- {
--    if ! iscsistart -f; then
-+    if ! iscsistart-flocked -f; then
-         warn "iscistart: Could not get list of targets from firmware. Skipping."
-         echo 'skipped' > "/tmp/iscsistarted-firmware"
-         return 0
-@@ -53,7 +53,7 @@ handle_firmware()
- 	iscsi_param="$iscsi_param --param $p"
-     done
- 
--    if ! iscsistart -b $iscsi_param; then
-+    if ! iscsistart-flocked -b $iscsi_param; then
-         warn "'iscsistart -b $iscsi_param' failed with return code $?"
-     fi
- 
-@@ -117,11 +117,6 @@ handle_netroot()
-            mkdir -p /etc/iscsi
-            ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
-            > /tmp/iscsi_set_initiator
--           if [ -n "$DRACUT_SYSTEMD" ]; then
--               systemctl try-restart iscsid
--               # FIXME: iscsid is not yet ready, when the service is :-/
--               sleep 1
--           fi
-     fi
- 
-     if [ -z "$iscsi_initiator" ]; then
-@@ -138,11 +133,6 @@ handle_netroot()
-         mkdir -p /etc/iscsi
-         ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
-         > /tmp/iscsi_set_initiator
--        if [ -n "$DRACUT_SYSTEMD" ]; then
--            systemctl try-restart iscsid
--            # FIXME: iscsid is not yet ready, when the service is :-/
--            sleep 1
--        fi
-     fi
- 
- 
-@@ -163,11 +153,6 @@ handle_netroot()
-     if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then
-         mkdir -p /etc/iscsi
-         ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
--        if [ -n "$DRACUT_SYSTEMD" ]; then
--            systemctl try-restart iscsid
--            # FIXME: iscsid is not yet ready, when the service is :-/
--            sleep 1
--        fi
-     fi
- # FIXME $iscsi_protocol??
- 
-@@ -193,7 +178,7 @@ handle_netroot()
-                             --description="Login iSCSI Target $iscsi_target_name" \
-                             -p 'DefaultDependencies=no' \
-                             --unit="$netroot_enc" -- \
--                            $(command -v iscsistart) \
-+                            $(command -v iscsistart-flocked) \
-                             -i "$iscsi_initiator" -t "$iscsi_target_name"        \
-                             -g "$iscsi_target_group" -a "$iscsi_target_ip"      \
-                             -p "$iscsi_target_port" \
-@@ -211,7 +196,7 @@ handle_netroot()
-             fi
-         fi
-     else
--        iscsistart -i "$iscsi_initiator" -t "$iscsi_target_name"        \
-+        iscsistart-flocked -i "$iscsi_initiator" -t "$iscsi_target_name"        \
-                    -g "$iscsi_target_group" -a "$iscsi_target_ip"      \
-                    -p "$iscsi_target_port" \
-                    ${iscsi_username:+-u "$iscsi_username"} \
-diff --git a/modules.d/95iscsi/iscsistart-flocked.sh b/modules.d/95iscsi/iscsistart-flocked.sh
-new file mode 100755
-index 00000000..6366335d
---- /dev/null
-+++ b/modules.d/95iscsi/iscsistart-flocked.sh
-@@ -0,0 +1,5 @@
-+#!/bin/sh
-+{
-+    flock -e 9
-+    iscsistart "$@"
-+} 9>/tmp/.iscsi_lock
-diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
-index 04937b5b..5c47750a 100755
---- a/modules.d/95iscsi/module-setup.sh
-+++ b/modules.d/95iscsi/module-setup.sh
-@@ -194,41 +194,12 @@ install() {
-         [[ $_iscsiconf ]] && printf "%s\n" "$_iscsiconf" >> "${initdir}/etc/cmdline.d/95iscsi.conf"
-     fi
- 
-+    inst "$moddir/iscsistart-flocked.sh" "/bin/iscsistart-flocked"
-     inst_hook cmdline 90 "$moddir/parse-iscsiroot.sh"
-     inst_hook cleanup 90 "$moddir/cleanup-iscsi.sh"
-     inst "$moddir/iscsiroot.sh" "/sbin/iscsiroot"
-     if ! dracut_module_included "systemd"; then
-         inst "$moddir/mount-lun.sh" "/bin/mount-lun.sh"
--    else
--        inst_multiple -o \
--                      $systemdsystemunitdir/iscsi.service \
--                      $systemdsystemunitdir/iscsid.service \
--                      $systemdsystemunitdir/iscsid.socket \
--                      $systemdsystemunitdir/iscsiuio.service \
--                      $systemdsystemunitdir/iscsiuio.socket \
--                      iscsiadm iscsid
--
--        mkdir -p "${initdir}/$systemdsystemunitdir/sockets.target.wants"
--        for i in \
--                iscsiuio.socket \
--            ; do
--            ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/sockets.target.wants/${i}"
--        done
--
--        mkdir -p "${initdir}/$systemdsystemunitdir/basic.target.wants"
--        for i in \
--                iscsid.service \
--            ; do
--            ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/basic.target.wants/${i}"
--        done
--
--        # Make sure iscsid is started after dracut-cmdline and ready for the initqueue
--        mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
--        (
--            echo "[Unit]"
--            echo "After=dracut-cmdline.service"
--            echo "Before=dracut-initqueue.service"
--        ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
-     fi
-     inst_dir /var/lib/iscsi
-     dracut_need_initqueue
-diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
-index 43b2e088..c8c66ccf 100755
---- a/modules.d/95iscsi/parse-iscsiroot.sh
-+++ b/modules.d/95iscsi/parse-iscsiroot.sh
-@@ -116,11 +116,6 @@ if arg=$(getarg rd.iscsi.initiator -d iscsi_initiator=) && [ -n "$arg" ] && ! [
-     if ! [ -e /etc/iscsi/initiatorname.iscsi ]; then
-         mkdir -p /etc/iscsi
-         ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
--        if [ -n "$DRACUT_SYSTEMD" ]; then
--            systemctl try-restart iscsid
--            # FIXME: iscsid is not yet ready, when the service is :-/
--            sleep 1
--        fi
-     fi
- fi
- 
-@@ -133,11 +128,6 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ]
-         mkdir -p /etc/iscsi
-         ln -fs /run/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi
-         > /tmp/iscsi_set_initiator
--        if [ -n "$DRACUT_SYSTEMD" ]; then
--            systemctl try-restart iscsid
--            # FIXME: iscsid is not yet ready, when the service is :-/
--            sleep 1
--        fi
-     fi
- fi
- 
-diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
-index 2b63ff46..2f2b6ed5 100755
---- a/test/TEST-31-ISCSI-MULTI/test.sh
-+++ b/test/TEST-31-ISCSI-MULTI/test.sh
-@@ -73,6 +73,38 @@ do_test_run() {
-                "rd.iscsi.initiator=$initiator" \
-         || return 1
- 
-+    run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0" \
-+               "root=LABEL=sysroot" \
-+               "ip=192.168.50.101:::255.255.255.0::ens3:off" \
-+               "ip=192.168.51.101:::255.255.255.0::ens4:off" \
-+               "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
-+               "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
-+               "rd.iscsi.firmware" \
-+               "rd.iscsi.initiator=$initiator" \
-+               "rd.iscsi.waitnet=0" \
-+        || return 1
-+
-+    run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \
-+               "root=LABEL=sysroot" \
-+               "ip=192.168.50.101:::255.255.255.0::ens3:off" \
-+               "ip=192.168.51.101:::255.255.255.0::ens4:off" \
-+               "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
-+               "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
-+               "rd.iscsi.firmware" \
-+               "rd.iscsi.initiator=$initiator" \
-+               "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \
-+        || return 1
-+
-+    run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0 default GW" \
-+               "root=LABEL=sysroot" \
-+               "ip=192.168.50.101::192.168.50.1:255.255.255.0::ens3:off" \
-+               "ip=192.168.51.101::192.168.51.1:255.255.255.0::ens4:off" \
-+               "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
-+               "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
-+               "rd.iscsi.firmware" \
-+               "rd.iscsi.initiator=$initiator" \
-+               "rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \
-+        || return 1
- 
-     echo "All tests passed [OK]"
-     return 0
-
diff --git a/0081.patch b/0081.patch
deleted file mode 100644
index ee83c71..0000000
--- a/0081.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 2bb4881b8206cc26d48b31985c4078510bf6c8cd Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 11:33:26 +0100
-Subject: [PATCH] dracut.spec: fixed typo
-
-introduced with commit 52d19cb161fcdf260f956db32480d1593bd20b52
----
- dracut.spec | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index 11c7459a..81a5098c 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -284,7 +284,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
- %endif
- 
--%infarch s390 s390x
-+%ifnarch s390 s390x
- # remove architecture specific modules
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
-
diff --git a/0082.patch b/0082.patch
deleted file mode 100644
index e06df49..0000000
--- a/0082.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5cc17c25c2f450e54a67c0de9b5031d4c2fd24cb Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 11:34:45 +0100
-Subject: [PATCH] TEST-14-IMSM: fail early, if setup failed
-
----
- test/TEST-14-IMSM/test.sh | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh
-index 9f4ed8a8..21172357 100755
---- a/test/TEST-14-IMSM/test.sh
-+++ b/test/TEST-14-IMSM/test.sh
-@@ -30,6 +30,11 @@ client_run() {
- 
- test_run() {
-     read MD_UUID < $TESTDIR/mduuid
-+    if [[ -z $MD_UUID ]]; then
-+        echo "Setup failed"
-+        return 1
-+    fi
-+
-     client_run rd.auto rd.md.imsm=0 || return 1
-     client_run rd.md.uuid=$MD_UUID rd.dm=0 || return 1
-     # This test succeeds, because the mirror parts are found without
-@@ -109,6 +114,12 @@ test_setup() {
- 	-initrd $TESTDIR/initramfs.makeroot  || return 1
-     grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
-     eval $(grep -F --binary-files=text -m 1 MD_UUID $TESTDIR/root.ext2)
-+
-+    if [[ -z $MD_UUID ]]; then
-+        echo "Setup failed"
-+        return 1
-+    fi
-+
-     echo $MD_UUID > $TESTDIR/mduuid
-     (
- 	export initdir=$TESTDIR/overlay
-
diff --git a/0083.patch b/0083.patch
deleted file mode 100644
index 1059bf5..0000000
--- a/0083.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d888e21b5d3b830ab2a40fa4194d0ae59cb1b331 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 13:04:34 +0100
-Subject: [PATCH] test/ci-matrix.txt: add file specifying which tests to run
-
----
- test/ci-matrix.txt | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/test/ci-matrix.txt b/test/ci-matrix.txt
-new file mode 100644
-index 00000000..3d6aca62
---- /dev/null
-+++ b/test/ci-matrix.txt
-@@ -0,0 +1,19 @@
-+01
-+02
-+03
-+04
-+10
-+11
-+12
-+13
-+14
-+15
-+16
-+17
-+20
-+30
-+31
-+40
-+50
-+60
-+70
-
diff --git a/0084.patch b/0084.patch
deleted file mode 100644
index b6d53e2..0000000
--- a/0084.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From cc3808184c741c6a793e0200bdc7d2abf9f68c08 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 13:34:57 +0100
-Subject: [PATCH] README.md: add test 31
-
----
- README.md | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/README.md b/README.md
-index 93449a76..e229641b 100644
---- a/README.md
-+++ b/README.md
-@@ -20,6 +20,7 @@ dracut is an initramfs infrastructure.
- - Test 17: [![Test 17](https://ci.centos.org/job/dracut-matrix-master/TESTS=17,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=17,label=dracut-ci-slave01/)
- - Test 20: [![Test 20](https://ci.centos.org/job/dracut-matrix-master/TESTS=20,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=20,label=dracut-ci-slave01/)
- - Test 30: [![Test 30](https://ci.centos.org/job/dracut-matrix-master/TESTS=30,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=30,label=dracut-ci-slave01/)
-+- Test 31: [![Test 31](https://ci.centos.org/job/dracut-matrix-master/TESTS=31,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=31,label=dracut-ci-slave01/)
- - Test 40: [![Test 40](https://ci.centos.org/job/dracut-matrix-master/TESTS=40,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=40,label=dracut-ci-slave01/)
- - Test 50: [![Test 50](https://ci.centos.org/job/dracut-matrix-master/TESTS=50,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=50,label=dracut-ci-slave01/)
- - Test 70: [![Test 70](https://ci.centos.org/job/dracut-matrix-master/TESTS=70,label=dracut-ci-slave01/badge/icon)](https://ci.centos.org/job/dracut-matrix-master/TESTS=70,label=dracut-ci-slave01/)
-
diff --git a/0085.patch b/0085.patch
deleted file mode 100644
index 060143f..0000000
--- a/0085.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8b4b7dc5b2f1477825cf8a52f412af372b4646f8 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 12 Jan 2018 13:45:20 +0100
-Subject: [PATCH] iscsi: remove last iscsid code snippet
-
----
- modules.d/95iscsi/iscsiroot.sh | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
-index d6325f7d..f7c99a60 100755
---- a/modules.d/95iscsi/iscsiroot.sh
-+++ b/modules.d/95iscsi/iscsiroot.sh
-@@ -219,14 +219,6 @@ if [ "$netif" != "timeout" ] && getargbool 1 rd.iscsi.waitnet; then
-     all_ifaces_setup || exit 0
- fi
- 
--if [ "$netif" = "timeout" ] && all_ifaces_setup; then
--    # s.th. went wrong and the timeout script hits
--    # restart
--    systemctl restart iscsid
--    # damn iscsid is not ready after unit says it's ready
--    sleep 2
--fi
--
- if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
-     if [ "$netif" = "timeout" ] || [ "$netif" = "online" ]; then
-         handle_firmware
-
diff --git a/0086.patch b/0086.patch
deleted file mode 100644
index bd747d4..0000000
--- a/0086.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From b925f7f5d97259dd81e9d562fd1c6433e4b04f30 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Mon, 15 Jan 2018 09:04:12 +0100
-Subject: [PATCH] Merge pull request #347 from danimo/81cio_ignore
-
-81cio_ignore: handle cio_ignore commandline
----
- dracut.cmdline.7.asc                       | 15 +++++++++++
- modules.d/81cio_ignore/module-setup.sh     | 40 ++++++++++++++++++++++++++++++
- modules.d/81cio_ignore/parse-cio_accept.sh | 22 ++++++++++++++++
- 3 files changed, 77 insertions(+)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index f95f4d63..8f83405e 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -1015,6 +1015,21 @@ ZIPL
- rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
- --
- 
-+CIO_IGNORE
-+~~~~~~~~~~
-+**rd.cio_accept=**__<device-ids>__::
-+    Remove the devices listed in <device-ids> from the default
-+    cio_ignore kernel command-line settings.
-+    <device-ids> is a list of comma-separated CCW device ids.
-+    The default for this value is taken from the
-+    _/boot/zipl/active_devices.txt_ file.
-++
-+[listing]
-+.Example
-+--
-+rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
-+--
-+
- Plymouth Boot Splash
- ~~~~~~~~~~~~~~~~~~~~
- **plymouth.enable=0**::
-diff --git a/modules.d/81cio_ignore/module-setup.sh b/modules.d/81cio_ignore/module-setup.sh
-new file mode 100755
-index 00000000..37b414bf
---- /dev/null
-+++ b/modules.d/81cio_ignore/module-setup.sh
-@@ -0,0 +1,40 @@
-+#!/bin/bash
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+# called by dracut
-+check() {
-+# do not add this module by default
-+    local arch=$(uname -m)
-+    [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
-+    return 0
-+}
-+
-+cmdline() {
-+    local cio_accept
-+
-+    if [ -e /boot/zipl/active_devices.txt ] ; then
-+        while read dev etc ; do
-+            [ "$dev" = "#" -o "$dev" = "" ] && continue;
-+            if [ -z "$cio_accept" ] ; then
-+                cio_accept="$dev"
-+            else
-+                cio_accept="${cio_accept},${dev}"
-+            fi
-+        done < /boot/zipl/active_devices.txt
-+    fi
-+    if [ -n "$cio_accept" ] ; then
-+	echo "rd.cio_accept=${cio_accept}"
-+    fi
-+}
-+
-+# called by dracut
-+install() {
-+    if [[ $hostonly_cmdline == "yes" ]] ; then
-+        local _cio_accept=$(cmdline)
-+        [[ $_cio_accept ]] && printf "%s\n" "$_cio_accept" >> "${initdir}/etc/cmdline.d/01cio_accept.conf"
-+    fi
-+
-+    inst_hook cmdline 20 "$moddir/parse-cio_accept.sh"
-+    inst_multiple cio_ignore
-+}
-diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh
-new file mode 100755
-index 00000000..4f899d25
---- /dev/null
-+++ b/modules.d/81cio_ignore/parse-cio_accept.sh
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+CIO_IGNORE=$(getarg cio_ignore)
-+CIO_ACCEPT=$(getarg rd.cio_accept)
-+
-+if [ -z $CIO_IGNORE ] ; then
-+    info "cio_ignored disabled on commandline"
-+    return
-+fi
-+if [ -n "$CIO_ACCEPT" ] ; then
-+    OLDIFS="$IFS"
-+    IFS=,
-+    set -- $CIO_ACCEPT
-+    while (($# > 0)) ; do
-+        info "Enabling device $1"
-+        cio_ignore --remove $1
-+        shift
-+    done
-+    IFS="$OLDIFS"
-+fi
-
diff --git a/0087.patch b/0087.patch
deleted file mode 100644
index 24c1d2c..0000000
--- a/0087.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 9ed6eb741f0bc0178167e7063751eb2bb4ac6de5 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Mon, 15 Jan 2018 15:44:46 +0100
-Subject: [PATCH] dracut-functions.sh:check_vol_slaves() speedup LV -> VG name
-
-Instead of trying all /dev/mapper/* devices to match the maj:min, and
-get the VG name with "lvm lvs", use the dm/name from /sys and dmsetup
-splitname.
-
-This should speedup execution with lots of LVs.
----
- dracut-functions.sh | 64 ++++++++++++++++++++++++-----------------------------
- 1 file changed, 29 insertions(+), 35 deletions(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index e99c4533..badd2a22 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -560,45 +560,39 @@ for_each_host_dev_and_slaves()
- # but you cannot create the logical volume without the volume group.
- # And the volume group might be bigger than the devices the LV needs.
- check_vol_slaves() {
--    local _lv _vg _pv _dm
--    for i in /dev/mapper/*; do
--        [[ $i == /dev/mapper/control ]] && continue
--        _lv=$(get_maj_min $i)
--        _dm=/sys/dev/block/$_lv/dm
--        [[ -f $_dm/uuid  && $(<$_dm/uuid) =~ LVM-* ]] || continue
--        if [[ $_lv = $2 ]]; then
--            _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
--            # strip space
--            _vg="${_vg//[[:space:]]/}"
--            if [[ $_vg ]]; then
--                for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
--                do
--                    check_block_and_slaves $1 $(get_maj_min $_pv) && return 0
--                done
--            fi
--        fi
--    done
-+    local _lv _vg _pv _dm _majmin
-+    _majmin="$2"
-+    _lv="/dev/block/$_majmin"
-+    _dm=/sys/dev/block/$_majmin/dm
-+    [[ -f $_dm/uuid  && $(<$_dm/uuid) =~ LVM-* ]] || return 1
-+    _vg=$(dmsetup splitname --noheadings -o vg_name $(<"$_dm/name") )
-+    # strip space
-+    _vg="${_vg//[[:space:]]/}"
-+    if [[ $_vg ]]; then
-+        for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
-+        do
-+            check_block_and_slaves $1 $(get_maj_min $_pv) && return 0
-+        done
-+    fi
-     return 1
- }
- 
- check_vol_slaves_all() {
--    local _lv _vg _pv
--    for i in /dev/mapper/*; do
--        [[ $i == /dev/mapper/control ]] && continue
--        _lv=$(get_maj_min $i)
--        if [[ $_lv = $2 ]]; then
--            _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
--            # strip space
--            _vg="${_vg//[[:space:]]/}"
--            if [[ $_vg ]]; then
--                for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
--                do
--                    check_block_and_slaves_all $1 $(get_maj_min $_pv)
--                done
--                return 0
--            fi
--        fi
--    done
-+    local _lv _vg _pv _majmin
-+    _majmin="$2"
-+    _lv="/dev/block/$_majmin"
-+    _dm="/sys/dev/block/$_majmin/dm"
-+    [[ -f $_dm/uuid  && $(<$_dm/uuid) =~ LVM-* ]] || return 1
-+    _vg=$(dmsetup splitname --noheadings -o vg_name $(<"$_dm/name") )
-+    # strip space
-+    _vg="${_vg//[[:space:]]/}"
-+    if [[ $_vg ]]; then
-+        for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
-+        do
-+            check_block_and_slaves_all $1 $(get_maj_min $_pv)
-+        done
-+        return 0
-+    fi
-     return 1
- }
- 
-
diff --git a/0088.patch b/0088.patch
deleted file mode 100644
index 316464a..0000000
--- a/0088.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 33b560fcc2c77cef5a53839b39ac38b4c1ed978c Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Tue, 16 Jan 2018 10:15:38 +0100
-Subject: [PATCH] Merge pull request #356 from yuwata/spec-s390-2
-
-spec: remove 81cio_ignore module from non-s390 arch
----
- AUTHORS     | 2 +-
- dracut.spec | 2 ++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/AUTHORS b/AUTHORS
-index 7be1072f..29670e42 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -69,7 +69,7 @@ Silvio Fricke <silvio.fricke@gmail.com>
- Stig Telfer <stelfer@cray.com>
- Vasiliy Tolstov <v.tolstov@selfip.ru>
- Wim Muskee <wimmuskee@gmail.com>
--yuwata <watanabe.yu+github@gmail.com>
-+Yu Watanabe <watanabe.yu+github@gmail.com>
- Alan Jenkins <alan-jenkins@tuffmail.co.uk>
- Alan Pevec <apevec@redhat.com>
- Alex Harpin <development@landsofshadow.co.uk>
-diff --git a/dracut.spec b/dracut.spec
-index 81a5098c..c52364b8 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -287,6 +287,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
- %ifnarch s390 s390x
- # remove architecture specific modules
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95dasd_mod
-@@ -421,6 +422,7 @@ rm -rf -- $RPM_BUILD_ROOT
- %{dracutlibdir}/modules.d/95virtfs
- %ifarch s390 s390x
- %{dracutlibdir}/modules.d/80cms
-+%{dracutlibdir}/modules.d/81cio_ignore
- %{dracutlibdir}/modules.d/91zipl
- %{dracutlibdir}/modules.d/95dasd
- %{dracutlibdir}/modules.d/95dasd_mod
-
diff --git a/0089.patch b/0089.patch
deleted file mode 100644
index 8101f38..0000000
--- a/0089.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From bce6823a19b3fc0be50ff5c29c5ef90fa58b3430 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 16 Jan 2018 12:14:15 +0100
-Subject: [PATCH] lsinitrd: no more cat: write error: Broken pipe
-
-silence the cat
----
- lsinitrd.sh | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index f4088453..4892704a 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -130,7 +130,7 @@ extract_files()
-     for f in "${!filenames[@]}"; do
-         [[ $nofileinfo ]] || echo "initramfs:/$f"
-         [[ $nofileinfo ]] || echo "========================================================================"
--        $CAT $image | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
-+        $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout $f 2>/dev/null
-         ((ret+=$?))
-         [[ $nofileinfo ]] || echo "========================================================================"
-         [[ $nofileinfo ]] || echo
-@@ -149,9 +149,9 @@ list_files()
- {
-     echo "========================================================================"
-     if [ "$sorted" -eq 1 ]; then
--        $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
-+        $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list | sort -n -k5
-     else
--        $CAT "$image" | cpio --extract --verbose --quiet --list | sort -k9
-+        $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --list | sort -k9
-     fi
-     ((ret+=$?))
-     echo "========================================================================"
-@@ -159,7 +159,7 @@ list_files()
- 
- unpack_files()
- {
--    $CAT "$image" | cpio -id --quiet $verbose
-+    $CAT "$image" 2>/dev/null | cpio -id --quiet $verbose
-     ((ret+=$?))
- }
- 
-
diff --git a/0090.patch b/0090.patch
deleted file mode 100644
index 8d3b8a6..0000000
--- a/0090.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2a0da60ed18b33e39fe8e36864800bbaaa0448b4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Tue, 16 Jan 2018 14:16:37 +0100
-Subject: [PATCH] configure: bump kmod version to >= 23
-
-for issue #357
----
- configure | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 23686805..d8985ad4 100755
---- a/configure
-+++ b/configure
-@@ -66,8 +66,8 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
- mandir ?= ${mandir:-${prefix}/share/man}
- enable_documentation ?= ${enable_documentation:-yes}
- bindir ?= ${bindir:-${prefix}/bin}
--KMOD_CFLAGS ?= $(${PKG_CONFIG} --cflags " libkmod >= 15 ")
--KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 15 ")
-+KMOD_CFLAGS ?= $(${PKG_CONFIG} --cflags " libkmod >= 23 ")
-+KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 23 ")
- EOF
- 
- {
-
diff --git a/0091.patch b/0091.patch
deleted file mode 100644
index cd0a955..0000000
--- a/0091.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From bff3ee1936e8444bce3a43c53e7558949e099556 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 17 Jan 2018 09:50:54 +0100
-Subject: [PATCH] Merge pull request #361 from danimo/dm_multipath
-
-90multipath: load dm_multipath module during startup
----
- modules.d/90multipath/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
-index 983f6f24..446dceb0 100755
---- a/modules.d/90multipath/module-setup.sh
-+++ b/modules.d/90multipath/module-setup.sh
-@@ -30,7 +30,7 @@ depends() {
- 
- # called by dracut
- cmdline() {
--    for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
-+    for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm_multipath; do
-         if grep -m 1 -q "$m" /proc/modules ; then
-             printf 'rd.driver.pre=%s ' "$m"
-         fi
-
diff --git a/0092.patch b/0092.patch
deleted file mode 100644
index 81aebe3..0000000
--- a/0092.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 308c4066fee31b08d67413ce7920d63c8d05038e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 17 Jan 2018 09:51:54 +0100
-Subject: [PATCH] Merge pull request #359 from yuwata/kmod-version
-
-configure, kmod: bump kmod version to >= 23
----
- configure   | 4 ++--
- dracut.spec | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure b/configure
-index d8985ad4..b55fb609 100755
---- a/configure
-+++ b/configure
-@@ -52,8 +52,8 @@ while (($# > 0)); do
-     shift
- done
- 
--if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 15 "; then
--    echo "dracut needs pkg-config and libkmod >= 15." >&2
-+if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 23 "; then
-+    echo "dracut needs pkg-config and libkmod >= 23." >&2
-     exit 1
- fi
- 
-diff --git a/dracut.spec b/dracut.spec
-index c52364b8..d547e847 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -40,7 +40,7 @@ Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
- Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
- 
- BuildRequires: bash git
--BuildRequires: kmod-devel >= 15
-+BuildRequires: kmod-devel >= 23
- 
- %if 0%{?fedora} || 0%{?rhel}
- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
diff --git a/0093.patch b/0093.patch
deleted file mode 100644
index 5665e8e..0000000
--- a/0093.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 83b19de168bf63698c53537bbb662242370fc17a Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@hoyer.xyz>
-Date: Wed, 17 Jan 2018 18:32:52 +0100
-Subject: [PATCH] Merge pull request #363 from danimo/dracut_dmraid_use_udev
-
-0202-dracut_dmraid_use_udev
----
- modules.d/90dmraid/dmraid.sh       | 2 --
- modules.d/90dmraid/module-setup.sh | 2 ++
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
-index e7a09b07..edae9784 100755
---- a/modules.d/90dmraid/dmraid.sh
-+++ b/modules.d/90dmraid/dmraid.sh
-@@ -33,8 +33,6 @@ if [ -n "$DM_RAIDS" ] || getargbool 0 rd.auto; then
-                 if [ "${s##$r}" != "$s" ]; then
-                     info "Activating $s"
-                     dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo
--                    [ -e "/dev/mapper/$s" ] && kpartx -a "/dev/mapper/$s" 2>&1 | vinfo
--                    udevsettle
-                 fi
-             done
-         done
-diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
-index e8de5f56..797a58e5 100755
---- a/modules.d/90dmraid/module-setup.sh
-+++ b/modules.d/90dmraid/module-setup.sh
-@@ -74,6 +74,8 @@ install() {
- 
-     inst "$moddir/dmraid.sh" /sbin/dmraid_scan
- 
-+    inst_rules 66-kpartx.rules 67-kpartx-compat.rules
-+
-     inst_libdir_file "libdmraid-events*.so*"
- 
-     inst_rules "$moddir/61-dmraid-imsm.rules"
-
diff --git a/0094.patch b/0094.patch
deleted file mode 100644
index ba494e7..0000000
--- a/0094.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a54206722d075b773801f8663bd50b14cb4b56c6 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 18 Jan 2018 08:55:34 +0100
-Subject: [PATCH] dracut.cmdline.7.asc: document rd.ccw and rd.znet
-
-rd.znet should be used instead of rd.ccw.
-
-Add more info about rd.znet.
-
-Fixes github issue 364
----
- dracut.cmdline.7.asc | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index 8f83405e..8f86efe0 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -811,6 +811,9 @@ rd.zfcp=0.0.4000
- ZNET
- ~~~~
- **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
-+    The whole parameter is appended to /etc/ccw.conf, which is used on
-+    RHEL/Fedora with ccw_init, which is called from udev for certain
-+    devices on z-series.
-     rd.znet can be specified multiple times on the kernel command line.
- +
- [listing]
-@@ -1083,7 +1086,8 @@ their new replacement.
- 
- rdbreak:: rd.break
- 
--rd_CCW:: rd.ccw
-+rd.ccw:: rd.znet
-+rd_CCW:: rd.znet
- 
- rd_DASD_MOD:: rd.dasd
- 
diff --git a/dracut.spec b/dracut.spec
index d54caa4..f9e9f72 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -14,11 +14,11 @@
 %define with_nbd 0
 %endif
 
-%define dist_free_release 92.git20180118
+%define dist_free_release 1
 
 Name: dracut
-Version: 046
-Release: %{dist_free_release}%{?dist}.1
+Version: 047
+Release: %{dist_free_release}%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -37,102 +37,13 @@ URL: https://dracut.wiki.kernel.org/
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};sf=tgz
 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
-Patch1: 0001.patch
-Patch2: 0002.patch
-Patch3: 0003.patch
-Patch4: 0004.patch
-Patch5: 0005.patch
-Patch6: 0006.patch
-Patch7: 0007.patch
-Patch8: 0008.patch
-Patch9: 0009.patch
-Patch10: 0010.patch
-Patch11: 0011.patch
-Patch12: 0012.patch
-Patch13: 0013.patch
-Patch14: 0014.patch
-Patch15: 0015.patch
-Patch16: 0017.patch
-Patch17: 0018.patch
-Patch18: 0019.patch
-Patch19: 0020.patch
-Patch20: 0021.patch
-Patch21: 0023.patch
-Patch22: 0024.patch
-Patch23: 0025.patch
-Patch24: 0026.patch
-Patch25: 0027.patch
-Patch26: 0028.patch
-Patch27: 0029.patch
-Patch28: 0030.patch
-Patch29: 0031.patch
-Patch30: 0032.patch
-Patch31: 0033.patch
-Patch32: 0034.patch
-Patch33: 0035.patch
-Patch34: 0036.patch
-Patch35: 0037.patch
-Patch36: 0038.patch
-Patch37: 0039.patch
-Patch38: 0040.patch
-Patch39: 0041.patch
-Patch40: 0042.patch
-Patch41: 0043.patch
-Patch42: 0044.patch
-Patch43: 0045.patch
-Patch44: 0046.patch
-Patch45: 0047.patch
-Patch46: 0048.patch
-Patch47: 0049.patch
-Patch48: 0050.patch
-Patch49: 0051.patch
-Patch50: 0052.patch
-Patch51: 0054.patch
-Patch52: 0055.patch
-Patch53: 0056.patch
-Patch54: 0057.patch
-Patch55: 0058.patch
-Patch56: 0059.patch
-Patch57: 0060.patch
-Patch58: 0061.patch
-Patch59: 0062.patch
-Patch60: 0063.patch
-Patch61: 0064.patch
-Patch62: 0065.patch
-Patch63: 0066.patch
-Patch64: 0067.patch
-Patch65: 0068.patch
-Patch66: 0069.patch
-Patch67: 0070.patch
-Patch68: 0071.patch
-Patch69: 0072.patch
-Patch70: 0073.patch
-Patch71: 0074.patch
-Patch72: 0075.patch
-Patch73: 0076.patch
-Patch74: 0077.patch
-Patch75: 0078.patch
-Patch76: 0079.patch
-Patch77: 0080.patch
-Patch78: 0081.patch
-Patch79: 0082.patch
-Patch80: 0083.patch
-Patch81: 0084.patch
-Patch82: 0085.patch
-Patch83: 0086.patch
-Patch84: 0087.patch
-Patch85: 0088.patch
-Patch86: 0089.patch
-Patch87: 0090.patch
-Patch88: 0091.patch
-Patch89: 0092.patch
-Patch90: 0093.patch
-Patch91: 0094.patch
 
 Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
 
-BuildRequires: bash git
+BuildRequires: bash
+BuildRequires: git
 BuildRequires: kmod-devel >= 23
+BuildRequires: gcc
 
 %if 0%{?fedora} || 0%{?rhel}
 BuildRequires: pkgconfig
@@ -625,6 +536,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %endif
 
 %changelog
+* Mon Feb 19 2018 Harald Hoyer <harald@redhat.com> - 047-1
+- version 047
+
 * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 046-92.git20180118.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
 
diff --git a/newdracut.sh b/newdracut.sh
new file mode 100644
index 0000000..382d7b2
--- /dev/null
+++ b/newdracut.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+if [[ -e "$HOME/git/dracut/$1" ]]; then
+    srcrpm="$HOME/git/dracut/$1"
+else
+    srcrpm="$1"
+fi
+
+[[ -f $srcrpm ]] || exit 0
+
+cp dracut.spec dracut.spec.old
+for i in *.patch; do git rm -f $i;done
+
+if rpm -ivh --define "_srcrpmdir $PWD" --define "_specdir $PWD" --define "_sourcedir $PWD" "$srcrpm"; then
+	ls *.patch &>/dev/null && git add *.patch
+	perl -n -e 'if ($do_print) {print "$_" ;}; if (/^%changelog/) { $do_print=1; }' < dracut.spec.old >> dracut.spec
+fi
diff --git a/sources b/sources
index 8e265d9..347073c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dracut-046.tar.xz) = 75cefc184960024ef32f7bb5a0fe060e9c7d82dbfd0fe247d54b585e2ebbf0f8af5d5dc1be7e5e8cf2c3bc27b3293842c6361ae62d047289d0c59d7d40b09122
+SHA512 (dracut-047.tar.xz) = 03369726b6c2b682d0c9dead7b7dbd1c3989aaf2b4a561015634d33a94e5230d03cb634c3890191b19dd8c1c83389533ae1a46d45d2024ba885e0d2d46c5d035