diff --git a/0001-dracut-setup-clean-PATH-w-o-existing-one.patch b/0001-dracut-setup-clean-PATH-w-o-existing-one.patch
deleted file mode 100644
index b72c057..0000000
--- a/0001-dracut-setup-clean-PATH-w-o-existing-one.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 68910ba4a510e2d10e1c16adb348a8916a74b281 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 8 Feb 2012 17:02:17 +0100
-Subject: [PATCH] dracut: setup clean PATH w/o existing one
-
----
- dracut |    5 +++--
- 1 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/dracut b/dracut
-index 86fcaf3..545f9db 100755
---- a/dracut
-+++ b/dracut
-@@ -284,9 +284,10 @@ for i in /usr/bin /bin /usr/sbin /sbin; do
-     if [ -L "$i" ]; then
-         rl=$(readlink -f $i)
-     fi
--    PATH="$PATH:$rl"
-+    NPATH="$NPATH:$rl"
- done
--export PATH
-+export PATH="$NPATH"
-+unset NPATH
- unset LD_LIBRARY_PATH
- unset GREP_OPTIONS
- 
diff --git a/0002-TEST-15-BTRFSRAID-write-diskimage-to-tmp-dir.patch b/0002-TEST-15-BTRFSRAID-write-diskimage-to-tmp-dir.patch
deleted file mode 100644
index a6496e9..0000000
--- a/0002-TEST-15-BTRFSRAID-write-diskimage-to-tmp-dir.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 12018c91eac3e0165fe3d5df5bc1382fdf64d2a1 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Wed, 8 Feb 2012 17:02:57 +0100
-Subject: [PATCH] TEST-15-BTRFSRAID: write diskimage to tmp dir
-
----
- test/TEST-15-BTRFSRAID/test.sh |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
-index bacdb4a..8f7839d 100755
---- a/test/TEST-15-BTRFSRAID/test.sh
-+++ b/test/TEST-15-BTRFSRAID/test.sh
-@@ -5,8 +5,8 @@ KVERSION=${KVERSION-$(uname -r)}
- 
- # Uncomment this to debug failures
- #DEBUGFAIL="rd.shell"
--DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-root.img
- test_run() {
-+    DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-root.img
-     $testdir/run-qemu \
- 	-hda $DISKIMAGE \
- 	-m 256M -nographic \
-@@ -18,6 +18,7 @@ test_run() {
- 
- test_setup() {
-     # Create the blank file to use as a root filesystem
-+    DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-root.img
-     rm -f $DISKIMAGE
-     dd if=/dev/null of=$DISKIMAGE bs=1M seek=1024
- 
diff --git a/0003-lsinitrd-silence-xz-test.patch b/0003-lsinitrd-silence-xz-test.patch
deleted file mode 100644
index 9e798ab..0000000
--- a/0003-lsinitrd-silence-xz-test.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From d20d307d697811f28fbd74111238c43740697226 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 9 Feb 2012 11:36:21 +0100
-Subject: [PATCH] lsinitrd: silence xz test
-
----
- lsinitrd |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/lsinitrd b/lsinitrd
-index 1d953b7..11e5c7a 100755
---- a/lsinitrd
-+++ b/lsinitrd
-@@ -36,7 +36,7 @@ image="${1:-/boot/initramfs-$(uname -r).img}"
- CAT=zcat
- FILE_T=$(file "$image")
- 
--if echo "test"|xz|xz -dc --single-stream; then
-+if echo "test"|xz|xz -dc --single-stream >/dev/null 2>&1; then
-     XZ_SINGLE_STREAM="--single-stream"
- fi
- 
diff --git a/0004-dracut-honor-binaries-in-sbin-first.patch b/0004-dracut-honor-binaries-in-sbin-first.patch
deleted file mode 100644
index bb1639d..0000000
--- a/0004-dracut-honor-binaries-in-sbin-first.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7b2d3d995c97652a13880b279bfc602e47bcda9c Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 9 Feb 2012 13:58:13 +0100
-Subject: [PATCH] dracut: honor binaries in sbin first
-
----
- dracut |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dracut b/dracut
-index 545f9db..fb46d70 100755
---- a/dracut
-+++ b/dracut
-@@ -279,14 +279,14 @@ if ! [[ $kernel ]]; then
- fi
- [[ $outfile ]] || outfile="/boot/initramfs-$kernel.img"
- 
--for i in /usr/bin /bin /usr/sbin /sbin; do
-+for i in /usr/sbin /sbin /usr/bin /bin; do
-     rl=$i
-     if [ -L "$i" ]; then
-         rl=$(readlink -f $i)
-     fi
--    NPATH="$NPATH:$rl"
-+    NPATH+=":$rl"
- done
--export PATH="$NPATH"
-+export PATH="${NPATH#:}"
- unset NPATH
- unset LD_LIBRARY_PATH
- unset GREP_OPTIONS
diff --git a/0005-98usrmount-mount-usr.sh-remove-extra-slash.patch b/0005-98usrmount-mount-usr.sh-remove-extra-slash.patch
deleted file mode 100644
index 60a2380..0000000
--- a/0005-98usrmount-mount-usr.sh-remove-extra-slash.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 075de7be458c4135f277d900c83bb7c3960dde8d Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 9 Feb 2012 13:58:49 +0100
-Subject: [PATCH] 98usrmount/mount-usr.sh: remove extra slash
-
-otherwise we have /sysroot//usr in fstab
----
- modules.d/98usrmount/mount-usr.sh |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
-index b24446a..5139c7a 100755
---- a/modules.d/98usrmount/mount-usr.sh
-+++ b/modules.d/98usrmount/mount-usr.sh
-@@ -11,7 +11,7 @@ mount_usr()
-     # check, if we have to mount the /usr filesystem
-     while read _dev _mp _fs _opts _rest; do
-         if [ "$_mp" = "/usr" ]; then
--            echo "$_dev $NEWROOT/$_mp $_fs ${_opts} $_rest"
-+            echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_rest"
-             _usr_found="1"
-             break
-         fi
diff --git a/0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch b/0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch
deleted file mode 100644
index d2f7b76..0000000
--- a/0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 81dcf7c90a853d91009888dbff6670bb483c0716 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Thu, 9 Feb 2012 14:16:31 +0100
-Subject: [PATCH] 99shutdown/shutdown: don't do console_init on shutdown
- emergency
-
----
- modules.d/99shutdown/shutdown |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/modules.d/99shutdown/shutdown b/modules.d/99shutdown/shutdown
-index 64937fa..2576687 100755
---- a/modules.d/99shutdown/shutdown
-+++ b/modules.d/99shutdown/shutdown
-@@ -26,7 +26,6 @@ emergency_shell()
-     source_hook shutdown-emergency
-     echo
-     if getargbool 1 rd.shell -y rdshell || getarg rd.break rdbreak; then
--        [ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/console
-         echo "Dropping to debug shell."
-         echo
-         export PS1="$_rdshell_name:\${PWD}# "
diff --git a/0007-Backup-and-restore-run-initramfs-via-systemd-service.patch b/0007-Backup-and-restore-run-initramfs-via-systemd-service.patch
deleted file mode 100644
index 8dca35b..0000000
--- a/0007-Backup-and-restore-run-initramfs-via-systemd-service.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From 4cfd24d1799fafacf6624c9638454de93dd6f331 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 10 Feb 2012 09:37:18 +0100
-Subject: [PATCH] Backup and restore /run/initramfs via systemd services
-
-This saves the space /run/initramfs is taking for the shutdown
----
- Makefile                   |   16 ++++++++++++++--
- dracut-backup.service      |   15 +++++++++++++++
- dracut-initramfs-backup.sh |   22 ++++++++++++++++++++++
- dracut-restore.service     |   18 ++++++++++++++++++
- dracut.spec                |   13 ++++++++++++-
- 5 files changed, 81 insertions(+), 3 deletions(-)
- create mode 100644 dracut-backup.service
- create mode 100644 dracut-initramfs-backup.sh
- create mode 100644 dracut-restore.service
-
-diff --git a/Makefile b/Makefile
-index 8d7b7d6..09e87c8 100644
---- a/Makefile
-+++ b/Makefile
-@@ -40,6 +40,7 @@ install: doc
- 	mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
- 	install -m 0755 dracut-functions $(DESTDIR)$(pkglibdir)/dracut-functions
- 	install -m 0755 dracut-logger $(DESTDIR)$(pkglibdir)/dracut-logger
-+	install -m 0755 dracut-initramfs-backup.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-backup
- 	cp -arx modules.d $(DESTDIR)$(pkglibdir)
- 	install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
- 	install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
-@@ -47,6 +48,15 @@ install: doc
- 	install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5/dracut.conf.5
- 	install -m 0644 dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.cmdline.7
- 	ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
-+	if [ -n "$(systemdsystemunitdir)" ]; then \
-+		mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
-+		install -m 0644 dracut-backup.service $(DESTDIR)$(systemdsystemunitdir); \
-+		install -m 0644 dracut-restore.service $(DESTDIR)$(systemdsystemunitdir); \
-+		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants; \
-+		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants; \
-+		ln -s ../dracut-backup.service $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-backup.service; \
-+		ln -s ../dracut-restore.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-restore.service; \
-+	fi
- 
- clean:
- 	$(RM) *~
-@@ -77,12 +87,14 @@ rpm: dracut-$(VERSION).tar.bz2
- 	( mv "$$rpmbuild"/noarch/*.rpm .; mv "$$rpmbuild"/*.src.rpm .;rm -fr "$$rpmbuild"; ls *.rpm )
- 
- syncheck:
--	@ret=0;for i in dracut-logger modules.d/99base/init modules.d/*/*.sh; do \
-+	@ret=0;for i in dracut-initramfs-backup.sh dracut-logger \
-+                        modules.d/99base/init modules.d/*/*.sh; do \
-                 [ "$${i##*/}" = "module-setup.sh" ] && continue; \
-                 [ "$${i##*/}" = "caps.sh" ] && continue; \
- 		dash -n "$$i" ; ret=$$(($$ret+$$?)); \
- 	done;exit $$ret
--	@ret=0;for i in dracut modules.d/02caps/caps.sh modules.d/*/module-setup.sh; do \
-+	@ret=0;for i in mkinitrd-dracut.sh dracut modules.d/02caps/caps.sh \
-+	                modules.d/*/module-setup.sh; do \
- 		bash -n "$$i" ; ret=$$(($$ret+$$?)); \
- 	done;exit $$ret
- 
-diff --git a/dracut-backup.service b/dracut-backup.service
-new file mode 100644
-index 0000000..69110eb
---- /dev/null
-+++ b/dracut-backup.service
-@@ -0,0 +1,15 @@
-+#  This file is part of systemd.
-+#
-+#  systemd is free software; you can redistribute it and/or modify it
-+#  under the terms of the GNU General Public License as published by
-+#  the Free Software Foundation; either version 2 of the License, or
-+#  (at your option) any later version.
-+
-+[Unit]
-+Description=Save /run/initramfs
-+ConditionPathExists=/run/initramfs
-+
-+[Service]
-+ExecStart=/usr/lib/dracut/dracut-initramfs-backup backup
-+Type=oneshot
-+RemainAfterExit=yes
-diff --git a/dracut-initramfs-backup.sh b/dracut-initramfs-backup.sh
-new file mode 100644
-index 0000000..7320d40
---- /dev/null
-+++ b/dracut-initramfs-backup.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
-+
-+set -e
-+cd /run/initramfs
-+
-+if [ "x$1" = "xbackup" ]; then
-+    compress="gzip"
-+    command -v pigz > /dev/null 2>&1 && compress="pigz"
-+    find . |cpio -H newc -o --quiet \
-+        | pigz > /var/lib/initramfs/_run_initramfs-backup.cpio.gz
-+    mv -f /var/lib/initramfs/_run_initramfs-backup.cpio.gz \
-+        /var/lib/initramfs/run_initramfs-backup.cpio.gz
-+    rm -fr etc bin lib lib64 sbin shutdown tmp usr var
-+    > .backuped
-+elif [ "x$1" = "xrestore" ]; then
-+    [ -f .backuped -a -f /var/lib/initramfs/run_initramfs-backup.cpio.gz ] || exit 1
-+    zcat /var/lib/initramfs/run_initramfs-backup.cpio.gz  | cpio -id >/dev/null 2>&1
-+    rm .backuped
-+    rm -f /var/lib/initramfs/run_initramfs-backup.cpio.gz
-+fi
-diff --git a/dracut-restore.service b/dracut-restore.service
-new file mode 100644
-index 0000000..3a07efe
---- /dev/null
-+++ b/dracut-restore.service
-@@ -0,0 +1,18 @@
-+#  This file is part of systemd.
-+#
-+#  systemd is free software; you can redistribute it and/or modify it
-+#  under the terms of the GNU General Public License as published by
-+#  the Free Software Foundation; either version 2 of the License, or
-+#  (at your option) any later version.
-+
-+[Unit]
-+Description=Restore /run/initramfs
-+After=getty@tty1.service prefdm.service
-+Before=reboot.service
-+DefaultDependencies=no
-+ConditionPathExists=/run/initramfs/.backuped
-+
-+[Service]
-+ExecStart=/usr/lib/dracut/dracut-initramfs-backup restore
-+Type=oneshot
-+RemainAfterExit=yes
-\ No newline at end of file
-diff --git a/dracut.spec b/dracut.spec
-index 1b0b76b..6efd553 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -27,6 +27,7 @@ Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
- 
- BuildArch: noarch
- BuildRequires: dash bash git
-+
- %if 0%{?fedora} || 0%{?rhel} > 6
- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
- %endif
-@@ -51,6 +52,10 @@ Obsoletes: nash <= 6.0.93
- Obsoletes: libbdevid-python <= 6.0.93
- %endif
- 
-+%if 0%{?fedora} > 16 || 0%{?rhel} > 6
-+BuildRequires: systemd-units
-+%endif
-+
- %if 0%{?suse_version} > 9999
- Obsoletes: mkinitrd < 2.6.1
- Provides: mkinitrd = 2.6.1
-@@ -161,7 +166,8 @@ rm -rf $RPM_BUILD_ROOT
- make install DESTDIR=$RPM_BUILD_ROOT \
-      libdir=%{_prefix}/lib \
-      bindir=%{_bindir} \
--     sysconfdir=/etc mandir=%{_mandir}
-+     sysconfdir=/etc mandir=%{_mandir} \
-+     systemdsystemunitdir=%{_unitdir}
- 
- echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
- 
-@@ -217,6 +223,7 @@ rm -rf $RPM_BUILD_ROOT
- %dir %{dracutlibdir}/modules.d
- %{dracutlibdir}/dracut-functions
- %{dracutlibdir}/dracut-logger
-+%{dracutlibdir}/dracut-initramfs-backup
- %config(noreplace) /etc/dracut.conf
- %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
- %config /etc/dracut.conf.d/01-dist.conf
-@@ -266,6 +273,10 @@ rm -rf $RPM_BUILD_ROOT
- %config(noreplace) /etc/logrotate.d/dracut_log
- %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
- %dir %{_sharedstatedir}/initramfs
-+%if 0%{?fedora} > 16 || 0%{?rhel} > 6
-+%{_unitdir}/*.service
-+%{_unitdir}/*/*.service
-+%endif
- 
- %files network
- %defattr(-,root,root,0755)
diff --git a/0008-shutdown-on-demand.patch b/0008-shutdown-on-demand.patch
deleted file mode 100644
index a2815f9..0000000
--- a/0008-shutdown-on-demand.patch
+++ /dev/null
@@ -1,349 +0,0 @@
-From fb67e4aa36948b3ed1208bf963da5569d1b13409 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald@redhat.com>
-Date: Fri, 10 Feb 2012 11:14:42 +0100
-Subject: [PATCH] shutdown on demand
-
-Do not save and restore the initramfs, but instead, just unpack the
-default initramfs for shutdown on shutdown.
----
- Makefile                                     |    9 +++------
- dracut-backup.service                        |   15 ---------------
- dracut-initramfs-backup.sh                   |   22 ----------------------
- dracut-initramfs-restore.sh                  |   10 ++++++++++
- dracut-restore.service                       |   18 ------------------
- dracut-shutdown.service                      |   18 ++++++++++++++++++
- dracut.conf.d/fedora.conf.example            |    1 -
- dracut.spec                                  |    2 +-
- modules.d/90crypt/cryptroot-ask.sh           |    1 +
- modules.d/90dmraid/dmraid.sh                 |    1 +
- modules.d/90dmsquash-live/dmsquash-live-root |    2 ++
- modules.d/90lvm/lvm_scan.sh                  |    2 ++
- modules.d/90mdraid/mdraid-cleanup.sh         |    4 ++--
- modules.d/90multipath/multipathd.sh          |    1 +
- modules.d/95fcoe/fcoe-up                     |    2 ++
- modules.d/95iscsi/iscsiroot                  |    2 ++
- modules.d/95nbd/nbdroot                      |    1 +
- modules.d/95nfs/nfsroot                      |    2 +-
- modules.d/98usrmount/mount-usr.sh            |   10 ++++++++++
- modules.d/99base/dracut-lib.sh               |    4 ++++
- 20 files changed, 61 insertions(+), 66 deletions(-)
- delete mode 100644 dracut-backup.service
- delete mode 100644 dracut-initramfs-backup.sh
- create mode 100644 dracut-initramfs-restore.sh
- delete mode 100644 dracut-restore.service
- create mode 100644 dracut-shutdown.service
-
-diff --git a/Makefile b/Makefile
-index 09e87c8..99279ac 100644
---- a/Makefile
-+++ b/Makefile
-@@ -40,7 +40,7 @@ install: doc
- 	mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
- 	install -m 0755 dracut-functions $(DESTDIR)$(pkglibdir)/dracut-functions
- 	install -m 0755 dracut-logger $(DESTDIR)$(pkglibdir)/dracut-logger
--	install -m 0755 dracut-initramfs-backup.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-backup
-+	install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
- 	cp -arx modules.d $(DESTDIR)$(pkglibdir)
- 	install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
- 	install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
-@@ -50,12 +50,9 @@ install: doc
- 	ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
- 	if [ -n "$(systemdsystemunitdir)" ]; then \
- 		mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
--		install -m 0644 dracut-backup.service $(DESTDIR)$(systemdsystemunitdir); \
--		install -m 0644 dracut-restore.service $(DESTDIR)$(systemdsystemunitdir); \
--		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants; \
-+		install -m 0644 dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir); \
- 		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants; \
--		ln -s ../dracut-backup.service $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-backup.service; \
--		ln -s ../dracut-restore.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-restore.service; \
-+		ln -s ../dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-shutdown.service; \
- 	fi
- 
- clean:
-diff --git a/dracut-backup.service b/dracut-backup.service
-deleted file mode 100644
-index 69110eb..0000000
---- a/dracut-backup.service
-+++ /dev/null
-@@ -1,15 +0,0 @@
--#  This file is part of systemd.
--#
--#  systemd is free software; you can redistribute it and/or modify it
--#  under the terms of the GNU General Public License as published by
--#  the Free Software Foundation; either version 2 of the License, or
--#  (at your option) any later version.
--
--[Unit]
--Description=Save /run/initramfs
--ConditionPathExists=/run/initramfs
--
--[Service]
--ExecStart=/usr/lib/dracut/dracut-initramfs-backup backup
--Type=oneshot
--RemainAfterExit=yes
-diff --git a/dracut-initramfs-backup.sh b/dracut-initramfs-backup.sh
-deleted file mode 100644
-index 7320d40..0000000
---- a/dracut-initramfs-backup.sh
-+++ /dev/null
-@@ -1,22 +0,0 @@
--#!/bin/sh
--# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
--# ex: ts=8 sw=4 sts=4 et filetype=sh
--
--set -e
--cd /run/initramfs
--
--if [ "x$1" = "xbackup" ]; then
--    compress="gzip"
--    command -v pigz > /dev/null 2>&1 && compress="pigz"
--    find . |cpio -H newc -o --quiet \
--        | pigz > /var/lib/initramfs/_run_initramfs-backup.cpio.gz
--    mv -f /var/lib/initramfs/_run_initramfs-backup.cpio.gz \
--        /var/lib/initramfs/run_initramfs-backup.cpio.gz
--    rm -fr etc bin lib lib64 sbin shutdown tmp usr var
--    > .backuped
--elif [ "x$1" = "xrestore" ]; then
--    [ -f .backuped -a -f /var/lib/initramfs/run_initramfs-backup.cpio.gz ] || exit 1
--    zcat /var/lib/initramfs/run_initramfs-backup.cpio.gz  | cpio -id >/dev/null 2>&1
--    rm .backuped
--    rm -f /var/lib/initramfs/run_initramfs-backup.cpio.gz
--fi
-diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
-new file mode 100644
-index 0000000..26b698b
---- /dev/null
-+++ b/dracut-initramfs-restore.sh
-@@ -0,0 +1,10 @@
-+#!/bin/sh
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+set -e
-+cd /run/initramfs
-+IMG="/boot/initramfs-$(uname -r).img"
-+[ -f .need_shutdown -a -f "$IMG" ] || exit 1
-+zcat "$IMG"  | cpio -id >/dev/null 2>&1
-+rm .need_shutdown
-diff --git a/dracut-restore.service b/dracut-restore.service
-deleted file mode 100644
-index 3a07efe..0000000
---- a/dracut-restore.service
-+++ /dev/null
-@@ -1,18 +0,0 @@
--#  This file is part of systemd.
--#
--#  systemd is free software; you can redistribute it and/or modify it
--#  under the terms of the GNU General Public License as published by
--#  the Free Software Foundation; either version 2 of the License, or
--#  (at your option) any later version.
--
--[Unit]
--Description=Restore /run/initramfs
--After=getty@tty1.service prefdm.service
--Before=reboot.service
--DefaultDependencies=no
--ConditionPathExists=/run/initramfs/.backuped
--
--[Service]
--ExecStart=/usr/lib/dracut/dracut-initramfs-backup restore
--Type=oneshot
--RemainAfterExit=yes
-\ No newline at end of file
-diff --git a/dracut-shutdown.service b/dracut-shutdown.service
-new file mode 100644
-index 0000000..4f06e35
---- /dev/null
-+++ b/dracut-shutdown.service
-@@ -0,0 +1,18 @@
-+#  This file is part of systemd.
-+#
-+#  systemd is free software; you can redistribute it and/or modify it
-+#  under the terms of the GNU General Public License as published by
-+#  the Free Software Foundation; either version 2 of the License, or
-+#  (at your option) any later version.
-+
-+[Unit]
-+Description=Restore /run/initramfs
-+After=getty@tty1.service prefdm.service
-+Before=reboot.service
-+DefaultDependencies=no
-+ConditionPathExists=/run/initramfs/.need_shutdown
-+
-+[Service]
-+ExecStart=/usr/lib/dracut/dracut-initramfs-restore
-+Type=oneshot
-+RemainAfterExit=yes
-diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
-index 45063c6..adfecc8 100644
---- a/dracut.conf.d/fedora.conf.example
-+++ b/dracut.conf.d/fedora.conf.example
-@@ -5,6 +5,5 @@ i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-F
- add_dracutmodules+=" rpmversion "
- omit_dracutmodules+=" dash "
- stdloglvl=3
--prefix=/run/initramfs
- realinitpath="/usr/lib/systemd/systemd"
- install_items+=" vi /etc/virc ps grep cat rm openvt "
-diff --git a/dracut.spec b/dracut.spec
-index 6efd553..304f1f3 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -223,7 +223,7 @@ rm -rf $RPM_BUILD_ROOT
- %dir %{dracutlibdir}/modules.d
- %{dracutlibdir}/dracut-functions
- %{dracutlibdir}/dracut-logger
--%{dracutlibdir}/dracut-initramfs-backup
-+%{dracutlibdir}/dracut-initramfs-restore
- %config(noreplace) /etc/dracut.conf
- %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
- %config /etc/dracut.conf.d/01-dist.conf
-diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
-index 6a95dc2..aba1331 100755
---- a/modules.d/90crypt/cryptroot-ask.sh
-+++ b/modules.d/90crypt/cryptroot-ask.sh
-@@ -117,6 +117,7 @@ unset device luksname luksfile
- # mark device as asked
- >> /tmp/cryptroot-asked-$2
- 
-+need_shutdown
- udevsettle
- 
- exit 0
-diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
-index feff516..574dc3b 100755
---- a/modules.d/90dmraid/dmraid.sh
-+++ b/modules.d/90dmraid/dmraid.sh
-@@ -40,3 +40,4 @@ else
-     done
- fi
- 
-+need_shutdown
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root b/modules.d/90dmsquash-live/dmsquash-live-root
-index d9fcc43..e3606cf 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root
-@@ -206,4 +206,6 @@ fi
- ln -s /dev/mapper/live-rw /dev/root
- printf '/bin/mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- 
-+need_shutdown
-+
- exit 0
-diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh
-index 3c0094e..104565f 100755
---- a/modules.d/90lvm/lvm_scan.sh
-+++ b/modules.d/90lvm/lvm_scan.sh
-@@ -126,3 +126,5 @@ if [ "$lvmwritten" ]; then
-     rm -f /etc/lvm/lvm.conf
- fi
- unset lvmwritten
-+
-+need_shutdown
-diff --git a/modules.d/90mdraid/mdraid-cleanup.sh b/modules.d/90mdraid/mdraid-cleanup.sh
-index 3ffa2d3..2e8a389 100755
---- a/modules.d/90mdraid/mdraid-cleanup.sh
-+++ b/modules.d/90mdraid/mdraid-cleanup.sh
-@@ -13,11 +13,11 @@ for md in /dev/md[0-9_]*; do
-         containers="$containers $md"
-         continue
-     fi
--    mdadm -S "$md" >/dev/null 2>&1
-+    mdadm -S "$md" >/dev/null 2>&1 || need_shutdown
- done
- 
- for md in $containers; do
--    mdadm -S "$md" >/dev/null 2>&1
-+    mdadm -S "$md" >/dev/null 2>&1 || need_shutdown
- done
- 
- unset containers udevinfo
-diff --git a/modules.d/90multipath/multipathd.sh b/modules.d/90multipath/multipathd.sh
-index 4d8935f..6d6eb99 100755
---- a/modules.d/90multipath/multipathd.sh
-+++ b/modules.d/90multipath/multipathd.sh
-@@ -5,6 +5,7 @@
- if [ -e /etc/multipath.conf ]; then
-     modprobe dm-multipath
-     multipathd -B || multipathd
-+    need_shutdown
- else
-     rm /etc/udev/rules.d/??-multipath.rules 2>/dev/null
- fi
-diff --git a/modules.d/95fcoe/fcoe-up b/modules.d/95fcoe/fcoe-up
-index 5c5bdb5..1e1bcf5 100755
---- a/modules.d/95fcoe/fcoe-up
-+++ b/modules.d/95fcoe/fcoe-up
-@@ -46,3 +46,5 @@ elif [ "$netdriver" = "bnx2x" ]; then
- else
-     echo -n "$netif" > /sys/module/fcoe/parameters/create
- fi
-+
-+need_shutdown
-diff --git a/modules.d/95iscsi/iscsiroot b/modules.d/95iscsi/iscsiroot
-index e7bac74..d8f7c8f 100755
---- a/modules.d/95iscsi/iscsiroot
-+++ b/modules.d/95iscsi/iscsiroot
-@@ -205,6 +205,8 @@ else
-     handle_netroot $iroot
- fi
- 
-+need_shutdown
-+
- # now we have a root filesystem somewhere in /dev/sda*
- # let the normal block handler handle root=
- exit 0
-diff --git a/modules.d/95nbd/nbdroot b/modules.d/95nbd/nbdroot
-index 1fb2140..e20b4e4 100755
---- a/modules.d/95nbd/nbdroot
-+++ b/modules.d/95nbd/nbdroot
-@@ -107,4 +107,5 @@ fi
- # NBD doesn't emit uevents when it gets connected, so kick it
- echo change > /sys/block/nbd0/uevent
- udevadm settle
-+need_shutdown
- exit 0
-diff --git a/modules.d/95nfs/nfsroot b/modules.d/95nfs/nfsroot
-index 2103e24..764971b 100755
---- a/modules.d/95nfs/nfsroot
-+++ b/modules.d/95nfs/nfsroot
-@@ -106,4 +106,4 @@ echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/
- # force udevsettle to break
- > $hookdir/initqueue/work
- 
--
-+need_shutdown
-diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
-index 5139c7a..9998624 100755
---- a/modules.d/98usrmount/mount-usr.sh
-+++ b/modules.d/98usrmount/mount-usr.sh
-@@ -11,6 +11,16 @@ mount_usr()
-     # check, if we have to mount the /usr filesystem
-     while read _dev _mp _fs _opts _rest; do
-         if [ "$_mp" = "/usr" ]; then
-+            case "$_dev" in
-+                LABEL=*)
-+                    _dev="$(echo $_dev | sed 's,/,\\x2f,g')"
-+                    _dev="/dev/disk/by-label/${_dev#LABEL=}"
-+		    ;;
-+                UUID=*)
-+                    _dev="${_dev#block:}"
-+                    _dev="/dev/disk/by-uuid/${_dev#UUID=}"
-+                    ;;
-+            esac
-             echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_rest"
-             _usr_found="1"
-             break
-diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
-index 4897a3d..6b70adf 100755
---- a/modules.d/99base/dracut-lib.sh
-+++ b/modules.d/99base/dracut-lib.sh
-@@ -738,3 +738,7 @@ killproc() {
-         fi
-     done
- }
-+
-+need_shutdown() {
-+    >/run/initramfs/.need_shutdown
-+}
diff --git a/dracut.spec b/dracut.spec
index 81a9641..7332ffb 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -9,8 +9,8 @@
 %endif
 
 Name: dracut
-Version: 015
-Release: 9.git20120213%{?dist}
+Version: 016
+Release: 1%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel} > 6
@@ -24,14 +24,6 @@ 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.bz2
-Patch1: 0001-dracut-setup-clean-PATH-w-o-existing-one.patch
-Patch2: 0002-TEST-15-BTRFSRAID-write-diskimage-to-tmp-dir.patch
-Patch3: 0003-lsinitrd-silence-xz-test.patch
-Patch4: 0004-dracut-honor-binaries-in-sbin-first.patch
-Patch5: 0005-98usrmount-mount-usr.sh-remove-extra-slash.patch
-Patch6: 0006-99shutdown-shutdown-don-t-do-console_init-on-shutdow.patch
-Patch7: 0007-Backup-and-restore-run-initramfs-via-systemd-service.patch
-Patch8: 0008-shutdown-on-demand.patch
 
 
 BuildArch: noarch
@@ -248,6 +240,7 @@ rm -rf $RPM_BUILD_ROOT
 %{dracutlibdir}/modules.d/10i18n
 %{dracutlibdir}/modules.d/10rpmversion
 %{dracutlibdir}/modules.d/30convertfs
+%{dracutlibdir}/modules.d/45url-lib
 %{dracutlibdir}/modules.d/50plymouth
 %{dracutlibdir}/modules.d/90btrfs
 %{dracutlibdir}/modules.d/90crypt
@@ -278,6 +271,7 @@ rm -rf $RPM_BUILD_ROOT
 %{dracutlibdir}/modules.d/98usrmount
 %{dracutlibdir}/modules.d/99base
 %{dracutlibdir}/modules.d/99fs-lib
+%{dracutlibdir}/modules.d/99img-lib
 %{dracutlibdir}/modules.d/99shutdown
 %config(noreplace) /etc/logrotate.d/dracut_log
 %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
@@ -326,6 +320,9 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Wed Feb 15 2012 Harald Hoyer <harald@redhat.com> 016-1
+- version 016
+
 * Mon Feb 13 2012 Harald Hoyer <harald@redhat.com> 015-9.git20120213
 - update to latest git