dracut-019-40.git20120618

- new upstream version
This commit is contained in:
Harald Hoyer 2012-06-18 20:06:19 +02:00
parent 18c19d34cc
commit d1bf89c255
25 changed files with 1709 additions and 1 deletions

View File

@ -0,0 +1,33 @@
From 43fed15129dc4916c37ebd8980aba78b6609943b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 12 Jun 2012 11:35:49 -0400
Subject: [PATCH] dracut.sh: mkdir $initdir/lib/dracut
---
dracut.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index a1b39e3..c26e0f8 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -731,7 +731,10 @@ if [[ $kernel_only != yes ]]; then
mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
done
if [[ "$UID" = "0" ]]; then
- cp -a /dev/kmsg /dev/null /dev/console $initdir/dev
+ for i in /dev/kmsg /dev/null /dev/console; do
+ [ -e $i ] || continue
+ cp -a $i $initdir/dev
+ done
fi
fi
@@ -780,6 +783,7 @@ done
unset moddir
for i in $modules_loaded; do
+ mkdir -p $initdir/lib/dracut
echo "$i" >> $initdir/lib/dracut/modules.txt
done

View File

@ -0,0 +1,34 @@
From 50b08e7b85085169459dd971b711f712744598ef Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Mon, 11 Jun 2012 13:46:21 -0400
Subject: [PATCH] fix ifup for static ipv6
"brd +" is not valid for ipv6. This causes the 'ip addr add' command to
fail with the message "Broadcast can be set only for IPv4 addresses".
So: don't use "brd +" for ipv6.
---
modules.d/40network/ifup.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 35ae3c6..ae434a8 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -105,10 +105,13 @@ do_static() {
wait_for_if_up $netif
[ -n "$macaddr" ] && ip link set address $macaddr
[ -n "$mtu" ] && ip link set mtu $mtu
- # do not flush addr for ipv6
- strstr $ip '*:*:*' || \
+ if strstr $ip '*:*:*'; then
+ # note no ip addr flush for ipv6
+ ip addr add $ip/$mask dev $netif
+ else
ip addr flush dev $netif
- ip addr add $ip/$mask brd + dev $netif
+ ip addr add $ip/$mask brd + dev $netif
+ fi
[ -n "$gw" ] && echo ip route add default via $gw dev $netif > /tmp/net.$netif.gw
[ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname

View File

@ -0,0 +1,48 @@
From 30430fbe3096da363a2ef6b8c791e701643e15aa Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Mon, 11 Jun 2012 13:46:22 -0400
Subject: [PATCH] ifcfg: fix output for ipv6 static addressing
IPV6 configuration is pretty different than IPV4; write out the correct
set of values to make static IPV6 addressing work.
---
modules.d/45ifcfg/write-ifcfg.sh | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index 202a16a..b62170d 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -109,16 +109,25 @@ for netif in $IFACES ; do
echo "BOOTPROTO=dhcp"
cp /tmp/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
else
- echo "BOOTPROTO=none"
- # If we've booted with static ip= lines, the override file is there
+ # If we've booted with static ip= lines, the override file is there
[ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
- echo "IPADDR=$ip"
- if strstr "$mask" "."; then
- echo "NETMASK=$mask"
+ if strstr "$ip" '*:*:*'; then
+ echo "IPV6_AUTOCONF=no"
+ echo "IPV6ADDR=$ip/$mask"
else
- echo "PREFIX=$mask"
+ echo "BOOTPROTO=none"
+ echo "IPADDR=$ip"
+ if strstr "$mask" "."; then
+ echo "NETMASK=$mask"
+ else
+ echo "PREFIX=$mask"
+ fi
+ fi
+ if strstr "$gw" '*:*:*'; then
+ echo "IPV6_DEFAULTGW=$gw"
+ elif [ -n "$gw" ]; then
+ echo "GATEWAY=$gw"
fi
- [ -n "$gw" ] && echo "GATEWAY=$gw"
fi
} > /tmp/ifcfg/ifcfg-$netif

View File

@ -0,0 +1,37 @@
From b23a2837db758215c9855f14b7d1081b7ad0077c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 14 Jun 2012 13:04:22 +0200
Subject: [PATCH] add PARTUUID as root=PARTUUID=<partition uuid> parameter
---
dracut.cmdline.7.asc | 1 +
modules.d/95rootfs-block/parse-block.sh | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index 9fa0ee8..883223c 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -47,6 +47,7 @@ root=/dev/disk/by-label/Root
root=LABEL=Root
root=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
root=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
+root=PARTUUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
----
**rootfstype=**_<filesystem type>_:: "auto" if not specified, e.g.:
diff --git a/modules.d/95rootfs-block/parse-block.sh b/modules.d/95rootfs-block/parse-block.sh
index 69f38be..3745352 100755
--- a/modules.d/95rootfs-block/parse-block.sh
+++ b/modules.d/95rootfs-block/parse-block.sh
@@ -12,6 +12,10 @@ case "$root" in
root="${root#block:}"
root="block:/dev/disk/by-uuid/${root#UUID=}"
rootok=1 ;;
+ block:PARTUUID=*|PARTUUID=*)
+ root="${root#block:}"
+ root="block:/dev/disk/by-partuuid/${root#PARTUUID=}"
+ rootok=1 ;;
/dev/*)
root="block:${root}"
rootok=1 ;;

View File

@ -0,0 +1,45 @@
From cacaa90c63512a068720d61d671ce3ddd1fbd81d Mon Sep 17 00:00:00 2001
From: Thomas Lange <lange@informatik.uni-koeln.de>
Date: Thu, 14 Jun 2012 17:42:34 +0200
Subject: [PATCH] Debian multiarch support
Hi Jon,
here's the diff which works for me. The quotation marks around $@ do
not work for me. Instead of "$@" I must to use $_dir/$@ (or
"$_dir"/$@) but no quotation marks around $@. Could you please review
my patch.
---
dracut-functions.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 6a72fce..38367b4 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -699,13 +699,13 @@ dracut_install() {
# inst_libdir_file [-n <pattern>] <file> [<file>...]
# Install a <file> located on a lib directory to the initramfs image
-# -n <pattern> install non-matching files
+# -n <pattern> install matching files
inst_libdir_file() {
if [[ "$1" == "-n" ]]; then
- local _pattern=$1
+ local _pattern=$2
shift 2
for _dir in $libdirs; do
- for _i in "$@"; do
+ for _i in $_dir/$@; do
for _f in "$_dir"/$_i; do
[[ "$_i" =~ $_pattern ]] || continue
[[ -e "$_i" ]] && dracut_install "$_i"
@@ -714,7 +714,7 @@ inst_libdir_file() {
done
else
for _dir in $libdirs; do
- for _i in "$@"; do
+ for _i in $_dir/$@; do
for _f in "$_dir"/$_i; do
[[ -e "$_f" ]] && dracut_install "$_f"
done

View File

@ -0,0 +1,34 @@
From 7828692f97c2db3af36ad8ac3e75b60cfd971875 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 09:34:00 +0200
Subject: [PATCH] dracut-functions.sh: fixup inst_libdir_file() again
---
dracut-functions.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 38367b4..7439131 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -705,16 +705,16 @@ inst_libdir_file() {
local _pattern=$2
shift 2
for _dir in $libdirs; do
- for _i in $_dir/$@; do
+ for _i in "$@"; do
for _f in "$_dir"/$_i; do
- [[ "$_i" =~ $_pattern ]] || continue
- [[ -e "$_i" ]] && dracut_install "$_i"
+ [[ "$_f" =~ $_pattern ]] || continue
+ [[ -e "$_f" ]] && dracut_install "$_f"
done
done
done
else
for _dir in $libdirs; do
- for _i in $_dir/$@; do
+ for _i in "$@"; do
for _f in "$_dir"/$_i; do
[[ -e "$_f" ]] && dracut_install "$_f"
done

View File

@ -0,0 +1,21 @@
From 1d2c070071996dc6a31e4981b770e01746fa0ff0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:11:10 +0200
Subject: [PATCH] dracut.sh: output unknown argument
---
dracut.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/dracut.sh b/dracut.sh
index c26e0f8..309fd7d 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -289,6 +289,7 @@ while (($# > 0)); do
elif ! [[ ${kernel+x} ]]; then
kernel=$1
else
+ echo "Unknown argument: $1"
usage; exit 1;
fi
;;

View File

@ -0,0 +1,22 @@
From f79e587cf34e9d9c68e87ebad3e5620b0a190581 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:11:30 +0200
Subject: [PATCH] dracut.sh: unset some variables
---
dracut.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dracut.sh b/dracut.sh
index 309fd7d..64cd75e 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -217,6 +217,8 @@ push_arg() {
}
verbosity_mod_l=0
+unset kernel
+unset outfile
while (($# > 0)); do
case ${1%%=*} in

View File

@ -0,0 +1,22 @@
From 9f6baa127aa6a4fb6cec9a6ef4e8d5b3299362b0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:12:08 +0200
Subject: [PATCH] nfs: extend libnss wildcard
---
modules.d/95nfs/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index bf87762..fb4dc9c 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -52,7 +52,7 @@ install() {
_nsslibs=${_nsslibs#|}
_nsslibs=${_nsslibs%|}
- inst_libdir_file -n "$_nsslibs" "libnss*.so"
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
inst_hook cmdline 90 "$moddir/parse-nfsroot.sh"
inst_hook pre-udev 99 "$moddir/nfs-start-rpc.sh"

View File

@ -0,0 +1,206 @@
From 3eca0cc846e89675949abb11e9606f3222a2e266 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:12:46 +0200
Subject: [PATCH] TEST-50-MULTINIC: install correct nss libs
---
test/TEST-50-MULTINIC/test.sh | 118 ++++++++++++++++++++++++++---------------
1 file changed, 74 insertions(+), 44 deletions(-)
diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
index 712f90e..6efa8ef 100755
--- a/test/TEST-50-MULTINIC/test.sh
+++ b/test/TEST-50-MULTINIC/test.sh
@@ -12,7 +12,7 @@ run_server() {
# Start server first
echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
- $testdir/run-qemu -hda $TESTDIR/server.ext2 -m 256M -nographic \
+ $testdir/run-qemu -hda $TESTDIR/server.ext3 -m 512M -nographic \
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
-net socket,listen=127.0.0.1:12350 \
-serial $SERIAL \
@@ -122,15 +122,41 @@ test_client() {
test_setup() {
# Make server root
- dd if=/dev/null of=$TESTDIR/server.ext2 bs=1M seek=60
- mke2fs -F $TESTDIR/server.ext2
- mkdir $TESTDIR/mnt
- sudo mount -o loop $TESTDIR/server.ext2 $TESTDIR/mnt
+ dd if=/dev/null of=$TESTDIR/server.ext3 bs=1M seek=60
+ mke2fs -j -F $TESTDIR/server.ext3
+ mkdir $TESTDIR/mnt
+ sudo mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt
+
+ export kernel=$KVERSION
+ export srcmods="/lib/modules/$kernel/"
+ # Detect lib paths
+
+ . $basedir/dracut-functions.sh
+ if ! [[ $libdirs ]] ; then
+ if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
+ && [[ -d /lib64 ]]; then
+ libdirs+=" /lib64"
+ [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
+ else
+ libdirs+=" /lib"
+ [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
+ fi
+ fi
- kernel=$KVERSION
- (
+ (
initdir=$TESTDIR/mnt
- . $basedir/dracut-functions.sh
+
+ for _f in modules.builtin.bin modules.builtin; do
+ [[ $srcmods/$_f ]] && break
+ done || {
+ dfatal "No modules.builtin.bin and modules.builtin found!"
+ return 1
+ }
+
+ for _f in modules.builtin.bin modules.builtin modules.order; do
+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
+
dracut_install sh ls shutdown poweroff stty cat ps ln ip \
dmesg mkdir cp ping exportfs \
modprobe rpc.nfsd rpc.mountd showmount tcpdump \
@@ -144,36 +170,32 @@ test_setup() {
[ -f /etc/netconfig ] && dracut_install /etc/netconfig
type -P dhcpd >/dev/null && dracut_install dhcpd
[ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
- instmods nfsd sunrpc ipv6
+ instmods nfsd sunrpc ipv6 lockd
inst ./server-init.sh /sbin/init
inst ./hosts /etc/hosts
inst ./exports /etc/exports
inst ./dhcpd.conf /etc/dhcpd.conf
dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
dracut_install rpc.idmapd /etc/idmapd.conf
- if ldd $(type -P rpc.idmapd) |grep -q lib64; then
- LIBDIR="/lib64"
- else
- LIBDIR="/lib"
- fi
- dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.so* 2>/dev/null )
- dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap/*.so 2>/dev/null )
- dracut_install $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null)
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
- nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
- nsslibs=${nsslibs#|}
- nsslibs=${nsslibs%|}
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
- dracut_install $(for i in $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null); do echo $i;done | egrep "$nsslibs")
(
cd "$initdir";
mkdir -p dev sys proc etc var/run tmp var/lib/{dhcpd,rpcbind}
mkdir -p var/lib/nfs/{v4recovery,rpc_pipefs}
chmod 777 var/lib/rpcbind var/lib/nfs
)
+
inst /etc/nsswitch.conf /etc/nsswitch.conf
inst /etc/passwd /etc/passwd
inst /etc/group /etc/group
@@ -181,49 +203,57 @@ test_setup() {
inst_library $i
done
- /sbin/depmod -a -b "$initdir" $kernel
+ /sbin/depmod -a -b "$initdir" $kernel
+
cp -a /etc/ld.so.conf* $initdir/etc
sudo ldconfig -r "$initdir"
- )
+ )
# Make client root inside server root
initdir=$TESTDIR/mnt/nfs/client
mkdir -p $initdir
(
- . $basedir/dracut-functions.sh
- dracut_install sh shutdown poweroff stty cat ps ln ip \
- mount dmesg mkdir \
- cp ping grep ls
+ dracut_install sh shutdown poweroff stty cat ps ln ip \
+ mount dmesg mkdir cp ping grep ls
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
[ -f ${_terminfodir}/l/linux ] && break
done
dracut_install -o ${_terminfodir}/l/linux
- inst ./client-init.sh /sbin/init
- (
- cd "$initdir"
- mkdir -p dev sys proc etc run
- mkdir -p var/lib/nfs/rpc_pipefs
+ inst ./client-init.sh /sbin/init
+ (
+ cd "$initdir"
+ mkdir -p dev sys proc etc run
+ mkdir -p var/lib/nfs/rpc_pipefs
)
- inst /etc/nsswitch.conf /etc/nsswitch.conf
- inst /etc/passwd /etc/passwd
- inst /etc/group /etc/group
- for i in /lib*/libnss_files*;do
- inst_library $i
- done
+ inst /etc/nsswitch.conf /etc/nsswitch.conf
+ inst /etc/passwd /etc/passwd
+ inst /etc/group /etc/group
+
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
cp -a /etc/ld.so.conf* $initdir/etc
sudo ldconfig -r "$initdir"
- )
+ )
+
+ chroot $initdir
- sudo umount $TESTDIR/mnt
- rm -fr $TESTDIR/mnt
+ sudo umount $TESTDIR/mnt
+ rm -fr $TESTDIR/mnt
# Make an overlay with needed tools for the test harness
(
initdir=$TESTDIR/overlay
mkdir $TESTDIR/overlay
- . $basedir/dracut-functions.sh
dracut_install poweroff shutdown
inst_hook emergency 000 ./hard-off.sh
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
@@ -232,7 +262,7 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-m "dash udev-rules base rootfs-block debug kernel-modules" \
- -d "piix ide-gd_mod ata_piix ext2 sd_mod e1000" \
+ -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
# Make client's dracut image

View File

@ -0,0 +1,28 @@
From f9ad49c2a59d1c452a2137a6332ff77afcde1be3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:55:59 +0200
Subject: [PATCH] Revert "network/ifup.sh: default to dhcp for BOOTIF"
This reverts commit bebb12fd0ec3cbb88006e384a9a277391a2f3a37.
---
modules.d/40network/ifup.sh | 7 -------
1 file changed, 7 deletions(-)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index ae434a8..245b450 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -216,13 +216,6 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)"
fi
-# BOOTIF= defaults to dhcpv4
-bootif=$(getargs BOOTIF=)
-if [ -n "$bootif" ] ; then
- do_dhcp -4
- exit 0
-fi
-
# Specific configuration, spin through the kernel command line
# looking for ip= lines
for p in $(getargs ip=); do

