[dracut] dracut-020-64.git20120709

Harald Hoyer harald at fedoraproject.org
Mon Jul 9 15:27:01 UTC 2012


commit 89b080e2768aeb2c79b3fda802797791808d5453
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Jul 9 17:26:31 2012 +0200

    dracut-020-64.git20120709
    
    - fixed plymouth install
    - fixed resume
    - fixed dhcp
    - no dracut systemd services installed in the system

 0057-02caps-do-not-create-bin-sh-link.patch        |   32 ++
 0058-dhclient-initqueue-hook-fix.patch             |   33 ++
 ...-not-install-service-from-98systemd.-They.patch |   49 ++
 ...uth-Use-latest-plymouth-s-populate-script.patch |   25 +
 0061-test-export-initdir.patch                     |  488 ++++++++++++++++++++
 0062-test-new-test-TEST-99-RPM.patch               |  120 +++++
 0063-resume-move-resume-process-to-initqueue.patch |   63 +++
 dracut.spec                                        |   20 +-
 8 files changed, 826 insertions(+), 4 deletions(-)
---
diff --git a/0057-02caps-do-not-create-bin-sh-link.patch b/0057-02caps-do-not-create-bin-sh-link.patch
new file mode 100644
index 0000000..b1ddc7a
--- /dev/null
+++ b/0057-02caps-do-not-create-bin-sh-link.patch
@@ -0,0 +1,32 @@
+From d6e8280cd83a08f1b224fa4745de4e3b6f5baa4c Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 9 Jul 2012 14:57:11 +0800
+Subject: [PATCH] 02caps: do not create /bin/sh link
+
+02caps: do not create /bin/sh link
+
+caps.sh use !/bin/bash explictly, so no need to ln -sf bash /bin/sh
+
+OTOH, 00dash will create the symlink /bin/sh, 99base will create it if
+there's no /bin/sh symlink. It looks bad to creat /bin/sh in other modules.
+
+If a script want to use bash as command interpreter it should use !/bin/bash
+or !/bin/sh in case dash is not installed.
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ modules.d/02caps/module-setup.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/02caps/module-setup.sh b/modules.d/02caps/module-setup.sh
+index 6ecb231..c9d94ee 100755
+--- a/modules.d/02caps/module-setup.sh
++++ b/modules.d/02caps/module-setup.sh
+@@ -14,6 +14,6 @@ install() {
+     inst_hook pre-pivot 00 "$moddir/caps.sh"
+     inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
+     # capsh wants bash and we need bash also
+-    inst /bin/bash && ln -sf bash "${initdir}/bin/sh"
++    inst /bin/bash
+ }
+ 
diff --git a/0058-dhclient-initqueue-hook-fix.patch b/0058-dhclient-initqueue-hook-fix.patch
new file mode 100644
index 0000000..34332bb
--- /dev/null
+++ b/0058-dhclient-initqueue-hook-fix.patch
@@ -0,0 +1,33 @@
+From a17fc9902e3ccd154765cbc8a1b7cc285072ad75 Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 9 Jul 2012 14:56:35 +0800
+Subject: [PATCH] dhclient initqueue hook fix
+
+dhclient initqueue hook fix
+
+setup_net is scheduled in initqueue, sometimes it does not get chance to run
+So the default route will not be set properly
+
+Add a check in initqueue/finished to resolve this issue.
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ modules.d/40network/dhclient-script.sh |    2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
+index 470444e..1500fe5 100755
+--- a/modules.d/40network/dhclient-script.sh
++++ b/modules.d/40network/dhclient-script.sh
+@@ -88,9 +88,11 @@ case $reason in
+             echo "setup_net $netif"
+             echo "source_hook initqueue/online $netif"
+             [ -e /tmp/net.$netif.manualup ] || echo "/sbin/netroot $netif"
++            echo "> /tmp/setup_net_$netif.ok"
+             echo "rm -f $hookdir/initqueue/setup_net_$netif.sh"
+         } > $hookdir/initqueue/setup_net_$netif.sh
+ 
++        echo "[ -f /tmp/setup_net_$netif.ok ]" > $hookdir/initqueue/finished/dhclient-$netif.sh
+         >/tmp/net.$netif.up
+         ;;
+     *) echo "dhcp: $reason";;
diff --git a/0059-Makefile-do-not-install-service-from-98systemd.-They.patch b/0059-Makefile-do-not-install-service-from-98systemd.-They.patch
new file mode 100644
index 0000000..406fc0f
--- /dev/null
+++ b/0059-Makefile-do-not-install-service-from-98systemd.-They.patch
@@ -0,0 +1,49 @@
+From 2023d8eb5b1a92cb830059384f4935a42505eaaa Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 9 Jul 2012 12:41:56 +0200
+Subject: [PATCH] Makefile: do not install service from 98systemd. They are
+ copied to /run
+
+---
+ Makefile    |   11 +----------
+ dracut.spec |    5 ++---
+ 2 files changed, 3 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 07741d0..e20ba06 100644
+--- a/Makefile
++++ b/Makefile
+@@ -83,16 +83,7 @@ install: doc dracut-version.sh
+ 	ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
+ 	if [ -n "$(systemdsystemunitdir)" ]; then \
+ 		mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
+-		for i in \
+-			modules.d/98systemd/dracut-initqueue.service \
+-			modules.d/98systemd/dracut-pre-pivot.service \
+-			modules.d/98systemd/dracut-pre-trigger.service \
+-			modules.d/98systemd/dracut-pre-udev.service \
+-			modules.d/98systemd/initrd-switch-root.service \
+-			modules.d/98systemd/initrd-switch-root.target \
+-			dracut-shutdown.service; do \
+-				install -m 0644 $$i $(DESTDIR)$(systemdsystemunitdir); \
+-		done; \
++		install -m 0644 dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir); \
+ 		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants; \
+ 		ln -s ../dracut-shutdown.service \
+ 		$(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
+diff --git a/dracut.spec b/dracut.spec
+index 6be1c3d..c17860d 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -312,9 +312,8 @@ rm -rf $RPM_BUILD_ROOT
+ %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
+ %dir %{_sharedstatedir}/initramfs
+ %if %{defined _unitdir}
+-%{_unitdir}/*.service
+-%{_unitdir}/*.target
+-%{_unitdir}/*/*.service
++%{_unitdir}/dracut-shutdown.service
++%{_unitdir}/shutdown.target.wants/dracut-shutdown.service
+ %endif
+ 
+ %files network
diff --git a/0060-plymouth-Use-latest-plymouth-s-populate-script.patch b/0060-plymouth-Use-latest-plymouth-s-populate-script.patch
new file mode 100644
index 0000000..01e8ea3
--- /dev/null
+++ b/0060-plymouth-Use-latest-plymouth-s-populate-script.patch
@@ -0,0 +1,25 @@
+From 3c1feedfd1e175119c26f0dd29e4c03eac1f1f7c Mon Sep 17 00:00:00 2001
+From: Colin Guthrie <colin at mageia.org>
+Date: Sat, 7 Jul 2012 16:48:01 +0100
+Subject: [PATCH] plymouth: Use latest plymouth's populate script.
+
+The latest plymouth no longer relies on dracut to provide functions
+needed to install binaries/libs so the check for a variable name
+no longer works and the old, built-in script is used instead thus
+breaking the new drm and framebuffer plymouth module installation.
+---
+ modules.d/50plymouth/module-setup.sh |    1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index 9cdcc63..10aa0da 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -65,7 +65,6 @@ installkernel() {
+ 
+ install() {
+     if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \
+-        || ! grep -q PLYMOUTH_POPULATE_SOURCE_FUNCTIONS /usr/libexec/plymouth/plymouth-populate-initrd \
+         || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
+         . "$moddir"/plymouth-populate-initrd.sh
+     else
diff --git a/0061-test-export-initdir.patch b/0061-test-export-initdir.patch
new file mode 100644
index 0000000..9459c6d
--- /dev/null
+++ b/0061-test-export-initdir.patch
@@ -0,0 +1,488 @@
+From 27fa604418517c8e8a8e771ce6a804d4886e9f2f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 9 Jul 2012 15:30:15 +0200
+Subject: [PATCH] test: export initdir
+
+---
+ test/TEST-01-BASIC/test.sh        |    6 +++---
+ test/TEST-02-SYSTEMD/test.sh      |    6 +++---
+ test/TEST-03-USR-MOUNT/test.sh    |    6 +++---
+ test/TEST-10-RAID/test.sh         |    6 +++---
+ test/TEST-11-LVM/test.sh          |    6 +++---
+ test/TEST-12-RAID-DEG/test.sh     |    6 +++---
+ test/TEST-13-ENC-RAID-LVM/test.sh |    6 +++---
+ test/TEST-15-BTRFSRAID/test.sh    |    6 +++---
+ test/TEST-16-DMSQUASH/test.sh     |    4 ++--
+ test/TEST-20-NFS/test.sh          |    6 +++---
+ test/TEST-30-ISCSI/test.sh        |    8 ++++----
+ test/TEST-40-NBD/test.sh          |   10 +++++-----
+ test/TEST-50-MULTINIC/test.sh     |    6 +++---
+ test/old.TEST-14-IMSM/test.sh     |    6 +++---
+ test/test-functions               |    2 +-
+ 15 files changed, 45 insertions(+), 45 deletions(-)
+
+diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
+index 35e05bb..f8522e6 100755
+--- a/test/TEST-01-BASIC/test.sh
++++ b/test/TEST-01-BASIC/test.sh
+@@ -27,7 +27,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	mkdir -p $initdir
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+@@ -49,7 +49,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mkfs.ext3 poweroff cp umount sync
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -77,7 +77,7 @@ test_setup() {
+ 
+ 
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh
+index b535dbe..5a121c0 100755
+--- a/test/TEST-02-SYSTEMD/test.sh
++++ b/test/TEST-02-SYSTEMD/test.sh
+@@ -23,7 +23,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	mkdir -p $initdir
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+@@ -45,7 +45,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mkfs.ext3 poweroff cp umount
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -73,7 +73,7 @@ test_setup() {
+ 
+ 
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh
+index d966c3c..f3237d3 100755
+--- a/test/TEST-03-USR-MOUNT/test.sh
++++ b/test/TEST-03-USR-MOUNT/test.sh
+@@ -54,7 +54,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	mkdir -p $initdir
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+@@ -77,7 +77,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mkfs.btrfs btrfs poweroff cp umount sync
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -112,7 +112,7 @@ test_setup() {
+ 
+ 
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
+index ef6d0c2..d2b1921 100755
+--- a/test/TEST-10-RAID/test.sh
++++ b/test/TEST-10-RAID/test.sh
+@@ -25,7 +25,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	(mkdir -p "$initdir"; cd "$initdir"; mkdir -p dev sys proc etc var/run tmp run)
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+@@ -46,7 +46,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mke2fs poweroff cp umount
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -72,7 +72,7 @@ test_setup() {
+     grep -m 1 -q dracut-root-block-created $DISKIMAGE || return 1
+ 
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh
+index 034cc4c..61ebdfa 100755
+--- a/test/TEST-11-LVM/test.sh
++++ b/test/TEST-11-LVM/test.sh
+@@ -23,7 +23,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient
+@@ -44,7 +44,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mke2fs poweroff cp umount
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -66,7 +66,7 @@ test_setup() {
+ 	-initrd $TESTDIR/initramfs.makeroot  || return 1
+     grep -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh
+index c6038bd..05e5f8a 100755
+--- a/test/TEST-12-RAID-DEG/test.sh
++++ b/test/TEST-12-RAID-DEG/test.sh
+@@ -58,7 +58,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient
+@@ -78,7 +78,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mke2fs poweroff cp umount dd grep
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -106,7 +106,7 @@ test_setup() {
+     grep -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
+     eval $(grep --binary-files=text -m 1 MD_UUID $TESTDIR/root.ext2)
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh
+index 658de8f..f0f7d34 100755
+--- a/test/TEST-13-ENC-RAID-LVM/test.sh
++++ b/test/TEST-13-ENC-RAID-LVM/test.sh
+@@ -59,7 +59,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient
+@@ -79,7 +79,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mke2fs poweroff cp umount grep
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -108,7 +108,7 @@ test_setup() {
+ 
+ 
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
+index 5918b5e..61ccae3 100755
+--- a/test/TEST-15-BTRFSRAID/test.sh
++++ b/test/TEST-15-BTRFSRAID/test.sh
+@@ -25,7 +25,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient
+@@ -45,7 +45,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mkfs.btrfs poweroff cp umount
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -74,7 +74,7 @@ test_setup() {
+     grep -m 1 -q dracut-root-block-created $DISKIMAGE || return 1
+ 
+    (
+-	initdir=$TESTDIR/overlay
++        export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh
+index 5cd9986..4dc133c 100755
+--- a/test/TEST-16-DMSQUASH/test.sh
++++ b/test/TEST-16-DMSQUASH/test.sh
+@@ -29,7 +29,7 @@ test_run() {
+ test_setup() {
+     mkdir -p $TESTDIR/overlay
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+@@ -47,7 +47,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/root-source
++	export initdir=$TESTDIR/root-source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient \
+diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
+index 57bf512..a44f6c0 100755
+--- a/test/TEST-20-NFS/test.sh
++++ b/test/TEST-20-NFS/test.sh
+@@ -217,7 +217,7 @@ test_setup() {
+     # Detect lib paths
+ 
+    (
+-    	initdir=$TESTDIR/mnt
++       export initdir=$TESTDIR/mnt
+ 	. $basedir/dracut-functions.sh
+ 
+ 	for _f in modules.builtin.bin modules.builtin; do
+@@ -282,7 +282,7 @@ test_setup() {
+ 
+     # Make client root inside server root
+     (
+-	initdir=$TESTDIR/mnt/nfs/client
++	export initdir=$TESTDIR/mnt/nfs/client
+ 	. $basedir/dracut-functions.sh
+ 
+ 	dracut_install sh shutdown poweroff stty cat ps ln ip \
+@@ -325,7 +325,7 @@ test_setup() {
+ 
+     # Make an overlay with needed tools for the test harness
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	mkdir $TESTDIR/overlay
+ 	dracut_install poweroff shutdown
+diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
+index 8c577f0..c5dba80 100755
+--- a/test/TEST-30-ISCSI/test.sh
++++ b/test/TEST-30-ISCSI/test.sh
+@@ -102,7 +102,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-        initdir=$TESTDIR/overlay/source
++        export initdir=$TESTDIR/overlay/source
+         . $basedir/dracut-functions.sh
+         dracut_install sh shutdown poweroff stty cat ps ln ip \
+             mount dmesg mkdir cp ping grep
+@@ -118,7 +118,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-        initdir=$TESTDIR/overlay
++        export initdir=$TESTDIR/overlay
+         . $basedir/dracut-functions.sh
+         dracut_install sfdisk mkfs.ext3 poweroff cp umount
+         inst_hook initqueue 01 ./create-root.sh
+@@ -153,7 +153,7 @@ test_setup() {
+     grep -m 1 -q dracut-root-block-created $TESTDIR/client.img || return 1
+     rm $TESTDIR/client.img
+     (
+-        initdir=$TESTDIR/overlay
++        export initdir=$TESTDIR/overlay
+         . $basedir/dracut-functions.sh
+         dracut_install poweroff shutdown
+         inst_hook emergency 000 ./hard-off.sh
+@@ -173,7 +173,7 @@ test_setup() {
+ 
+     kernel=$KVERSION
+     (
+-        initdir=$TESTDIR/mnt
++        export initdir=$TESTDIR/mnt
+         . $basedir/dracut-functions.sh
+         (
+             cd "$initdir";
+diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
+index f5465b6..94efb8a 100755
+--- a/test/TEST-40-NBD/test.sh
++++ b/test/TEST-40-NBD/test.sh
+@@ -190,7 +190,7 @@ make_encrypted_root() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+         . $basedir/dracut-functions.sh
+         mkdir -p "$initdir"
+ 	(cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+@@ -208,7 +208,7 @@ make_encrypted_root() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install mke2fs poweroff cp umount tune2fs
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -244,7 +244,7 @@ make_client_root() {
+ 
+     kernel=$KVERSION
+     (
+-	initdir=$TESTDIR/mnt
++	export initdir=$TESTDIR/mnt
+ 	. $basedir/dracut-functions.sh
+         mkdir -p "$initdir"
+ 	(cd "$initdir"; mkdir -p dev sys proc etc var/run tmp )
+@@ -278,7 +278,7 @@ make_server_root() {
+ 
+     kernel=$KVERSION
+     (
+-	initdir=$TESTDIR/mnt
++	export initdir=$TESTDIR/mnt
+ 	. $basedir/dracut-functions.sh
+         mkdir -p "$initdir"
+ 	(
+@@ -323,7 +323,7 @@ test_setup() {
+ 
+     # Make the test image
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index a96669e..74f10d8 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -132,7 +132,7 @@ test_setup() {
+     sudo mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt
+ 
+     (
+-        initdir=$TESTDIR/mnt
++        export initdir=$TESTDIR/mnt
+         . $basedir/dracut-functions.sh
+ 
+         (
+@@ -197,7 +197,7 @@ test_setup() {
+ 
+     # Make client root inside server root
+     (
+-        initdir=$TESTDIR/mnt/nfs/client
++        export initdir=$TESTDIR/mnt/nfs/client
+         . $basedir/dracut-functions.sh
+         dracut_install sh shutdown poweroff stty cat ps ln ip \
+             mount dmesg mkdir cp ping grep ls
+@@ -236,7 +236,7 @@ test_setup() {
+ 
+     # Make an overlay with needed tools for the test harness
+     (
+-        initdir=$TESTDIR/overlay
++        export initdir=$TESTDIR/overlay
+         . $basedir/dracut-functions.sh
+         dracut_install poweroff shutdown
+         inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/old.TEST-14-IMSM/test.sh b/test/old.TEST-14-IMSM/test.sh
+index 5b9438e..cd2d715 100755
+--- a/test/old.TEST-14-IMSM/test.sh
++++ b/test/old.TEST-14-IMSM/test.sh
+@@ -57,7 +57,7 @@ test_setup() {
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+     (
+-	initdir=$TESTDIR/overlay/source
++	export initdir=$TESTDIR/overlay/source
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
+ 	    mount dmesg ifconfig dhclient mkdir cp ping dhclient
+@@ -78,7 +78,7 @@ test_setup() {
+ 
+     # second, install the files needed to make the root filesystem
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install sfdisk mke2fs poweroff cp umount
+ 	inst_hook initqueue 01 ./create-root.sh
+@@ -104,7 +104,7 @@ test_setup() {
+ 	-initrd $TESTDIR/initramfs.makeroot  || return 1
+     grep -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
+     (
+-	initdir=$TESTDIR/overlay
++	export initdir=$TESTDIR/overlay
+ 	. $basedir/dracut-functions.sh
+ 	dracut_install poweroff shutdown
+ 	inst_hook emergency 000 ./hard-off.sh
+diff --git a/test/test-functions b/test/test-functions
+index 451837f..10d78ed 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -6,7 +6,7 @@ export PATH
+ 
+ [[ -e .testdir ]] && . .testdir
+ if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
+-   TESTDIR=$(mktemp -d -t dracut-test.XXXXXX)
++   TESTDIR=$(mktemp -d --tmpdir="/var/tmp" -t dracut-test.XXXXXX)
+ fi
+ echo "TESTDIR=\"$TESTDIR\"" > .testdir
+ export TESTDIR
diff --git a/0062-test-new-test-TEST-99-RPM.patch b/0062-test-new-test-TEST-99-RPM.patch
new file mode 100644
index 0000000..4bf6c06
--- /dev/null
+++ b/0062-test-new-test-TEST-99-RPM.patch
@@ -0,0 +1,120 @@
+From 4eafdbdbe8ee3486ae96bdc6b5fa34112064a3ea Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 9 Jul 2012 16:28:47 +0200
+Subject: [PATCH] test: new test TEST-99-RPM
+
+This test installs the dracut rpm together with the kernel in an
+installroot. rpm -Va and rpm -qf are used, to ensure nothing modified
+files in the real root.
+---
+ test/TEST-99-RPM/Makefile |   10 ++++++
+ test/TEST-99-RPM/test.sh  |   83 +++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 93 insertions(+)
+ create mode 100644 test/TEST-99-RPM/Makefile
+ create mode 100755 test/TEST-99-RPM/test.sh
+
+diff --git a/test/TEST-99-RPM/Makefile b/test/TEST-99-RPM/Makefile
+new file mode 100644
+index 0000000..5513c52
+--- /dev/null
++++ b/test/TEST-99-RPM/Makefile
+@@ -0,0 +1,10 @@
++all:
++	@make -s --no-print-directory -C ../.. clean all rpm
++	@basedir=../.. testdir=../ ./test.sh --all
++setup:
++	@make --no-print-directory -C ../.. clean rpm
++	@basedir=../.. testdir=../ ./test.sh --setup
++clean:
++	@basedir=../.. testdir=../ ./test.sh --clean
++run:
++	@basedir=../.. testdir=../ ./test.sh --run
+diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
+new file mode 100755
+index 0000000..25c1895
+--- /dev/null
++++ b/test/TEST-99-RPM/test.sh
+@@ -0,0 +1,83 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++TEST_DESCRIPTION="rpm integrity after dracut and kernel install"
++$TESTDIR
++
++test_run() {
++    set -x
++    export rootdir=$TESTDIR/root
++
++    mkdir -p $rootdir
++
++    mkdir -p "$rootdir/proc"
++    mkdir -p "$rootdir/sys"
++    mkdir -p "$rootdir/dev"
++
++    mount --bind /proc "$rootdir/proc"
++    mount --bind /sys "$rootdir/sys"
++    mount -t devtmpfs devtmpfs "$rootdir/dev"
++
++    yum --nogpgcheck --releasever=/ --installroot "$rootdir"/ install -y \
++	yum \
++	passwd \
++	rootfiles \
++	systemd \
++	kernel \
++	fedora-release \
++	device-mapper-multipath \
++	lvm2 \
++	mdadm \
++        bash \
++        iscsi-initiator-utils \
++        $basedir/dracut-[0-9]*.$(arch).rpm \
++        $basedir/dracut-network-[0-9]*.$(arch).rpm
++
++    cat >"$rootdir"/test.sh <<EOF
++#!/bin/bash
++set -x
++export LC_MESSAGES=C
++rpm -Va &> /test.output
++find / -xdev -type f -not -path '/var/*' \
++  -not -path '/usr/lib/modules/*/modules.*' \
++  -not -path '/etc/*-' \
++  -not -path '/etc/.pwd.lock' \
++  -not -path '/run/mount/utab' \
++  -not -path '/test.sh' \
++  -not -path '/test.output' \
++  -not -path '/etc/nsswitch.conf.bak' \
++  -not -path '/etc/iscsi/initiatorname.iscsi' \
++  -not -path '/dev/null' \
++  -exec rpm -qf '{}' ';' | \
++  fgrep 'not owned' &> /test.output
++exit
++EOF
++
++    chmod 0755 "$rootdir/test.sh"
++
++    chroot "$rootdir" /test.sh
++
++    if [[ -s "$rootdir"/test.output ]]; then
++	failed=1
++	echo TEST Failed >&2
++	cat "$rootdir"/test.output >&2
++    fi
++
++    umount "$rootdir/proc"
++    umount "$rootdir/sys"
++    umount "$rootdir/dev"
++
++    [[ $failed ]] && return 1
++    return 0
++
++}
++
++test_setup() {
++    return 0
++}
++
++test_cleanup() {
++    return 0
++}
++
++. $testdir/test-functions
diff --git a/0063-resume-move-resume-process-to-initqueue.patch b/0063-resume-move-resume-process-to-initqueue.patch
new file mode 100644
index 0000000..56ebab0
--- /dev/null
+++ b/0063-resume-move-resume-process-to-initqueue.patch
@@ -0,0 +1,63 @@
+From 450b5f336d1f433d333b78979388aa2477bc487e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 9 Jul 2012 17:06:51 +0200
+Subject: [PATCH] resume: move resume process to initqueue
+
+---
+ modules.d/95resume/parse-resume.sh    |    2 ++
+ modules.d/95resume/resume-genrules.sh |   14 +++++++-------
+ 2 files changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh
+index 32680c3..b460a16 100755
+--- a/modules.d/95resume/parse-resume.sh
++++ b/modules.d/95resume/parse-resume.sh
+@@ -15,6 +15,8 @@ case "$resume" in
+         resume="/dev/disk/by-label/${resume#LABEL=}" ;;
+     UUID=*) \
+         resume="/dev/disk/by-uuid/${resume#UUID=}" ;;
++    PARTUUID=*) \
++        resume="/dev/disk/by-partuuid/${resume#PARTUUID=}" ;;
+ esac
+ 
+ if splash=$(getarg splash=); then
+diff --git a/modules.d/95resume/resume-genrules.sh b/modules.d/95resume/resume-genrules.sh
+index ee4eacb..34511d7 100755
+--- a/modules.d/95resume/resume-genrules.sh
++++ b/modules.d/95resume/resume-genrules.sh
+@@ -21,18 +21,18 @@ if [ -n "$resume" ]; then
+ 
+     {
+         if [ -x /usr/sbin/resume ]; then
+-            printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/usr/sbin/resume %s '%s'\"\n" \
++            printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '%s'\"\n" \
+                 ${resume#/dev/} "$a_splash" "$resume";
+-            printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/usr/sbin/resume %s '%s'\"\n" \
++            printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '%s'\"\n" \
+                 ${resume#/dev/} "$a_splash" "$resume";
+         fi
+-        printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
++        printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+             ${resume#/dev/};
+-        printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
++        printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+             ${resume#/dev/};
+     } >> /etc/udev/rules.d/99-resume.rules
+ 
+-    printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm "$job"; }\n' \
++    printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm "$job"; udevadm settle; }\n' \
+         "$resume" "$resume" >> $hookdir/initqueue/settled/resume.sh
+ 
+     printf 'warn "Cancelling resume operation. Device not found."; cancel_wait_for_dev /dev/resume; rm "$job" "%s/initqueue/settled/resume.sh";' \
+@@ -43,9 +43,9 @@ if [ -n "$resume" ]; then
+ elif ! getarg noresume; then
+     {
+         if [ -x /usr/sbin/resume ]; then
+-            printf "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/usr/sbin/resume %s '\$tempnode'\"\n" "$a_splash"
++            printf "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/sbin/initqueue /usr/sbin/resume %s '\$tempnode'\"\n" "$a_splash"
+         fi
+         echo "SUBSYSTEM==\"block\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\"," \
+-            " RUN+=\"/bin/sh -c 'echo %M:%m > /sys/power/resume'\"";
++            " RUN+=\"/sbin/initqueue /bin/sh -c 'echo %M:%m > /sys/power/resume'\"";
+     } >> /etc/udev/rules.d/99-resume.rules
+ fi
diff --git a/dracut.spec b/dracut.spec
index 2bbfc9e..da392e0 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 020
-Release: 57.git20120709%{?dist}
+Release: 64.git20120709%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -85,6 +85,13 @@ Patch53: 0053-dracut.sh-corrected-error-messages-if-mktemp-failed.patch
 Patch54: 0054-require-systemd-186.patch
 Patch55: 0055-systemd-udev-trigger.service-and-systemd-udev-settle.patch
 Patch56: 0056-TEST-30-ISCSI-convert-to-ext3.patch
+Patch57: 0057-02caps-do-not-create-bin-sh-link.patch
+Patch58: 0058-dhclient-initqueue-hook-fix.patch
+Patch59: 0059-Makefile-do-not-install-service-from-98systemd.-They.patch
+Patch60: 0060-plymouth-Use-latest-plymouth-s-populate-script.patch
+Patch61: 0061-test-export-initdir.patch
+Patch62: 0062-test-new-test-TEST-99-RPM.patch
+Patch63: 0063-resume-move-resume-process-to-initqueue.patch
 
 
 BuildRequires: dash bash git
@@ -369,9 +376,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
 %dir %{_sharedstatedir}/initramfs
 %if %{defined _unitdir}
-%{_unitdir}/*.service
-%{_unitdir}/*.target
-%{_unitdir}/*/*.service
+%{_unitdir}/dracut-shutdown.service
+%{_unitdir}/shutdown.target.wants/dracut-shutdown.service
 %endif
 
 %files network
@@ -412,6 +418,12 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Mon Jul 09 2012 Harald Hoyer <harald at redhat.com> 020-64.git20120709
+- fixed plymouth install
+- fixed resume
+- fixed dhcp
+- no dracut systemd services installed in the system
+
 * Mon Jul 09 2012 Harald Hoyer <harald at redhat.com> 020-57.git20120709
 - more fixups for systemd-udevd unit renaming
 


More information about the scm-commits mailing list