[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