View File

@ -0,0 +1,33 @@
From c9aa3cc950ebec597e51cbc0899777c2a99ca276 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 15 Jun 2012 11:56:05 +0200
Subject: [PATCH] Revert "network/ifup.sh: do not default to dhcp, for
interfaces without ip=..."
This reverts commit ede0532c580fdbace548511b07857fb2e004b299.
---
modules.d/40network/ifup.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
index 245b450..31eb966 100755
--- a/modules.d/40network/ifup.sh
+++ b/modules.d/40network/ifup.sh
@@ -216,6 +216,17 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)"
fi
+# No ip lines default to dhcp
+ip=$(getarg ip)
+
+if [ -z "$ip" ]; then
+ if [ "$netroot" = "dhcp6" ]; then
+ do_dhcp -6
+ else
+ do_dhcp -4
+ fi
+fi
+
# Specific configuration, spin through the kernel command line
# looking for ip= lines
for p in $(getargs ip=); do

View File

@ -0,0 +1,36 @@
From 8fab6e0463e0b0c70327c2733911098aa56137a7 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 12 Jun 2012 14:40:43 +0200
Subject: [PATCH] resolve conflict between cms network rules and default rules
---
modules.d/40network/net-genrules.sh | 2 +-
modules.d/80cms/cmssetup.sh | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index 2d3dff2..99d0fe5 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -53,7 +53,7 @@ fix_bootif() {
# Default: We don't know the interface to use, handle all
else
- printf 'SUBSYSTEM=="net", RUN+="%s"\n' "/sbin/initqueue --onetime $ifup"
+ printf 'SUBSYSTEM=="net", RUN+="%s"\n' "/sbin/initqueue --onetime $ifup" > /etc/udev/rules.d/61-default-net.rules
fi
} > /etc/udev/rules.d/60-net.rules
diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh
index 41c853c..2208803 100755
--- a/modules.d/80cms/cmssetup.sh
+++ b/modules.d/80cms/cmssetup.sh
@@ -166,6 +166,8 @@ processcmsfile()
fi
printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="%s", KERNELS=="%s", ENV{INTERFACE}=="?*", RUN+="/sbin/initqueue --onetime --unique --name cmsifup-$env{INTERFACE} /sbin/cmsifup $env{INTERFACE}"\n' "$driver" "$devbusid" > /etc/udev/rules.d/99-cms.rules
+ # remove the default net rules
+ rm -f /etc/udev/rules.d/61-default-net.rules
[[ -f /etc/udev/rules.d/60-net.rules ]] \
|| printf 'SUBSYSTEM=="net", ACTION=="online", RUN+="/sbin/initqueue --onetime --env netif=$env{INTERFACE} source_hook initqueue/online"\n' >> /etc/udev/rules.d/99-cms.rules

View File

@ -0,0 +1,108 @@
From 7abd426438984f9c3112fd409e9c019408fe85a4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 12:51:21 +0200
Subject: [PATCH] fixed instmods() return code and set pipefail globally
---
dracut-functions.sh | 21 +++++++++------------
dracut.sh | 2 ++
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 7439131..68c81f2 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1028,11 +1028,11 @@ install_kmod_with_fw() {
_kmod=${_kmod/-/_}
if [[ "$_kmod" =~ $omit_drivers ]]; then
dinfo "Omitting driver $_kmod"
- return 1
+ return 0
fi
if [[ "${1##*/lib/modules/$kernel/}" =~ $omit_drivers ]]; then
dinfo "Omitting driver $_kmod"
- return 1
+ return 0
fi
fi
@@ -1073,16 +1073,13 @@ install_kmod_with_fw() {
# rest of args = arguments to modprobe
# _fderr specifies FD passed from surrounding scope
for_each_kmod_dep() {
- local _func=$1 _kmod=$2 _cmd _modpath _options _found=0
+ local _func=$1 _kmod=$2 _cmd _modpath _options
shift 2
modprobe "$@" --ignore-install --show-depends $_kmod 2>&${_fderr} | (
while read _cmd _modpath _options; do
[[ $_cmd = insmod ]] || continue
$_func ${_modpath} || exit $?
- _found=1
done
- [[ $_found -eq 0 ]] && exit 1
- exit 0
)
}
@@ -1127,14 +1124,16 @@ instmods() {
( [[ "$_mpargs" ]] && echo $_mpargs
cat "${srcmods}/modules.${_mod#=}" ) \
| instmods
+ ((_ret+=$?))
else
( [[ "$_mpargs" ]] && echo $_mpargs
- find "$srcmods" -path "*/${_mod#=}/*" -printf '%f\n' ) \
+ find "$srcmods" -type f -path "*/${_mod#=}/*" -printf '%f\n' ) \
| instmods
+ ((_ret+=$?))
fi
;;
--*) _mpargs+=" $_mod" ;;
- i2o_scsi) return ;; # Do not load this diagnostic-only module
+ i2o_scsi) return 0;; # Do not load this diagnostic-only module
*)
_mod=${_mod##*/}
# if we are already installed, skip this module and go on
@@ -1143,14 +1142,14 @@ instmods() {
if [[ $omit_drivers ]] && [[ "$1" =~ $omit_drivers ]]; then
dinfo "Omitting driver ${_mod##$srcmods}"
- return
+ return 0
fi
# If we are building a host-specific initramfs and this
# module is not already loaded, move on to the next one.
[[ $hostonly ]] \
&& ! [[ -d $(echo /sys/module/${_mod//-/_}|{ read a b; echo $a; }) ]] \
&& ! [[ "$add_drivers" =~ " ${_mod} " ]] \
- && return
+ && return 0
# We use '-d' option in modprobe only if modules prefix path
# differs from default '/'. This allows us to use Dracut with
@@ -1193,12 +1192,10 @@ instmods() {
}
local _ret _filter_not_found='FATAL: Module .* not found.'
- set -o pipefail
# Capture all stderr from modprobe to _fderr. We could use {var}>...
# redirections, but that would make dracut require bash4 at least.
eval "( instmods_1 \"\$@\" ) ${_fderr}>&1" \
| while read line; do [[ "$line" =~ $_filter_not_found ]] || echo $line;done | derror
_ret=$?
- set +o pipefail
return $_ret
}
diff --git a/dracut.sh b/dracut.sh
index 64cd75e..919f78e 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -26,6 +26,8 @@
# store for logging
dracut_args="$@"
+set -o pipefail
+
usage() {
[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then

View File

@ -0,0 +1,109 @@
From 8d95b8b338d65188c517b3bda8a4697867c6ef01 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 12:52:39 +0200
Subject: [PATCH] Set some global variables in dracut-functions.sh
---
dracut-functions.sh | 34 +++++++++++++++++++++++++++++++---
dracut.sh | 22 ----------------------
2 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 68c81f2..1137919 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -20,6 +20,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+# Generic substring function. If $2 is in $1, return 0.
+strstr() { [ "${1#*$2*}" != "$1" ]; }
+
if ! [[ $dracutbasedir ]]; then
dracutbasedir=${BASH_SOURCE[0]%/*}
[[ $dracutbasedir = "dracut-functions" ]] && dracutbasedir="."
@@ -27,6 +30,34 @@ if ! [[ $dracutbasedir ]]; then
dracutbasedir="$(readlink -f $dracutbasedir)"
fi
+# Detect lib paths
+if ! [[ $libdirs ]] ; then
+ if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
+ && [[ -d /lib64 ]]; then
+ libdirs+=" /lib64"
+ [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
+ else
+ libdirs+=" /lib"
+ [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
+ fi
+ export libdirs
+fi
+
+if ! [[ $kernel ]]; then
+ kernel=$(uname -r)
+ export kernel
+fi
+
+srcmods="/lib/modules/$kernel/"
+[[ $drivers_dir ]] && {
+ if vercmp $(modprobe --version | cut -d' ' -f3) lt 3.7; then
+ dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.'
+ exit 1
+ fi
+ srcmods="$drivers_dir"
+}
+export srcmods
+
if ! type dinfo >/dev/null 2>&1; then
. "$dracutbasedir/dracut-logger.sh"
dlog_init
@@ -41,9 +72,6 @@ fi
export hookdirs
}
-# Generic substring function. If $2 is in $1, return 0.
-strstr() { [ "${1#*$2*}" != "$1" ]; }
-
# Create all subdirectories for given path without creating the last element.
# $1 = path
mksubdirs() { mkdir -m 0755 -p ${1%/*}; }
diff --git a/dracut.sh b/dracut.sh
index 919f78e..5600ec0 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -531,18 +531,6 @@ ddebug "Executing $0 $dracut_args"
exit 0
}
-# Detect lib paths
-if ! [[ $libdirs ]] ; then
- if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
- && [[ -d /lib64 ]]; then
- libdirs+=" /lib64"
- [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
- else
- libdirs+=" /lib"
- [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
- fi
-fi
-
# This is kinda legacy -- eventually it should go away.
case $dracutmodules in
""|auto) dracutmodules="all" ;;
@@ -550,16 +538,6 @@ esac
abs_outfile=$(readlink -f "$outfile") && outfile="$abs_outfile"
-srcmods="/lib/modules/$kernel/"
-[[ $drivers_dir ]] && {
- if vercmp $(modprobe --version | cut -d' ' -f3) lt 3.7; then
- dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.'
- exit 1
- fi
- srcmods="$drivers_dir"
-}
-export srcmods
-
[[ -f $srcmods/modules.dep ]] || {
dfatal "$srcmods/modules.dep is missing. Did you run depmod?"
exit 1

View File

@ -0,0 +1,33 @@
From 4f9f76cd629cfe7c31586eb2bfd0d4c61322db86 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 13:26:55 +0200
Subject: [PATCH] iscsi/module-setup.sh: only install s390 driver on s390 arch
---
modules.d/95iscsi/module-setup.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
index bfd9d73..fefc240 100755
--- a/modules.d/95iscsi/module-setup.sh
+++ b/modules.d/95iscsi/module-setup.sh
@@ -37,6 +37,8 @@ depends() {
}
installkernel() {
+ local _arch=$(uname -m)
+
instmods iscsi_tcp iscsi_ibft crc32c bnx2i iscsi_boot_sysfs qla4xxx cxgb3i cxgb4i be2iscsi
iscsi_module_filter() {
local _iscsifuncs='iscsi_register_transport'
@@ -47,8 +49,9 @@ installkernel() {
*.ko.xz) [[ $(xz -dc <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
esac
done
+ return 0;
}
- { find_kernel_modules_by_path drivers/scsi; find_kernel_modules_by_path drivers/s390/scsi; } \
+ { find_kernel_modules_by_path drivers/scsi; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/scsi; fi;} \
| iscsi_module_filter | instmods
}

View File

@ -0,0 +1,33 @@
From 0efc6c716a0f4e0def943e3c661decc75fe6f958 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 13:45:13 +0200
Subject: [PATCH] plymouth: fixed inst_libdir_file() call
https://bugzilla.redhat.com/show_bug.cgi?id=831349
---
modules.d/50plymouth/plymouth-populate-initrd.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/50plymouth/plymouth-populate-initrd.sh b/modules.d/50plymouth/plymouth-populate-initrd.sh
index 7ab1a5d..1e2ffe7 100755
--- a/modules.d/50plymouth/plymouth-populate-initrd.sh
+++ b/modules.d/50plymouth/plymouth-populate-initrd.sh
@@ -11,8 +11,9 @@ dracut_install /bin/plymouth \
mkdir -m 0755 -p "${initdir}/usr/share/plymouth"
+inst_libdir_file "plymouth/text.so" "plymouth/details.so"
+
if [[ $hostonly ]]; then
- inst_libdir_file "plymouth/text.so" "plymouth/details.so"
dracut_install \
"/usr/share/plymouth/themes/details/details.plymouth" \
"/usr/share/plymouth/themes/text/text.plymouth" \
@@ -37,7 +38,6 @@ else
mkdir -m 0755 -p "${initdir}/$THEME_DIR"
dracut_install "$x"
done
- inst_libdir_file "/plymouth/{text,details}.so"
(
cd ${initdir}/usr/share/plymouth/themes;
ln -s text/text.plymouth default.plymouth 2>&1;

View File

@ -0,0 +1,80 @@
From ef914f7d833b7ea7a5916e7d56c9e9c158d3783a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:17:22 +0200
Subject: [PATCH] add 04watchdog dracut module
---
dracut.spec | 1 +
modules.d/04watchdog/module-setup.sh | 23 +++++++++++++++++++++++
modules.d/04watchdog/watchdog.sh | 6 ++++++
modules.d/99base/dracut-lib.sh | 2 ++
4 files changed, 32 insertions(+)
create mode 100755 modules.d/04watchdog/module-setup.sh
create mode 100755 modules.d/04watchdog/watchdog.sh
diff --git a/dracut.spec b/dracut.spec
index eb5df2c..6e8c733 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -254,6 +254,7 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/dracut.conf.5*
%{dracutlibdir}/modules.d/00bootchart
%{dracutlibdir}/modules.d/00dash
+%{dracutlibdir}/modules.d/04watchdog
%{dracutlibdir}/modules.d/05busybox
%{dracutlibdir}/modules.d/10i18n
%{dracutlibdir}/modules.d/30convertfs
diff --git a/modules.d/04watchdog/module-setup.sh b/modules.d/04watchdog/module-setup.sh
new file mode 100755
index 0000000..eb46143
--- /dev/null
+++ b/modules.d/04watchdog/module-setup.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+check() {
+ return 255
+}
+
+depends() {
+ return 0
+}
+
+install() {
+ inst_hook cmdline 00 "$moddir/watchdog.sh"
+ inst_hook cmdline 50 "$moddir/watchdog.sh"
+ inst_hook pre-trigger 00 "$moddir/watchdog.sh"
+ inst_hook initqueue 00 "$moddir/watchdog.sh"
+ inst_hook mount 00 "$moddir/watchdog.sh"
+ inst_hook mount 50 "$moddir/watchdog.sh"
+ inst_hook pre-pivot 00 "$moddir/watchdog.sh"
+ inst_hook cleanup 00 "$moddir/watchdog.sh"
+}
+
diff --git a/modules.d/04watchdog/watchdog.sh b/modules.d/04watchdog/watchdog.sh
new file mode 100755
index 0000000..712969f
--- /dev/null
+++ b/modules.d/04watchdog/watchdog.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ -e /dev/watchdog ]; then
+ >/dev/watchdog
+else
+ modprobe ib700wdt
+fi
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 3ecba9a..8cfd7b3 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -832,6 +832,8 @@ emergency_shell()
fi
[ -c "$_ctty" ] || _ctty=/dev/tty1
strstr "$(setsid --help 2>/dev/null)" "ctty" && CTTY="-c"
+ # stop watchdog
+ echo 'V' > /dev/watchdog
setsid $CTTY /bin/sh -i -l 0<$_ctty 1>$_ctty 2>&1
else
warn "$action has failed. To debug this issue add \"rd.shell\" to the kernel command line."

View File

@ -0,0 +1,61 @@
From c8f3a1c057ffd4ea288f9e38d9e396eebdafcd0c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:20:16 +0200
Subject: [PATCH] TEST-01-BASIC: add watchdog
---
test/TEST-01-BASIC/test-init.sh | 3 ++-
test/TEST-01-BASIC/test.sh | 11 +++++++----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/test/TEST-01-BASIC/test-init.sh b/test/TEST-01-BASIC/test-init.sh
index f8d6693..5fc02d9 100755
--- a/test/TEST-01-BASIC/test-init.sh
+++ b/test/TEST-01-BASIC/test-init.sh
@@ -1,10 +1,11 @@
#!/bin/sh
+>/dev/watchdog
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
strstr() { [ "${1#*$2*}" != "$1" ]; }
CMDLINE=$(while read line; do echo $line;done < /proc/cmdline)
plymouth --quit
exec >/dev/console 2>&1
-echo "dracut-root-block-success" >/dev/sda1
+echo "dracut-root-block-success" >/dev/sdb
export TERM=linux
export PS1='initramfs-test:\w\$ '
[ -f /etc/mtab ] || ln -sfn /proc/mounts /etc/mtab
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
index 46e75c7..6c39d7b 100755
--- a/test/TEST-01-BASIC/test.sh
+++ b/test/TEST-01-BASIC/test.sh
@@ -7,13 +7,16 @@ KVERSION=${KVERSION-$(uname -r)}
#DEBUGFAIL="rd.shell rd.break"
test_run() {
+ dd if=/dev/zero of=$TESTDIR/result bs=1M count=1
$testdir/run-qemu \
-hda $TESTDIR/root.ext3 \
+ -hdb $TESTDIR/result \
-m 256M -nographic \
-net none -kernel /boot/vmlinuz-$KVERSION \
+ -watchdog ib700 -watchdog-action poweroff \
-append "root=LABEL=dracut rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
- -initrd $TESTDIR/initramfs.testing
- grep -m 1 -q dracut-root-block-success $TESTDIR/root.ext3 || return 1
+ -initrd $TESTDIR/initramfs.testing || return 1
+ grep -m 1 -q dracut-root-block-success $TESTDIR/result || return 1
}
test_setup() {
@@ -81,8 +84,8 @@ test_setup() {
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
)
sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
- -a "debug" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod" \
+ -a "debug watchdog" \
+ -d "piix ide-gd_mod ata_piix ext3 sd_mod ib700wdt" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
# -o "plymouth network md dmraid multipath fips caps crypt btrfs resume dmsquash-live dm"

View File

@ -0,0 +1,62 @@
From 483b1e3aa83c5bd56b2f2c75144b0a8c276d5bec Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:13:09 +0200
Subject: [PATCH] TEST-20-NFS: add watchdog
---
test/TEST-20-NFS/server-init.sh | 2 +-
test/TEST-20-NFS/test.sh | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/test/TEST-20-NFS/server-init.sh b/test/TEST-20-NFS/server-init.sh
index 26a2abd..a60a013 100755
--- a/test/TEST-20-NFS/server-init.sh
+++ b/test/TEST-20-NFS/server-init.sh
@@ -31,6 +31,6 @@ dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases
#sh -i
# Wait forever for the VM to die
echo "Serving NFS mounts"
-while sleep 60; do sleep 60; done
+while sleep 30; do >/dev/watchdog; done
mount -n -o remount,ro /
poweroff -f
diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
index a6bde0e..ea65c2a 100755
--- a/test/TEST-20-NFS/test.sh
+++ b/test/TEST-20-NFS/test.sh
@@ -18,6 +18,7 @@ run_server() {
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
-net socket,listen=127.0.0.1:12320 \
-serial $SERIAL \
+ -watchdog ib700 -watchdog-action poweroff \
-kernel /boot/vmlinuz-$KVERSION \
-append "root=/dev/sda rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.server \
@@ -53,6 +54,7 @@ client_test() {
-net nic,macaddr=$mac,model=e1000 \
-net socket,connect=127.0.0.1:12320 \
-kernel /boot/vmlinuz-$KVERSION \
+ -watchdog ib700 -watchdog-action poweroff \
-append "$cmdline $DEBUGFAIL rd.debug rd.retry=10 rd.info quiet ro console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.testing
@@ -307,15 +309,15 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
- -m "dash udev-rules base rootfs-block debug kernel-modules" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
+ -m "dash udev-rules base rootfs-block debug kernel-modules watchdog" \
+ -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
-f $TESTDIR/initramfs.server $KVERSION || return 1
# Make client's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth" \
- -a "debug" \
- -d "piix ide-gd_mod ata_piix sd_mod e1000 nfs sunrpc" \
+ -a "debug watchdog" \
+ -d "piix ide-gd_mod ata_piix sd_mod e1000 nfs sunrpc ib700wdt" \
-f $TESTDIR/initramfs.testing $KVERSION || return 1
}

View File

@ -0,0 +1,84 @@
From 2dbd71b77a72a88cd4b8ccd50a40de3b7bfd1dd0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:22:35 +0200
Subject: [PATCH] TEST-50-MULTINIC: add watchdog
---
test/TEST-50-MULTINIC/server-init.sh | 2 +-
test/TEST-50-MULTINIC/test.sh | 34 ++++++++++++++++++----------------
2 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/test/TEST-50-MULTINIC/server-init.sh b/test/TEST-50-MULTINIC/server-init.sh
index 39f6a1d..c02d84c 100755
--- a/test/TEST-50-MULTINIC/server-init.sh
+++ b/test/TEST-50-MULTINIC/server-init.sh
@@ -26,6 +26,6 @@ dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases
#sh -i
# Wait forever for the VM to die
echo "Serving NFS mounts"
-while sleep 60; do sleep 60; done
+while sleep 30; do echo >/dev/watchdog; done
mount -n -o remount,ro /
poweroff -f
diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
index 6efa8ef..1655608 100755
--- a/test/TEST-50-MULTINIC/test.sh
+++ b/test/TEST-50-MULTINIC/test.sh
@@ -13,12 +13,13 @@ run_server() {
echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
$testdir/run-qemu -hda $TESTDIR/server.ext3 -m 512M -nographic \
- -net nic,macaddr=52:54:00:12:34:56,model=e1000 \
- -net socket,listen=127.0.0.1:12350 \
- -serial $SERIAL \
- -kernel /boot/vmlinuz-$KVERSION \
- -append "selinux=0 root=/dev/sda rd.debug rd.info rw quiet console=ttyS0,115200n81" \
- -initrd $TESTDIR/initramfs.server -pidfile $TESTDIR/server.pid -daemonize || return 1
+ -net nic,macaddr=52:54:00:12:34:56,model=e1000 \
+ -net socket,listen=127.0.0.1:12350 \
+ -serial $SERIAL \
+ -watchdog ib700 -watchdog-action poweroff \
+ -kernel /boot/vmlinuz-$KVERSION \
+ -append "selinux=0 root=/dev/sda rd.debug rd.info rw quiet console=ttyS0,115200n81" \
+ -initrd $TESTDIR/initramfs.server -pidfile $TESTDIR/server.pid -daemonize || return 1
sudo chmod 644 $TESTDIR/server.pid || return 1
# Cleanup the terminal if we have one
@@ -50,9 +51,10 @@ client_test() {
-net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-net socket,connect=127.0.0.1:12350 \
-hdc /dev/null \
- -kernel /boot/vmlinuz-$KVERSION \
- -append "$cmdline $DEBUGFAIL rd.retry=5 rd.debug rd.info ro quiet console=ttyS0,115200n81 selinux=0 rd.copystate" \
- -initrd $TESTDIR/initramfs.testing
+ -watchdog ib700 -watchdog-action poweroff \
+ -kernel /boot/vmlinuz-$KVERSION \
+ -append "$cmdline $DEBUGFAIL rd.retry=5 rd.debug rd.info ro quiet console=ttyS0,115200n81 selinux=0 rd.copystate rd.chroot init=/sbin/init" \
+ -initrd $TESTDIR/initramfs.testing
if [[ $? -ne 0 ]] || ! grep -m 1 -q OK $TESTDIR/client.img; then
echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
@@ -261,16 +263,16 @@ test_setup() {
# Make server's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
- -m "dash udev-rules base rootfs-block debug kernel-modules" \
- -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
- -f $TESTDIR/initramfs.server $KVERSION || return 1
+ -m "dash udev-rules base rootfs-block debug kernel-modules watchdog" \
+ -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000 ib700wdt" \
+ -f $TESTDIR/initramfs.server $KVERSION || return 1
# Make client's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
- -o "plymouth" \
- -a "debug" \
- -d "piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfs sunrpc" \
- -f $TESTDIR/initramfs.testing $KVERSION || return 1
+ -o "plymouth" \
+ -a "debug watchdog" \
+ -d "piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfs sunrpc ib700wdt" \
+ -f $TESTDIR/initramfs.testing $KVERSION || return 1
}
kill_server() {

View File

@ -0,0 +1,138 @@
From 9f88b0370dc9433b87686f67c1156f2080b35a1d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:23:25 +0200
Subject: [PATCH] TEST-20-NFS: libnss cleanup
---
test/TEST-20-NFS/test.sh | 75 +++++++++++++++++++++++++++++++++-------------
1 file changed, 55 insertions(+), 20 deletions(-)
diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
index ea65c2a..faa2bb3 100755
--- a/test/TEST-20-NFS/test.sh
+++ b/test/TEST-20-NFS/test.sh
@@ -211,10 +211,37 @@ test_setup() {
mkdir $TESTDIR/mnt
sudo mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt
- kernel=$KVERSION
- (
+
+ export kernel=$KVERSION
+ export srcmods="/lib/modules/$kernel/"
+ # Detect lib paths
+
+ . $basedir/dracut-functions.sh
+ if ! [[ $libdirs ]] ; then
+ if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
+ && [[ -d /lib64 ]]; then
+ libdirs+=" /lib64"
+ [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
+ else
+ libdirs+=" /lib"
+ [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
+ fi
+ fi
+
+ (
initdir=$TESTDIR/mnt
- . $basedir/dracut-functions.sh
+
+ for _f in modules.builtin.bin modules.builtin; do
+ [[ $srcmods/$_f ]] && break
+ done || {
+ dfatal "No modules.builtin.bin and modules.builtin found!"
+ return 1
+ }
+
+ for _f in modules.builtin.bin modules.builtin modules.order; do
+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
+
dracut_install sh ls shutdown poweroff stty cat ps ln ip \
dmesg mkdir cp ping exportfs \
modprobe rpc.nfsd rpc.mountd showmount tcpdump \
@@ -235,26 +262,28 @@ test_setup() {
inst ./dhcpd.conf /etc/dhcpd.conf
dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
dracut_install rpc.idmapd /etc/idmapd.conf
- if ldd $(type -P rpc.idmapd) |grep -q lib64; then
- LIBDIR="/lib64"
- else
- LIBDIR="/lib"
- fi
- dracut_install $(ls {/usr,}$LIBDIR/libnfsidmap*.so* 2>/dev/null )
- dracut_install $(ls {/usr,}$LIBDIR/libnss*.so 2>/dev/null)
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
+
(
cd "$initdir";
- mkdir -p dev sys proc etc var/run tmp var/lib/{dhcpd,rpcbind}
+ mkdir -p dev sys proc run etc var/run tmp var/lib/{dhcpd,rpcbind}
mkdir -p var/lib/nfs/{v4recovery,rpc_pipefs}
chmod 777 var/lib/rpcbind var/lib/nfs
)
inst /etc/nsswitch.conf /etc/nsswitch.conf
+
inst /etc/passwd /etc/passwd
inst /etc/group /etc/group
- for i in /lib*/libnss_files**;do
- inst_library $i
- done
/sbin/depmod -a -b "$initdir" $kernel
cp -a /etc/ld.so.conf* $initdir/etc
@@ -266,7 +295,6 @@ test_setup() {
mkdir -p $initdir
(
- . $basedir/dracut-functions.sh
dracut_install sh shutdown poweroff stty cat ps ln ip \
mount dmesg mkdir cp ping grep
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
@@ -276,15 +304,23 @@ test_setup() {
inst ./client-init.sh /sbin/init
(
cd "$initdir"
- mkdir -p dev sys proc etc
+ mkdir -p dev sys proc etc run
mkdir -p var/lib/nfs/rpc_pipefs
)
inst /etc/nsswitch.conf /etc/nsswitch.conf
inst /etc/passwd /etc/passwd
inst /etc/group /etc/group
- for i in /lib*/libnss_files*;do
- inst_library $i
- done
+
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
cp -a /etc/ld.so.conf* $initdir/etc
sudo ldconfig -r "$initdir"
@@ -301,7 +337,6 @@ test_setup() {
(
initdir=$TESTDIR/overlay
mkdir $TESTDIR/overlay
- . $basedir/dracut-functions.sh
dracut_install poweroff shutdown
inst_hook emergency 000 ./hard-off.sh
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules

View File

@ -0,0 +1,351 @@
From d6862983155c31896ac46dc9d43f4086850a0d44 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:28:44 +0200
Subject: [PATCH] TEST-50-MULTINIC: libnss cleanup
---
test/TEST-50-MULTINIC/test.sh | 235 +++++++++++++++++++----------------------
1 file changed, 110 insertions(+), 125 deletions(-)
diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
index 1655608..5c7ca6c 100755
--- a/test/TEST-50-MULTINIC/test.sh
+++ b/test/TEST-50-MULTINIC/test.sh
@@ -1,4 +1,6 @@
#!/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="root filesystem on NFS with multiple nics"
KVERSION=${KVERSION-$(uname -r)}
@@ -41,15 +43,15 @@ client_test() {
# Need this so kvm-qemu will boot (needs non-/dev/zero local disk)
if ! dd if=/dev/zero of=$TESTDIR/client.img bs=1M count=1; then
- echo "Unable to make client sda image" 1>&2
- return 1
+ echo "Unable to make client sda image" 1>&2
+ return 1
fi
$testdir/run-qemu -hda $TESTDIR/client.img -m 512M -nographic \
- -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
- -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
- -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
- -net socket,connect=127.0.0.1:12350 \
+ -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+ -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+ -net socket,connect=127.0.0.1:12350 \
-hdc /dev/null \
-watchdog ib700 -watchdog-action poweroff \
-kernel /boot/vmlinuz-$KVERSION \
@@ -57,17 +59,17 @@ client_test() {
-initrd $TESTDIR/initramfs.testing
if [[ $? -ne 0 ]] || ! grep -m 1 -q OK $TESTDIR/client.img; then
- echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
- return 1
+ echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
+ return 1
fi
for i in $check ; do
- echo $i
- if ! grep -m 1 -q $i $TESTDIR/client.img; then
- echo "CLIENT TEST END: $test_name [FAILED - BAD IF]"
- return 1
- fi
+ echo $i
+ if ! grep -m 1 -q $i $TESTDIR/client.img; then
+ echo "CLIENT TEST END: $test_name [FAILED - BAD IF]"
+ return 1
+ fi
done
echo "CLIENT TEST END: $test_name [OK]"
@@ -77,8 +79,8 @@ client_test() {
test_run() {
if ! run_server; then
- echo "Failed to start server" 1>&2
- return 1
+ echo "Failed to start server" 1>&2
+ return 1
fi
test_client || { kill_server; return 1; }
}
@@ -90,33 +92,33 @@ test_client() {
# PXE Style BOOTIF=
client_test "MULTINIC root=nfs BOOTIF=" \
- 00 01 02 \
- "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
- "eth0" || return 1
+ 00 01 02 \
+ "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
+ "eth0" || return 1
# PXE Style BOOTIF= with dhcp root-path
client_test "MULTINIC root=dhcp BOOTIF=" \
- 00 01 02 \
- "root=dhcp BOOTIF=52-54-00-12-34-02" \
- "eth2" || return 1
+ 00 01 02 \
+ "root=dhcp BOOTIF=52-54-00-12-34-02" \
+ "eth2" || return 1
# Multinic case, where only one nic works
client_test "MULTINIC root=nfs ip=dhcp" \
- FF 00 FE \
- "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
- "eth1" || return 1
+ FF 00 FE \
+ "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
+ "eth1" || return 1
# Require two interfaces
client_test "MULTINIC root=nfs ip=eth1:dhcp ip=eth2:dhcp bootdev=eth1" \
- 00 01 02 \
- "root=nfs:192.168.50.1:/nfs/client ip=eth1:dhcp ip=eth2:dhcp bootdev=eth1" \
- "eth1 eth2" || return 1
+ 00 01 02 \
+ "root=nfs:192.168.50.1:/nfs/client ip=eth1:dhcp ip=eth2:dhcp bootdev=eth1" \
+ "eth1 eth2" || return 1
# Require three interfaces with dhcp root-path
client_test "MULTINIC root=dhcp ip=eth0:dhcp ip=eth1:dhcp ip=eth2:dhcp bootdev=eth2" \
- 00 01 02 \
- "root=dhcp ip=eth0:dhcp ip=eth1:dhcp ip=eth2:dhcp bootdev=eth2" \
- "eth0 eth1 eth2" || return 1
+ 00 01 02 \
+ "root=dhcp ip=eth0:dhcp ip=eth1:dhcp ip=eth2:dhcp bootdev=eth2" \
+ "eth0 eth1 eth2" || return 1
kill_server
return 0
@@ -129,86 +131,70 @@ test_setup() {
mkdir $TESTDIR/mnt
sudo mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt
- export kernel=$KVERSION
- export srcmods="/lib/modules/$kernel/"
- # Detect lib paths
-
. $basedir/dracut-functions.sh
- if ! [[ $libdirs ]] ; then
- if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
- && [[ -d /lib64 ]]; then
- libdirs+=" /lib64"
- [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
- else
- libdirs+=" /lib"
- [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
- fi
- fi
(
- initdir=$TESTDIR/mnt
-
- for _f in modules.builtin.bin modules.builtin; do
- [[ $srcmods/$_f ]] && break
- done || {
- dfatal "No modules.builtin.bin and modules.builtin found!"
- return 1
- }
+ initdir=$TESTDIR/mnt
+
+ (
+ cd "$initdir";
+ mkdir -p dev sys proc run etc var/run tmp var/lib/{dhcpd,rpcbind}
+ mkdir -p var/lib/nfs/{v4recovery,rpc_pipefs}
+ chmod 777 var/lib/rpcbind var/lib/nfs
+ )
+
+ for _f in modules.builtin.bin modules.builtin; do
+ [[ $srcmods/$_f ]] && break
+ done || {
+ dfatal "No modules.builtin.bin and modules.builtin found!"
+ return 1
+ }
for _f in modules.builtin.bin modules.builtin modules.order; do
- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
- done
+ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
+ done
- dracut_install sh ls shutdown poweroff stty cat ps ln ip \
- dmesg mkdir cp ping exportfs \
- modprobe rpc.nfsd rpc.mountd showmount tcpdump \
- /etc/services sleep mount chmod
+ dracut_install sh ls shutdown poweroff stty cat ps ln ip \
+ dmesg mkdir cp ping exportfs \
+ modprobe rpc.nfsd rpc.mountd showmount tcpdump \
+ /etc/services sleep mount chmod
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
- dracut_install -o ${_terminfodir}/l/linux
- type -P portmap >/dev/null && dracut_install portmap
- type -P rpcbind >/dev/null && dracut_install rpcbind
- [ -f /etc/netconfig ] && dracut_install /etc/netconfig
- type -P dhcpd >/dev/null && dracut_install dhcpd
- [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
- instmods nfsd sunrpc ipv6 lockd
- inst ./server-init.sh /sbin/init
- inst ./hosts /etc/hosts
- inst ./exports /etc/exports
- inst ./dhcpd.conf /etc/dhcpd.conf
- dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
- dracut_install rpc.idmapd /etc/idmapd.conf
-
- inst_libdir_file 'libnfsidmap_nsswitch.so*'
- inst_libdir_file 'libnfsidmap/*.so*'
- inst_libdir_file 'libnfsidmap*.so*'
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+ dracut_install -o ${_terminfodir}/l/linux
+ type -P portmap >/dev/null && dracut_install portmap
+ type -P rpcbind >/dev/null && dracut_install rpcbind
+ [ -f /etc/netconfig ] && dracut_install /etc/netconfig
+ type -P dhcpd >/dev/null && dracut_install dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+ instmods nfsd sunrpc ipv6 lockd
+ inst ./server-init.sh /sbin/init
+ inst ./hosts /etc/hosts
+ inst ./exports /etc/exports
+ inst ./dhcpd.conf /etc/dhcpd.conf
+ dracut_install /etc/nsswitch.conf /etc/rpc /etc/protocols
+
+ dracut_install rpc.idmapd /etc/idmapd.conf
+
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
_nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
_nsslibs=${_nsslibs#|}
_nsslibs=${_nsslibs%|}
- inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
- (
- cd "$initdir";
- mkdir -p dev sys proc etc var/run tmp var/lib/{dhcpd,rpcbind}
- mkdir -p var/lib/nfs/{v4recovery,rpc_pipefs}
- chmod 777 var/lib/rpcbind var/lib/nfs
- )
+ inst /etc/nsswitch.conf /etc/nsswitch.conf
+ inst /etc/passwd /etc/passwd
+ inst /etc/group /etc/group
- inst /etc/nsswitch.conf /etc/nsswitch.conf
- inst /etc/passwd /etc/passwd
- inst /etc/group /etc/group
- for i in /lib*/libnss_files**;do
- inst_library $i
- done
+ /sbin/depmod -a -b "$initdir" $kernel
- /sbin/depmod -a -b "$initdir" $kernel
-
- cp -a /etc/ld.so.conf* $initdir/etc
- sudo ldconfig -r "$initdir"
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
)
# Make client root inside server root
@@ -216,49 +202,48 @@ test_setup() {
mkdir -p $initdir
(
- dracut_install sh shutdown poweroff stty cat ps ln ip \
+ dracut_install sh shutdown poweroff stty cat ps ln ip \
mount dmesg mkdir cp ping grep ls
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
- dracut_install -o ${_terminfodir}/l/linux
- inst ./client-init.sh /sbin/init
- (
- cd "$initdir"
- mkdir -p dev sys proc etc run
- mkdir -p var/lib/nfs/rpc_pipefs
- )
- inst /etc/nsswitch.conf /etc/nsswitch.conf
- inst /etc/passwd /etc/passwd
- inst /etc/group /etc/group
-
- inst_libdir_file 'libnfsidmap_nsswitch.so*'
- inst_libdir_file 'libnfsidmap/*.so*'
- inst_libdir_file 'libnfsidmap*.so*'
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+ dracut_install -o ${_terminfodir}/l/linux
+ inst ./client-init.sh /sbin/init
+ (
+ cd "$initdir"
+ mkdir -p dev sys proc etc run
+ mkdir -p var/lib/nfs/rpc_pipefs
+ )
+ inst /etc/nsswitch.conf /etc/nsswitch.conf
+ inst /etc/passwd /etc/passwd
+ inst /etc/group /etc/group
+
+ dracut_install rpc.idmapd /etc/idmapd.conf
+ inst_libdir_file 'libnfsidmap_nsswitch.so*'
+ inst_libdir_file 'libnfsidmap/*.so*'
+ inst_libdir_file 'libnfsidmap*.so*'
_nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
_nsslibs=${_nsslibs#|}
_nsslibs=${_nsslibs%|}
- inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
+ inst_libdir_file -n "$_nsslibs" 'libnss*.so*'
- cp -a /etc/ld.so.conf* $initdir/etc
- sudo ldconfig -r "$initdir"
+ cp -a /etc/ld.so.conf* $initdir/etc
+ sudo ldconfig -r "$initdir"
)
- chroot $initdir
-
sudo umount $TESTDIR/mnt
rm -fr $TESTDIR/mnt
# Make an overlay with needed tools for the test harness
(
- initdir=$TESTDIR/overlay
- mkdir $TESTDIR/overlay
- dracut_install poweroff shutdown
- inst_hook emergency 000 ./hard-off.sh
- inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+ initdir=$TESTDIR/overlay
+ mkdir $TESTDIR/overlay
+ dracut_install poweroff shutdown
+ inst_hook emergency 000 ./hard-off.sh
+ inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
)
# Make server's dracut image
@@ -277,8 +262,8 @@ test_setup() {
kill_server() {
if [[ -s $TESTDIR/server.pid ]]; then
- sudo kill -TERM $(cat $TESTDIR/server.pid)
- rm -f $TESTDIR/server.pid
+ sudo kill -TERM $(cat $TESTDIR/server.pid)
+ rm -f $TESTDIR/server.pid
fi
}

View File

@ -0,0 +1,22 @@
From f48f9341a5a5b7f4e14d4419ce7f969e665d9c42 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 18 Jun 2012 19:20:39 +0200
Subject: [PATCH] disable TEST-16-DMSQUASH for now
---
test/TEST-16-DMSQUASH/test.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh
index 9a10058..3816c18 100755
--- a/test/TEST-16-DMSQUASH/test.sh
+++ b/test/TEST-16-DMSQUASH/test.sh
@@ -11,7 +11,7 @@ test_check() {
echo "python-imgcreate not installed"
return 1
fi
- return 0
+ return 1
}
test_run() {

View File

@ -10,7 +10,7 @@
Name: dracut Name: dracut
Version: 019 Version: 019
Release: 16.git20120611%{?dist} Release: 40.git20120618%{?dist}
Summary: Initramfs generator using udev Summary: Initramfs generator using udev
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -39,6 +39,30 @@ Patch12: 0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch
Patch13: 0013-dm-check-for-presence-of-dmsetup.patch Patch13: 0013-dm-check-for-presence-of-dmsetup.patch
Patch14: 0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch Patch14: 0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch
Patch15: 0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch Patch15: 0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch
Patch16: 0016-dracut.sh-mkdir-initdir-lib-dracut.patch
Patch17: 0017-fix-ifup-for-static-ipv6.patch
Patch18: 0018-ifcfg-fix-output-for-ipv6-static-addressing.patch
Patch19: 0019-add-PARTUUID-as-root-PARTUUID-partition-uuid-paramet.patch
Patch20: 0020-Debian-multiarch-support.patch
Patch21: 0021-dracut-functions.sh-fixup-inst_libdir_file-again.patch
Patch22: 0022-dracut.sh-output-unknown-argument.patch
Patch23: 0023-dracut.sh-unset-some-variables.patch
Patch24: 0024-nfs-extend-libnss-wildcard.patch
Patch25: 0025-TEST-50-MULTINIC-install-correct-nss-libs.patch
Patch26: 0026-Revert-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch
Patch27: 0027-Revert-network-ifup.sh-do-not-default-to-dhcp-for-in.patch
Patch28: 0028-resolve-conflict-between-cms-network-rules-and-defau.patch
Patch29: 0029-fixed-instmods-return-code-and-set-pipefail-globally.patch
Patch30: 0030-Set-some-global-variables-in-dracut-functions.sh.patch
Patch31: 0031-iscsi-module-setup.sh-only-install-s390-driver-on-s3.patch
Patch32: 0032-plymouth-fixed-inst_libdir_file-call.patch
Patch33: 0033-add-04watchdog-dracut-module.patch
Patch34: 0034-TEST-01-BASIC-add-watchdog.patch
Patch35: 0035-TEST-20-NFS-add-watchdog.patch
Patch36: 0036-TEST-50-MULTINIC-add-watchdog.patch
Patch37: 0037-TEST-20-NFS-libnss-cleanup.patch
Patch38: 0038-TEST-50-MULTINIC-libnss-cleanup.patch
Patch39: 0039-disable-TEST-16-DMSQUASH-for-now.patch
BuildArch: noarch BuildArch: noarch
@ -270,6 +294,7 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/dracut.conf.5* %{_mandir}/man5/dracut.conf.5*
%{dracutlibdir}/modules.d/00bootchart %{dracutlibdir}/modules.d/00bootchart
%{dracutlibdir}/modules.d/00dash %{dracutlibdir}/modules.d/00dash
%{dracutlibdir}/modules.d/04watchdog
%{dracutlibdir}/modules.d/05busybox %{dracutlibdir}/modules.d/05busybox
%{dracutlibdir}/modules.d/10i18n %{dracutlibdir}/modules.d/10i18n
%{dracutlibdir}/modules.d/30convertfs %{dracutlibdir}/modules.d/30convertfs
@ -358,6 +383,9 @@ rm -rf $RPM_BUILD_ROOT
%dir /var/lib/dracut/overlay %dir /var/lib/dracut/overlay
%changelog %changelog
* Mon Jun 18 2012 Harald Hoyer <harald@redhat.com> 019-40.git20120618
- new upstream version
* Mon Jun 11 2012 Harald Hoyer <harald@redhat.com> 019-16.git20120611 * Mon Jun 11 2012 Harald Hoyer <harald@redhat.com> 019-16.git20120611
- new upstream version - new upstream version