From 53e9906e08886c6a359389f3b52660c841a58f26 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 25 Jun 2012 14:08:03 +0200 Subject: [PATCH] dracut-019-92.git20120625 - support vlan tagged binding - speedup initramfs emergency service - speedup image creation - fix installkernel() return codes Resolves: rhbz#833256 - add qemu and qemu-net modules to add qemu drivers even in host-only - speedup btrfs and xfs fsck (nop) - no more mknod in the initramfs (fixes plymouth on s390) --- ...-network-support-vlan-tagged-bonding.patch | 71 ++++++++++ ...d-emergency.service-remove-Type-idle.patch | 22 +++ ...itionPathExists-etc-initrd-release-t.patch | 74 ++++++++++ 0065-dracut-functions.sh-replace-strstr.patch | 23 ++++ ....sh-mksubdirs-check-for-dir-existenc.patch | 23 ++++ ....sh-cp-with-reflink-auto-and-sparse-.patch | 26 ++++ ...modules-if-we-detect-a-qemu-instance.patch | 79 +++++++++++ ....sh-inst_simple-do-inst_symlink-for-.patch | 43 ++++++ ....sh-inst_decompress-simplify-functio.patch | 44 ++++++ ....sh-find_kernel_modules_by_path-use-.patch | 38 ++++++ 0072-dracut.sh-speedup-strip.patch | 39 ++++++ ...t-count-negative-timestamp-differenc.patch | 23 ++++ ...-removed-test-mounting-of-btrfs-and-.patch | 84 ++++++++++++ ...ase-module-setup.sh-use-force-for-ln.patch | 43 ++++++ ...etup.sh-only-create-empty-machine-id.patch | 25 ++++ ...ystemd-module-setup.sh-ln-with-force.patch | 50 +++++++ ...p.sh-install_all_kbd-speedup-install.patch | 26 ++++ ...e-setup.sh-no-need-for-mknod-anymore.patch | 21 +++ 0080-no-more-mknod-in-the-initramfs.patch | 62 +++++++++ ...-rules-module-setup.sh-ln-with-force.patch | 22 +++ ...setup.sh-speedup-install-of-all-term.patch | 25 ++++ ...etup.sh-fixed-installkernel-return-c.patch | 45 +++++++ ...odule-setup.sh-speedup-installkernel.patch | 61 +++++++++ ...setup.sh-installkernel-fix-return-co.patch | 24 ++++ ...odule-setup.sh-installkernel-fix-ret.patch | 38 ++++++ ...-setup.sh-installkernel-fix-return-c.patch | 68 ++++++++++ ...-setup.sh-no-more-sourcing-of-dracut.patch | 127 ++++++++++++++++++ ...ogger.sh-use-for-numeric-comparisons.patch | 80 +++++++++++ ...-empty-functions-for-log-funcs-which.patch | 54 ++++++++ ...do-not-copy-devices-nodes-mknod-them.patch | 27 ++++ dracut.spec | 44 +++++- 31 files changed, 1430 insertions(+), 1 deletion(-) create mode 100644 0062-network-support-vlan-tagged-bonding.patch create mode 100644 0063-systemd-emergency.service-remove-Type-idle.patch create mode 100644 0064-systemd-add-ConditionPathExists-etc-initrd-release-t.patch create mode 100644 0065-dracut-functions.sh-replace-strstr.patch create mode 100644 0066-dracut-functions.sh-mksubdirs-check-for-dir-existenc.patch create mode 100644 0067-dracut-functions.sh-cp-with-reflink-auto-and-sparse-.patch create mode 100644 0068-Add-qemu-kernel-modules-if-we-detect-a-qemu-instance.patch create mode 100644 0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch create mode 100644 0070-dracut-functions.sh-inst_decompress-simplify-functio.patch create mode 100644 0071-dracut-functions.sh-find_kernel_modules_by_path-use-.patch create mode 100644 0072-dracut.sh-speedup-strip.patch create mode 100644 0073-profile.py-do-not-count-negative-timestamp-differenc.patch create mode 100644 0074-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch create mode 100644 0075-base-module-setup.sh-use-force-for-ln.patch create mode 100644 0076-systemd-module-setup.sh-only-create-empty-machine-id.patch create mode 100644 0077-systemd-module-setup.sh-ln-with-force.patch create mode 100644 0078-i18n-module-setup.sh-install_all_kbd-speedup-install.patch create mode 100644 0079-bootchart-module-setup.sh-no-need-for-mknod-anymore.patch create mode 100644 0080-no-more-mknod-in-the-initramfs.patch create mode 100644 0081-udev-rules-module-setup.sh-ln-with-force.patch create mode 100644 0082-terminfo-module-setup.sh-speedup-install-of-all-term.patch create mode 100644 0083-network-module-setup.sh-fixed-installkernel-return-c.patch create mode 100644 0084-iscsi-module-setup.sh-speedup-installkernel.patch create mode 100644 0085-plymouth-module-setup.sh-installkernel-fix-return-co.patch create mode 100644 0086-kernel-modules-module-setup.sh-installkernel-fix-ret.patch create mode 100644 0087-multipath-module-setup.sh-installkernel-fix-return-c.patch create mode 100644 0088-modules.d-module-setup.sh-no-more-sourcing-of-dracut.patch create mode 100644 0089-dracut-logger.sh-use-for-numeric-comparisons.patch create mode 100644 0090-dracut-logger.sh-empty-functions-for-log-funcs-which.patch create mode 100644 0091-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch diff --git a/0062-network-support-vlan-tagged-bonding.patch b/0062-network-support-vlan-tagged-bonding.patch new file mode 100644 index 0000000..be70150 --- /dev/null +++ b/0062-network-support-vlan-tagged-bonding.patch @@ -0,0 +1,71 @@ +From 472edf825e478826bc7735961961576fe7c94c5f Mon Sep 17 00:00:00 2001 +From: Cong Wang +Date: Thu, 21 Jun 2012 11:44:35 +0800 +Subject: [PATCH] network: support vlan tagged bonding + +This patch adds support of vlan tagged bonding, for example, +bond0.2. In case of regression, I also tested bond0 and eth0.2, +all work fine. + +Cc: Harald Hoyer +Cc: Dave Young +Cc: Vivek Goyal +Signed-off-by: Cong Wang +--- + modules.d/40network/ifup.sh | 8 ++++++-- + modules.d/40network/net-genrules.sh | 6 +++--- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 31eb966..316a21a 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -188,7 +188,7 @@ if [ -e /tmp/bridge.info ]; then + brctl setfd $bridgename 0 + for ethname in $ethnames ; do + if [ "$ethname" = "$bondname" ] ; then +- DO_BOND_SETUP=yes ifup $bondname ++ DO_BOND_SETUP=yes ifup $bondname -m + else + ip link set $ethname up + fi +@@ -211,7 +211,11 @@ get_vid() { + + if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then + modprobe 8021q +- ip link set "$phydevice" up ++ if [ "$phydevice" = "$bondname" ] ; then ++ DO_BOND_SETUP=yes ifup $phydevice -m ++ else ++ ip link set "$phydevice" up ++ fi + wait_for_if_up "$phydevice" + ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)" + fi +diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh +index 99d0fe5..867abcf 100755 +--- a/modules.d/40network/net-genrules.sh ++++ b/modules.d/40network/net-genrules.sh +@@ -21,19 +21,19 @@ fix_bootif() { + # bridge: attempt only the defined interface + if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +- IFACES=${ethnames%% *} ++ IFACES+=" ${ethnames%% *}" + fi + + # bond: attempt only the defined interface (override bridge defines) + if [ -e /tmp/bond.info ]; then + . /tmp/bond.info + # It is enough to fire up only one +- IFACES=${bondslaves%% *} ++ IFACES+=" ${bondslaves%% *}" + fi + + if [ -e /tmp/vlan.info ]; then + . /tmp/vlan.info +- IFACES=$phydevice ++ IFACES+=" $phydevice" + fi + + ifup='/sbin/ifup $env{INTERFACE}' diff --git a/0063-systemd-emergency.service-remove-Type-idle.patch b/0063-systemd-emergency.service-remove-Type-idle.patch new file mode 100644 index 0000000..41089a0 --- /dev/null +++ b/0063-systemd-emergency.service-remove-Type-idle.patch @@ -0,0 +1,22 @@ +From e3295047b101a9a92c8548909cd18b2675bc9977 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 21 Jun 2012 13:51:49 +0200 +Subject: [PATCH] systemd/emergency.service: remove Type=idle + +Type=idle might cause a 3 second delay. +--- + modules.d/98systemd/emergency.service | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/modules.d/98systemd/emergency.service b/modules.d/98systemd/emergency.service +index 431e2b0..b79af22 100644 +--- a/modules.d/98systemd/emergency.service ++++ b/modules.d/98systemd/emergency.service +@@ -18,7 +18,6 @@ ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e '\n\nEntering emergency mode. Exit the shell to continue.\nType "journalctl" to view system logs.\n' + ExecStart=-/bin/sh -i -l + ExecStopPost=-/bin/rm -f /.console_lock +-Type=idle + StandardInput=tty-force + StandardOutput=inherit + StandardError=inherit diff --git a/0064-systemd-add-ConditionPathExists-etc-initrd-release-t.patch b/0064-systemd-add-ConditionPathExists-etc-initrd-release-t.patch new file mode 100644 index 0000000..1339172 --- /dev/null +++ b/0064-systemd-add-ConditionPathExists-etc-initrd-release-t.patch @@ -0,0 +1,74 @@ +From d17e0fcd431e823c3f93bbcff8e853578d6bfdc9 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 21 Jun 2012 14:10:41 +0200 +Subject: [PATCH] systemd: add ConditionPathExists=/etc/initrd-release to + services + +--- + modules.d/98systemd/dracut-cmdline.service | 1 + + modules.d/98systemd/dracut-initqueue.service | 1 + + modules.d/98systemd/dracut-pre-pivot.service | 1 + + modules.d/98systemd/dracut-pre-trigger.service | 1 + + modules.d/98systemd/dracut-pre-udev.service | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/modules.d/98systemd/dracut-cmdline.service b/modules.d/98systemd/dracut-cmdline.service +index 938ccbe..c84f62b 100644 +--- a/modules.d/98systemd/dracut-cmdline.service ++++ b/modules.d/98systemd/dracut-cmdline.service +@@ -23,6 +23,7 @@ StandardInput=null + StandardOutput=syslog + StandardError=syslog+console + KillMode=process ++ConditionPathExists=/etc/initrd-release + + # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash + # terminates cleanly. +diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service +index 31fe9e4..4fde539 100644 +--- a/modules.d/98systemd/dracut-initqueue.service ++++ b/modules.d/98systemd/dracut-initqueue.service +@@ -22,6 +22,7 @@ StandardInput=null + StandardOutput=syslog + StandardError=syslog+console + KillMode=process ++ConditionPathExists=/etc/initrd-release + + # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash + # terminates cleanly. +diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service +index e61750b..38d252d 100644 +--- a/modules.d/98systemd/dracut-pre-pivot.service ++++ b/modules.d/98systemd/dracut-pre-pivot.service +@@ -21,6 +21,7 @@ StandardInput=null + StandardOutput=syslog + StandardError=syslog+console + KillMode=process ++ConditionPathExists=/etc/initrd-release + + # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash + # terminates cleanly. +diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service +index b06d17f..97c505d 100644 +--- a/modules.d/98systemd/dracut-pre-trigger.service ++++ b/modules.d/98systemd/dracut-pre-trigger.service +@@ -23,6 +23,7 @@ StandardInput=null + StandardOutput=syslog + StandardError=syslog+console + KillMode=process ++ConditionPathExists=/etc/initrd-release + + # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash + # terminates cleanly. +diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service +index d867b38..9b83e3e 100644 +--- a/modules.d/98systemd/dracut-pre-udev.service ++++ b/modules.d/98systemd/dracut-pre-udev.service +@@ -23,6 +23,7 @@ StandardInput=null + StandardOutput=syslog + StandardError=syslog+console + KillMode=process ++ConditionPathExists=/etc/initrd-release + + # Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash + # terminates cleanly. diff --git a/0065-dracut-functions.sh-replace-strstr.patch b/0065-dracut-functions.sh-replace-strstr.patch new file mode 100644 index 0000000..86a1b2d --- /dev/null +++ b/0065-dracut-functions.sh-replace-strstr.patch @@ -0,0 +1,23 @@ +From bc616b4d5660d8d79465202bdc3a1b43b4ea3ba1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 08:57:20 +0200 +Subject: [PATCH] dracut-functions.sh: replace strstr() + +the new strstr() is faster, when compared +--- + dracut-functions.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index d4a766b..ace5a0b 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -21,7 +21,7 @@ + # + + # Generic substring function. If $2 is in $1, return 0. +-strstr() { [ "${1#*$2*}" != "$1" ]; } ++strstr() { [[ $1 = *$2* ]]; } + + if ! [[ $dracutbasedir ]]; then + dracutbasedir=${BASH_SOURCE[0]%/*} diff --git a/0066-dracut-functions.sh-mksubdirs-check-for-dir-existenc.patch b/0066-dracut-functions.sh-mksubdirs-check-for-dir-existenc.patch new file mode 100644 index 0000000..9084fdf --- /dev/null +++ b/0066-dracut-functions.sh-mksubdirs-check-for-dir-existenc.patch @@ -0,0 +1,23 @@ +From 68966a1d7e6dc9d6be054effa62d61836704714b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 08:58:39 +0200 +Subject: [PATCH] dracut-functions.sh: mksubdirs(): check for dir existence + first + +--- + dracut-functions.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index ace5a0b..3b562e7 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -74,7 +74,7 @@ fi + + # Create all subdirectories for given path without creating the last element. + # $1 = path +-mksubdirs() { mkdir -m 0755 -p ${1%/*}; } ++mksubdirs() { [[ -e ${1%/*} ]] || mkdir -m 0755 -p ${1%/*}; } + + # Version comparision function. Assumes Linux style version scheme. + # $1 = version a diff --git a/0067-dracut-functions.sh-cp-with-reflink-auto-and-sparse-.patch b/0067-dracut-functions.sh-cp-with-reflink-auto-and-sparse-.patch new file mode 100644 index 0000000..fe8d509 --- /dev/null +++ b/0067-dracut-functions.sh-cp-with-reflink-auto-and-sparse-.patch @@ -0,0 +1,26 @@ +From f550ba07400662633295c9681a80787fc44e61fa Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 08:59:22 +0200 +Subject: [PATCH] dracut-functions.sh: cp with --reflink=auto and + --sparse=auto + +cp will use COW data copy most of the time. So, it's even better than +hardlink, because we don't have to care about hardlinks, when modifying +files in post. +--- + dracut-functions.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 3b562e7..b9ce688 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -435,7 +435,7 @@ inst_simple() { + inst "${_src%/*}/.${_src##*/}.hmac" "${target%/*}/.${target##*/}.hmac" + fi + ddebug "Installing $_src" +- cp --sparse=always -pfL "$_src" "${initdir}/$target" ++ cp --reflink=auto --sparse=auto -pfL "$_src" "${initdir}/$target" + } + + # find symlinks linked to given library file diff --git a/0068-Add-qemu-kernel-modules-if-we-detect-a-qemu-instance.patch b/0068-Add-qemu-kernel-modules-if-we-detect-a-qemu-instance.patch new file mode 100644 index 0000000..74ee576 --- /dev/null +++ b/0068-Add-qemu-kernel-modules-if-we-detect-a-qemu-instance.patch @@ -0,0 +1,79 @@ +From a6b48b4c239d8ebacf545c27aa801ba0f8762a2b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 14:50:06 +0200 +Subject: [PATCH] Add qemu kernel modules, if we detect a qemu instance + +Regardless of the host-only setting, add all know kernel driver for qemu +instances to support changing the virtual hardware. +--- + dracut.spec | 2 ++ + modules.d/90qemu-net/module-setup.sh | 16 ++++++++++++++++ + modules.d/90qemu/module-setup.sh | 16 ++++++++++++++++ + 3 files changed, 34 insertions(+) + create mode 100755 modules.d/90qemu-net/module-setup.sh + create mode 100755 modules.d/90qemu/module-setup.sh + +diff --git a/dracut.spec b/dracut.spec +index 982a66d..b19d15b 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -271,6 +271,7 @@ rm -rf $RPM_BUILD_ROOT + %{dracutlibdir}/modules.d/90lvm + %{dracutlibdir}/modules.d/90mdraid + %{dracutlibdir}/modules.d/90multipath ++%{dracutlibdir}/modules.d/90qemu + %{dracutlibdir}/modules.d/91crypt-gpg + %{dracutlibdir}/modules.d/95debug + %{dracutlibdir}/modules.d/95resume +@@ -313,6 +314,7 @@ rm -rf $RPM_BUILD_ROOT + %{dracutlibdir}/modules.d/95fcoe + %{dracutlibdir}/modules.d/95iscsi + %{dracutlibdir}/modules.d/90livenet ++%{dracutlibdir}/modules.d/90qemu-net + %{dracutlibdir}/modules.d/95nbd + %{dracutlibdir}/modules.d/95nfs + %{dracutlibdir}/modules.d/95ssh-client +diff --git a/modules.d/90qemu-net/module-setup.sh b/modules.d/90qemu-net/module-setup.sh +new file mode 100755 +index 0000000..3d61792 +--- /dev/null ++++ b/modules.d/90qemu-net/module-setup.sh +@@ -0,0 +1,16 @@ ++#!/bin/bash ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++check() { ++ vm=$(systemd-detect-virt --vm) ++ (($? != 0)) && return 255 ++ [[ $vm = "qemu" ]] && return 0 ++ [[ $vm = "kvm" ]] && return 0 ++ return 255 ++} ++ ++installkernel() { ++ # qemu specific modules ++ hostonly='' instmods virtio_net e1000 8139cp pcnet32 e100 ne2k_pci ++} +diff --git a/modules.d/90qemu/module-setup.sh b/modules.d/90qemu/module-setup.sh +new file mode 100755 +index 0000000..094f5a3 +--- /dev/null ++++ b/modules.d/90qemu/module-setup.sh +@@ -0,0 +1,16 @@ ++#!/bin/bash ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++check() { ++ vm=$(systemd-detect-virt --vm) ++ (($? != 0)) && return 255 ++ [[ $vm = "qemu" ]] && return 0 ++ [[ $vm = "kvm" ]] && return 0 ++ return 255 ++} ++ ++installkernel() { ++ # qemu specific modules ++ hostonly='' instmods virtio_blk virtio virtio_ring virtio_pci ata_piix ata_generic pata_acpi cdrom sr_mod ahci virtio_scsi ++} diff --git a/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch b/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch new file mode 100644 index 0000000..c163fad --- /dev/null +++ b/0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch @@ -0,0 +1,43 @@ +From 7953a6ab718185096e5729482f91b319d4a67e90 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:09:07 +0200 +Subject: [PATCH] dracut-functions.sh:inst_simple() do inst_symlink for + symlinks + +--- + dracut-functions.sh | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index b9ce688..273d2a5 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -424,18 +424,21 @@ inst_simple() { + [[ -f "$1" ]] || return 1 + strstr "$1" "/" || return 1 + +- local _src=$1 target="${2:-$1}" +- if ! [[ -d ${initdir}/$target ]]; then +- [[ -e ${initdir}/$target ]] && return 0 +- [[ -L ${initdir}/$target ]] && return 0 +- [[ -d "${initdir}/${target%/*}" ]] || inst_dir "${target%/*}" ++ local _src=$1 _target="${2:-$1}" ++ ++ [[ -L $_src ]] && return inst_symlink $_src $_target ++ ++ if ! [[ -d ${initdir}/$_target ]]; then ++ [[ -e ${initdir}/$_target ]] && return 0 ++ [[ -L ${initdir}/$_target ]] && return 0 ++ [[ -d "${initdir}/${_target%/*}" ]] || inst_dir "${_target%/*}" + fi + # install checksum files also + if [[ -e "${_src%/*}/.${_src##*/}.hmac" ]]; then +- inst "${_src%/*}/.${_src##*/}.hmac" "${target%/*}/.${target##*/}.hmac" ++ inst "${_src%/*}/.${_src##*/}.hmac" "${_target%/*}/.${_target##*/}.hmac" + fi + ddebug "Installing $_src" +- cp --reflink=auto --sparse=auto -pfL "$_src" "${initdir}/$target" ++ cp --reflink=auto --sparse=auto -pfL "$_src" "${initdir}/$_target" + } + + # find symlinks linked to given library file diff --git a/0070-dracut-functions.sh-inst_decompress-simplify-functio.patch b/0070-dracut-functions.sh-inst_decompress-simplify-functio.patch new file mode 100644 index 0000000..a047130 --- /dev/null +++ b/0070-dracut-functions.sh-inst_decompress-simplify-functio.patch @@ -0,0 +1,44 @@ +From 04569ec8da0a553a7e4dfd37ce1d62508e3441eb Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:09:45 +0200 +Subject: [PATCH] dracut-functions.sh:inst_decompress() simplify function + +--- + dracut-functions.sh | 17 ++--------------- + 1 file changed, 2 insertions(+), 15 deletions(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 273d2a5..9861bb7 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -773,7 +773,7 @@ inst_libdir_file() { + # Function install targets in the same paths inside overlay but decompressed + # and without extensions (.gz, .bz2). + inst_decompress() { +- local _src _dst _realsrc _realdst _cmd ++ local _src _cmd + + for _src in $@ + do +@@ -782,20 +782,7 @@ inst_decompress() { + *.bz2) _cmd='bzip2 -d' ;; + *) return 1 ;; + esac +- +- if [[ -L ${_src} ]] +- then +- _realsrc="$(readlink -f ${_src})" # symlink target with extension +- _dst="${_src%.*}" # symlink without extension +- _realdst="${_realsrc%.*}" # symlink target without extension +- mksubdirs "${initdir}/${_src}" +- # Create symlink without extension to target without extension. +- ln -sfn "${_realdst}" "${initdir}/${_dst}" +- fi +- +- # If the source is symlink we operate on its target. +- [[ ${_realsrc} ]] && _src=${_realsrc} +- inst ${_src} ++ inst_simple ${_src} + # Decompress with chosen tool. We assume that tool changes name e.g. + # from 'name.gz' to 'name'. + ${_cmd} "${initdir}${_src}" diff --git a/0071-dracut-functions.sh-find_kernel_modules_by_path-use-.patch b/0071-dracut-functions.sh-find_kernel_modules_by_path-use-.patch new file mode 100644 index 0000000..539cb18 --- /dev/null +++ b/0071-dracut-functions.sh-find_kernel_modules_by_path-use-.patch @@ -0,0 +1,38 @@ +From 48e4a9a11c3d1ccd138e8a6dbea68010f47a1359 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:10:11 +0200 +Subject: [PATCH] dracut-functions.sh:find_kernel_modules_by_path() use IFS=: + +For modules.dep use simpler IFS=: to read the file. +--- + dracut-functions.sh | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index 9861bb7..cecd59a 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -1115,17 +1115,22 @@ for_each_kmod_dep() { + + + find_kernel_modules_by_path () ( ++ local _OLDIFS + if ! [[ $hostonly ]]; then ++ _OLDIFS=$IFS ++ IFS=: + while read a rest; do + if [[ "${a##kernel}" != "$a" ]]; then + [[ "${a##kernel/$1}" != "$a" ]] || continue + fi +- echo $srcmods/${a%:} ++ echo $srcmods/$a + done < $srcmods/modules.dep ++ IFS=$_OLDIFS + else + ( cd /sys/module; echo *; ) \ + | xargs modinfo -F filename -k $kernel 2>/dev/null + fi ++ return 0 + ) + + find_kernel_modules () { diff --git a/0072-dracut.sh-speedup-strip.patch b/0072-dracut.sh-speedup-strip.patch new file mode 100644 index 0000000..fe05f37 --- /dev/null +++ b/0072-dracut.sh-speedup-strip.patch @@ -0,0 +1,39 @@ +From 8e41fb1dfd47f99d374bf7190344400e6bb1d018 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:13:47 +0200 +Subject: [PATCH] dracut.sh: speedup "strip" + +--- + dracut.sh | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/dracut.sh b/dracut.sh +index 5600ec0..cc3669a 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -844,7 +844,7 @@ fi + + # strip binaries + if [[ $do_strip = yes ]] ; then +- for p in strip grep find; do ++ for p in strip xargs find; do + if ! type -P $p >/dev/null; then + derror "Could not find '$p'. You should run $0 with '--nostrip'." + do_strip=no +@@ -853,12 +853,10 @@ if [[ $do_strip = yes ]] ; then + fi + + if [[ $do_strip = yes ]] ; then +- for f in $(find "$initdir" -type f \ +- \( -perm -0100 -or -perm -0010 -or -perm -0001 \ +- -or -path '*/lib/modules/*.ko' \) ); do +- dinfo "Stripping $f" +- strip -g "$f" 2>/dev/null|| : +- done ++ find "$initdir" -type f \ ++ \( -perm -0100 -or -perm -0010 -or -perm -0001 \ ++ -or -path '*/lib/modules/*.ko' \) -print0 \ ++ | xargs -0 strip -g 2>/dev/null + fi + + type hardlink &>/dev/null && { diff --git a/0073-profile.py-do-not-count-negative-timestamp-differenc.patch b/0073-profile.py-do-not-count-negative-timestamp-differenc.patch new file mode 100644 index 0000000..34614f6 --- /dev/null +++ b/0073-profile.py-do-not-count-negative-timestamp-differenc.patch @@ -0,0 +1,23 @@ +From b5f5a081d1b6c4c1890a26e637b10234164ab388 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:14:27 +0200 +Subject: [PATCH] profile.py: do not count negative timestamp differences + +--- + profile.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/profile.py b/profile.py +index e1d0cab..7f98a13 100644 +--- a/profile.py ++++ b/profile.py +@@ -36,7 +36,8 @@ def gen_times(t): + fx=float(x[0]) + if oldx: + #print fx - float(oldx[0]), x[0], x[1], oldx[0], oldx[1] +- yield (fx - float(oldx[0]), oldx[1]) ++ if ((fx - float(oldx[0])) > 0): ++ yield (fx - float(oldx[0]), oldx[1]) + + oldx = x + diff --git a/0074-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch b/0074-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch new file mode 100644 index 0000000..afe5934 --- /dev/null +++ b/0074-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch @@ -0,0 +1,84 @@ +From 8f01a6a775fe9599fa8171d9cca17fb1b3c990af Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:16:55 +0200 +Subject: [PATCH] fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs + +mount/umount check only costs time and we fail later anyway. +mount can take very long on large filesystems. Better fail on the real +mount. +--- + modules.d/99fs-lib/fs-lib.sh | 58 +++--------------------------------------- + 1 file changed, 4 insertions(+), 54 deletions(-) + +diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh +index 75bee92..d1b7a9d 100755 +--- a/modules.d/99fs-lib/fs-lib.sh ++++ b/modules.d/99fs-lib/fs-lib.sh +@@ -80,63 +80,13 @@ fsck_able() { + # note: all drivers inherit: _drv _fop _dev + + fsck_drv_xfs() { +- local _ret +- +- # fs must be cleanly mounted (and umounted) first, before attempting any +- # xfs tools - if this works, nothing else should be needed +- # note, that user is always dropped into the shell, if the filesystem is +- # not mountable or if -f flag is found among _fop +- mkdir -p /tmp/.xfs +- +- info "trying to mount $_dev" +- if mount -t xfs ${_fsopts+-o $_fsopts} "$_dev" "/tmp/.xfs" >/dev/null 2>&1; then +- _ret=0 +- info "xfs: $_dev is clean" +- umount "$_dev" >/dev/null 2>&1 +- else +- _ret=4 +- warn "*** $_dev is unmountable" +- fi +- if [ $_ret -gt 0 ] || strstr "$_fop" "-f"; then +- warn "*** Dropping you to a shell. You have" +- warn "*** xfs_repair and xfs_check (xfs_db) available." +- warn "*** Note that if xfs didn't mount properly, it's" +- warn "*** probably pretty serious condition." +- emergency_shell -n "(Repair filesystem)" +- fi +- +- rm -r /tmp/.xfs +- return $_ret ++ # xfs fsck is not necessary... Either it mounts or not ++ return 0 + } + + fsck_drv_btrfs() { +- local _ret +- +- # fs must be cleanly mounted (and umounted) first, before attempting any +- # btrfs tools - if this works, nothing else should be needed +- # note, that user is always dropped into the shell, if the filesystem is +- # not mountable or if -f flag is found among _fop +- mkdir -p /tmp/.btrfs +- +- info "trying to mount $_dev" +- if mount -t btrfs ${_fsopts+-o $_fsopts} "$_dev" "/tmp/.btrfs" >/dev/null 2>&1; then +- _ret=0 +- info "btrfs: $_dev is clean" +- umount "$_dev" >/dev/null 2>&1 +- else +- _ret=4 +- warn "*** $_dev is unmountable" +- fi +- if [ $_ret -gt 0 ] || strstr "$_fop" "-f"; then +- warn "*** Dropping you to a shell. You have" +- warn "*** btrfsck available." +- warn "*** Note that if btrfs didn't mount properly, it's" +- warn "*** probably pretty serious condition." +- emergency_shell -n "(Repair filesystem)" +- fi +- +- rm -r /tmp/.btrfs +- return $_ret ++ # btrfs fsck is not necessary... Either it mounts or not ++ return 0 + } + + diff --git a/0075-base-module-setup.sh-use-force-for-ln.patch b/0075-base-module-setup.sh-use-force-for-ln.patch new file mode 100644 index 0000000..61c01f7 --- /dev/null +++ b/0075-base-module-setup.sh-use-force-for-ln.patch @@ -0,0 +1,43 @@ +From 9d6458faa41039b6e63cf08bc60fc4660563597d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:18:45 +0200 +Subject: [PATCH] base/module-setup.sh: use --force for ln + +--- + modules.d/99base/module-setup.sh | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index 96c18ab..75afa72 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -24,6 +24,7 @@ install() { + #add common users in /etc/passwd, it will be used by nfs/ssh currently + egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd" + egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd" ++ + # install our scripts and hooks + inst "$moddir/init.sh" "/init" + inst "$moddir/initqueue.sh" "/sbin/initqueue" +@@ -43,12 +44,12 @@ install() { + mkdir -p "${initdir}/var" + [ -x /lib/systemd/systemd-timestamp ] && inst /lib/systemd/systemd-timestamp + if [[ $realinitpath ]]; then +- for i in $realinitpath; do ++ for i in $realinitpath; do + echo "rd.distroinit=$i" + done > "${initdir}/etc/cmdline.d/distroinit.conf" + fi + +- ln -s /proc/self/mounts "$initdir/etc/mtab" ++ ln -fs /proc/self/mounts "$initdir/etc/mtab" + + if [ -e /etc/os-release ]; then + . /etc/os-release +@@ -74,5 +75,5 @@ install() { + echo ANSI_COLOR=\"$ANSI_COLOR\" + } > $initdir/etc/initrd-release + echo dracut-$DRACUT_VERSION > $initdir/lib/dracut/dracut-$DRACUT_VERSION +- ln -s initrd-release $initdir/etc/os-release ++ ln -sf initrd-release $initdir/etc/os-release + } diff --git a/0076-systemd-module-setup.sh-only-create-empty-machine-id.patch b/0076-systemd-module-setup.sh-only-create-empty-machine-id.patch new file mode 100644 index 0000000..b5e8fe7 --- /dev/null +++ b/0076-systemd-module-setup.sh-only-create-empty-machine-id.patch @@ -0,0 +1,25 @@ +From af83b70cf27150d981844f508b55d50dd0cbc6c1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:19:32 +0200 +Subject: [PATCH] systemd/module-setup.sh: only create empty machine-id if non + existing + +--- + modules.d/98systemd/module-setup.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index a6e2365..206f341 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -101,7 +101,9 @@ install() { + /etc/vconsole.conf \ + /etc/locale.conf + else +- > "$initdir/etc/machine-id" ++ if ! [[ -e "$initdir/etc/machine-id" ]]; then ++ > "$initdir/etc/machine-id" ++ fi + fi + + ln -fs $systemdutildir/systemd "$initdir/init" diff --git a/0077-systemd-module-setup.sh-ln-with-force.patch b/0077-systemd-module-setup.sh-ln-with-force.patch new file mode 100644 index 0000000..ae1edad --- /dev/null +++ b/0077-systemd-module-setup.sh-ln-with-force.patch @@ -0,0 +1,50 @@ +From 5e7bff1fee8f98a8444be56ca8b206ee32962a62 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:20:06 +0200 +Subject: [PATCH] systemd/module-setup.sh: ln with --force + +--- + modules.d/98systemd/module-setup.sh | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index 206f341..338f14d 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -116,30 +116,30 @@ install() { + + inst "$moddir/initrd-switch-root.target" ${systemdsystemunitdir}/initrd-switch-root.target + inst "$moddir/initrd-switch-root.service" ${systemdsystemunitdir}/initrd-switch-root.service +- ln -s basic.target "${initdir}${systemdsystemunitdir}/default.target" ++ ln -fs basic.target "${initdir}${systemdsystemunitdir}/default.target" + + mkdir -p "${initdir}${systemdsystemunitdir}/basic.target.wants" + + inst "$moddir/dracut-cmdline.sh" /bin/dracut-cmdline + inst "$moddir/dracut-cmdline.service" ${systemdsystemunitdir}/dracut-cmdline.service +- ln -s ../dracut-cmdline.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-cmdline.service" ++ ln -fs ../dracut-cmdline.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-cmdline.service" + + inst "$moddir/dracut-pre-udev.sh" /bin/dracut-pre-udev + inst "$moddir/dracut-pre-udev.service" ${systemdsystemunitdir}/dracut-pre-udev.service +- ln -s ../dracut-pre-udev.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-pre-udev.service" ++ ln -fs ../dracut-pre-udev.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-pre-udev.service" + + inst "$moddir/dracut-pre-trigger.sh" /bin/dracut-pre-trigger + inst "$moddir/dracut-pre-trigger.service" ${systemdsystemunitdir}/dracut-pre-trigger.service +- ln -s ../dracut-pre-trigger.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-pre-trigger.service" ++ ln -fs ../dracut-pre-trigger.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-pre-trigger.service" + + inst "$moddir/dracut-initqueue.sh" /bin/dracut-initqueue + inst "$moddir/dracut-initqueue.service" ${systemdsystemunitdir}/dracut-initqueue.service +- ln -s ../dracut-initqueue.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-initqueue.service" ++ ln -fs ../dracut-initqueue.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-initqueue.service" + + inst "$moddir/dracut-pre-pivot.sh" /bin/dracut-pre-pivot + inst "$moddir/dracut-pre-pivot.service" ${systemdsystemunitdir}/dracut-pre-pivot.service + mkdir -p "${initdir}${systemdsystemunitdir}/initrd-switch-root.target.wants" +- ln -s ../dracut-pre-pivot.service "${initdir}${systemdsystemunitdir}/initrd-switch-root.target.wants/dracut-pre-pivot.service" ++ ln -fs ../dracut-pre-pivot.service "${initdir}${systemdsystemunitdir}/initrd-switch-root.target.wants/dracut-pre-pivot.service" + + } + diff --git a/0078-i18n-module-setup.sh-install_all_kbd-speedup-install.patch b/0078-i18n-module-setup.sh-install_all_kbd-speedup-install.patch new file mode 100644 index 0000000..d806e51 --- /dev/null +++ b/0078-i18n-module-setup.sh-install_all_kbd-speedup-install.patch @@ -0,0 +1,26 @@ +From 0dd85327dfbb788a5b23820a7413c4e1e96deafe Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:21:11 +0200 +Subject: [PATCH] i18n/module-setup.sh:install_all_kbd(): speedup install + +--- + modules.d/10i18n/module-setup.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh +index d1854c2..7c8cd66 100755 +--- a/modules.d/10i18n/module-setup.sh ++++ b/modules.d/10i18n/module-setup.sh +@@ -92,9 +92,9 @@ install() { + install_all_kbd() { + local rel f + +- find $(eval echo ${kbddir}/{${KBDSUBDIRS}}) -type f -print | \ +- while read f; do +- inst_simple $f ++ for _src in $(eval echo ${kbddir}/{${KBDSUBDIRS}}); do ++ inst_dir "$_src" ++ cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_src%/*}" "$_src" + done + + # remove unnecessary files diff --git a/0079-bootchart-module-setup.sh-no-need-for-mknod-anymore.patch b/0079-bootchart-module-setup.sh-no-need-for-mknod-anymore.patch new file mode 100644 index 0000000..bc89103 --- /dev/null +++ b/0079-bootchart-module-setup.sh-no-need-for-mknod-anymore.patch @@ -0,0 +1,21 @@ +From 07a8e55f418f9362f074eb4de59070e297f54fd6 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:23:56 +0200 +Subject: [PATCH] bootchart/module-setup.sh: no need for mknod anymore + +--- + modules.d/00bootchart/module-setup.sh | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/modules.d/00bootchart/module-setup.sh b/modules.d/00bootchart/module-setup.sh +index 17dd137..a2a2c00 100755 +--- a/modules.d/00bootchart/module-setup.sh ++++ b/modules.d/00bootchart/module-setup.sh +@@ -25,7 +25,5 @@ install() { + inst /bin/grep + inst /bin/usleep + inst /usr/bin/[ /bin/[ +- +- mknod -m 0666 "${initdir}/dev/null" c 1 3 + } + diff --git a/0080-no-more-mknod-in-the-initramfs.patch b/0080-no-more-mknod-in-the-initramfs.patch new file mode 100644 index 0000000..6cccaaa --- /dev/null +++ b/0080-no-more-mknod-in-the-initramfs.patch @@ -0,0 +1,62 @@ +From 070433429368aa721af68a250279483dea0b19fd Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:27:40 +0200 +Subject: [PATCH] no more "mknod" in the initramfs!! + +--- + modules.d/50gensplash/gensplash-pretrigger.sh | 4 ---- + modules.d/50plymouth/plymouth-pretrigger.sh | 6 ------ + modules.d/99base/init.sh | 2 -- + 3 files changed, 12 deletions(-) + +diff --git a/modules.d/50gensplash/gensplash-pretrigger.sh b/modules.d/50gensplash/gensplash-pretrigger.sh +index 074aa78..b697438 100755 +--- a/modules.d/50gensplash/gensplash-pretrigger.sh ++++ b/modules.d/50gensplash/gensplash-pretrigger.sh +@@ -3,10 +3,6 @@ + # ex: ts=8 sw=4 sts=4 et filetype=sh + + if getargbool 1 rd.splash -n rd_NO_SPLASH; then +- [ -c /dev/null ] || mknod /dev/null c 1 3 +- [ -c /dev/console ] || mknod /dev/console c 5 1 +- [ -c /dev/tty0 ] || mknod /dev/tty0 c 4 0 +- + info "Starting Gentoo Splash" + + [ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/tty0 +diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh +index 483cc70..5cc9112 100755 +--- a/modules.d/50plymouth/plymouth-pretrigger.sh ++++ b/modules.d/50plymouth/plymouth-pretrigger.sh +@@ -4,18 +4,12 @@ + + if [ -x /bin/plymouthd ]; then + if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -n rd_NO_PLYMOUTH; then +- [ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3 + # first trigger graphics subsystem + udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1 + # first trigger graphics and tty subsystem + udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1 + + udevadm settle --timeout=30 2>&1 | vinfo +- [ -c /dev/zero ] || mknod -m 0666 /dev/zero c 1 5 +- [ -c /dev/tty0 ] || mknod -m 0620 /dev/tty0 c 4 0 +- [ -e /dev/systty ] || ln -s tty0 /dev/systty +- [ -c /dev/fb0 ] || mknod -m 0660 /dev/fb0 c 29 0 +- [ -e /dev/fb ] || ln -s fb0 /dev/fb + + info "Starting plymouth daemon" + mkdir -m 0755 /run/plymouth +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index 5c693e4..d395a99 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -22,8 +22,6 @@ RD_DEBUG="" + + trap "emergency_shell Signal caught!" 0 + +-[ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3 +- + # mount some important things + [ ! -d /proc/self ] && \ + mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null 2>&1 diff --git a/0081-udev-rules-module-setup.sh-ln-with-force.patch b/0081-udev-rules-module-setup.sh-ln-with-force.patch new file mode 100644 index 0000000..26bf557 --- /dev/null +++ b/0081-udev-rules-module-setup.sh-ln-with-force.patch @@ -0,0 +1,22 @@ +From 8148fd4a73345449828198396cb9d149f8f3dc6b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:28:23 +0200 +Subject: [PATCH] udev-rules/module-setup.sh: ln with --force + +--- + modules.d/95udev-rules/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh +index a48b0cb..f98de57 100755 +--- a/modules.d/95udev-rules/module-setup.sh ++++ b/modules.d/95udev-rules/module-setup.sh +@@ -15,7 +15,7 @@ install() { + inst "$_i" + + if ! [[ -f ${initdir}/lib/systemd/systemd-udevd ]]; then +- ln -s "$_i" ${initdir}/lib/systemd/systemd-udevd ++ ln -fs "$_i" ${initdir}/lib/systemd/systemd-udevd + fi + break + done diff --git a/0082-terminfo-module-setup.sh-speedup-install-of-all-term.patch b/0082-terminfo-module-setup.sh-speedup-install-of-all-term.patch new file mode 100644 index 0000000..b5444c7 --- /dev/null +++ b/0082-terminfo-module-setup.sh-speedup-install-of-all-term.patch @@ -0,0 +1,25 @@ +From cb8d852cdcfda3774a0c5aee15dd85511ab21fa1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:29:04 +0200 +Subject: [PATCH] terminfo/module-setup.sh: speedup install() of all terminfo + +--- + modules.d/95terminfo/module-setup.sh | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/modules.d/95terminfo/module-setup.sh b/modules.d/95terminfo/module-setup.sh +index 32a3fe9..e1914a5 100755 +--- a/modules.d/95terminfo/module-setup.sh ++++ b/modules.d/95terminfo/module-setup.sh +@@ -10,9 +10,7 @@ install() { + done + + if [ -d ${_terminfodir} ]; then +- for f in ${_terminfodir}/*/*; do +- inst_simple $f +- done ++ inst_dir "$_terminfodir" ++ cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_terminfodir%/*}" "$_terminfodir" + fi + } +- diff --git a/0083-network-module-setup.sh-fixed-installkernel-return-c.patch b/0083-network-module-setup.sh-fixed-installkernel-return-c.patch new file mode 100644 index 0000000..dc63c00 --- /dev/null +++ b/0083-network-module-setup.sh-fixed-installkernel-return-c.patch @@ -0,0 +1,45 @@ +From fe9bb86bb2d34cbcde7970a0b5a24fffa4e8404e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:24:28 +0200 +Subject: [PATCH] network/module-setup.sh: fixed installkernel() return code + +--- + modules.d/40network/module-setup.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index a8efbc5..6077f53 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -4,7 +4,6 @@ + + check() { + local _program +- . $dracutfunctions + + for _program in ip arping dhclient ; do + if ! type -P $_program >/dev/null; then +@@ -43,6 +42,7 @@ installkernel() { + && ! $_fcont =~ iw_handler_get_spy ]] \ + && echo "$_fname" + done ++ return 0 + } + function rotor() { + local _f1 _f2 +@@ -52,13 +52,13 @@ installkernel() { + echo "$_f2" 1>&${_side2} + fi + done | nmf1 1>&${_merge} ++ return 0 + } + # Use two parallel streams to filter alternating modules. + set +x + eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1" +- _ret=$? + [[ $debug ]] && set -x +- return $_ret ++ return 0 + } + + { find_kernel_modules_by_path drivers/net; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/net; fi; } \ diff --git a/0084-iscsi-module-setup.sh-speedup-installkernel.patch b/0084-iscsi-module-setup.sh-speedup-installkernel.patch new file mode 100644 index 0000000..0ada3af --- /dev/null +++ b/0084-iscsi-module-setup.sh-speedup-installkernel.patch @@ -0,0 +1,61 @@ +From 483e770b4302fc7e3384982657500221e0ec327d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:30:58 +0200 +Subject: [PATCH] iscsi/module-setup.sh: speedup installkernel() + +--- + modules.d/95iscsi/module-setup.sh | 40 ++++++++++++++++++++++++++++--------- + 1 file changed, 31 insertions(+), 9 deletions(-) + +diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh +index fefc240..5f935d7 100755 +--- a/modules.d/95iscsi/module-setup.sh ++++ b/modules.d/95iscsi/module-setup.sh +@@ -41,16 +41,38 @@ installkernel() { + + instmods iscsi_tcp iscsi_ibft crc32c bnx2i iscsi_boot_sysfs qla4xxx cxgb3i cxgb4i be2iscsi + iscsi_module_filter() { +- local _iscsifuncs='iscsi_register_transport' +- local _f +- while read _f; do case "$_f" in +- *.ko) [[ $(< $_f) =~ $_iscsifuncs ]] && echo "$_f" ;; +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;; +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;; +- esac +- done +- return 0; ++ local _funcs='iscsi_register_transport' ++ # subfunctions inherit following FDs ++ local _merge=8 _side2=9 ++ function bmf1() { ++ local _f ++ while read _f; do ++ case "$_f" in ++ *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ esac ++ done ++ return 0 ++ } ++ ++ function rotor() { ++ local _f1 _f2 ++ while read _f1; do ++ echo "$_f1" ++ if read _f2; then ++ echo "$_f2" 1>&${_side2} ++ fi ++ done | bmf1 1>&${_merge} ++ return 0 ++ } ++ # Use two parallel streams to filter alternating modules. ++ set +x ++ eval "( ( rotor ) ${_side2}>&1 | bmf1 ) ${_merge}>&1" ++ [[ $debug ]] && set -x ++ return 0 + } ++ + { 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 + } diff --git a/0085-plymouth-module-setup.sh-installkernel-fix-return-co.patch b/0085-plymouth-module-setup.sh-installkernel-fix-return-co.patch new file mode 100644 index 0000000..fc79835 --- /dev/null +++ b/0085-plymouth-module-setup.sh-installkernel-fix-return-co.patch @@ -0,0 +1,24 @@ +From efeea5257568523d45b0f873579c4d16f7631c9a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:31:26 +0200 +Subject: [PATCH] plymouth/module-setup.sh:installkernel() fix return code + +--- + modules.d/50plymouth/module-setup.sh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh +index 69f1bc7..616d9b2 100755 +--- a/modules.d/50plymouth/module-setup.sh ++++ b/modules.d/50plymouth/module-setup.sh +@@ -45,9 +45,8 @@ installkernel() { + # Use two parallel streams to filter alternating modules. + set +x + eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1" +- _ret=$? + [[ $debug ]] && set -x +- return $_ret ++ return 0 + } + + for _modname in $(find_kernel_modules_by_path drivers/gpu/drm \ diff --git a/0086-kernel-modules-module-setup.sh-installkernel-fix-ret.patch b/0086-kernel-modules-module-setup.sh-installkernel-fix-ret.patch new file mode 100644 index 0000000..7960081 --- /dev/null +++ b/0086-kernel-modules-module-setup.sh-installkernel-fix-ret.patch @@ -0,0 +1,38 @@ +From 0663a883d77149b505cb08671d2ebd054eb5bc28 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:32:15 +0200 +Subject: [PATCH] kernel-modules/module-setup.sh:installkernel() fix return + code + +--- + modules.d/90kernel-modules/module-setup.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 1d39c85..08f745a 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -16,6 +16,7 @@ installkernel() { + *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;; + esac + done ++ return 0 + } + function rotor() { + local _f1 _f2 +@@ -25,12 +26,15 @@ installkernel() { + echo "$_f2" 1>&${_side2} + fi + done | bmf1 1>&${_merge} ++ return 0 + } + # Use two parallel streams to filter alternating modules. + set +x + eval "( ( rotor ) ${_side2}>&1 | bmf1 ) ${_merge}>&1" + [[ $debug ]] && set -x ++ return 0 + } ++ + hostonly='' instmods sr_mod sd_mod scsi_dh scsi_dh_rdac scsi_dh_emc ata_piix + hostonly='' instmods pcmcia firewire-ohci + hostonly='' instmods usb_storage sdhci sdhci-pci diff --git a/0087-multipath-module-setup.sh-installkernel-fix-return-c.patch b/0087-multipath-module-setup.sh-installkernel-fix-return-c.patch new file mode 100644 index 0000000..14ab9e3 --- /dev/null +++ b/0087-multipath-module-setup.sh-installkernel-fix-return-c.patch @@ -0,0 +1,68 @@ +From 7997d8764313d5dc10689e3b6bbdde3dcc373498 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:33:15 +0200 +Subject: [PATCH] multipath/module-setup.sh:installkernel() fix return code + +--- + modules.d/90multipath/module-setup.sh | 43 ++++++++++++++++++++++++--------- + 1 file changed, 31 insertions(+), 12 deletions(-) + +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index 0e8857c..8791560 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -32,23 +32,42 @@ depends() { + + installkernel() { + local _ret +- set +x ++ local _arch=$(uname -m) + mp_mod_filter() { +- local _mpfuncs='scsi_register_device_handler|dm_dirty_log_type_register|dm_register_path_selector|dm_register_target' +- local _f +- while read _f; do case "$_f" in +- *.ko) [[ $(< $_f) =~ $_mpfuncs ]] && echo "$_f" ;; +- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_mpfuncs ]] && echo "$_f" ;; +- *.ko.xz) [[ $(xz -dc <$_f) =~ $_mpfuncs ]] && echo "$_f" ;; +- esac +- done ++ local _funcs='scsi_register_device_handler|dm_dirty_log_type_register|dm_register_path_selector|dm_register_target' ++ # subfunctions inherit following FDs ++ local _merge=8 _side2=9 ++ function bmf1() { ++ local _f ++ while read _f; do ++ case "$_f" in ++ *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; ++ esac ++ done ++ return 0 ++ } ++ ++ function rotor() { ++ local _f1 _f2 ++ while read _f1; do ++ echo "$_f1" ++ if read _f2; then ++ echo "$_f2" 1>&${_side2} ++ fi ++ done | bmf1 1>&${_merge} ++ return 0 ++ } ++ # Use two parallel streams to filter alternating modules. ++ set +x ++ eval "( ( rotor ) ${_side2}>&1 | bmf1 ) ${_merge}>&1" ++ [[ $debug ]] && set -x ++ return 0 + } + + ( find_kernel_modules_by_path drivers/scsi; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/scsi; fi; + find_kernel_modules_by_path drivers/md ) | mp_mod_filter | instmods +- _ret=$? +- [[ $debug ]] && set -x +- return $_ret + } + + install() { diff --git a/0088-modules.d-module-setup.sh-no-more-sourcing-of-dracut.patch b/0088-modules.d-module-setup.sh-no-more-sourcing-of-dracut.patch new file mode 100644 index 0000000..c5ce4ad --- /dev/null +++ b/0088-modules.d-module-setup.sh-no-more-sourcing-of-dracut.patch @@ -0,0 +1,127 @@ +From 6a767ee403095cdeb67b7cb5f69e8586ad19650a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:33:42 +0200 +Subject: [PATCH] modules.d/*/module-setup.sh: no more sourcing of + dracutfunctions + +--- + modules.d/90btrfs/module-setup.sh | 3 --- + modules.d/90crypt/module-setup.sh | 2 -- + modules.d/90dmraid/module-setup.sh | 3 --- + modules.d/90lvm/module-setup.sh | 3 --- + modules.d/90mdraid/module-setup.sh | 3 --- + modules.d/90multipath/module-setup.sh | 3 --- + modules.d/95iscsi/module-setup.sh | 4 ---- + modules.d/95nbd/module-setup.sh | 1 - + 8 files changed, 22 deletions(-) + +diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh +index 135abc6..7d8fae0 100755 +--- a/modules.d/90btrfs/module-setup.sh ++++ b/modules.d/90btrfs/module-setup.sh +@@ -8,9 +8,6 @@ check() { + # no point in trying to support it in the initramfs. + type -P btrfs >/dev/null || return 1 + +- . $dracutfunctions +- [[ $debug ]] && set -x +- + [[ $hostonly ]] || [[ $mount_needs ]] && { + local _found + for fs in ${host_fs_types[@]}; do +diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh +index 5082434..16d6f89 100755 +--- a/modules.d/90crypt/module-setup.sh ++++ b/modules.d/90crypt/module-setup.sh +@@ -7,8 +7,6 @@ check() { + # if cryptsetup is not installed, then we cannot support encrypted devices. + type -P cryptsetup >/dev/null || return 1 + +- . $dracutfunctions +- + check_crypt() { + local dev=$1 fs=$2 + [[ $fs = "crypto_LUKS" ]] || return 1 +diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh +index 5ce7051..dad54a4 100755 +--- a/modules.d/90dmraid/module-setup.sh ++++ b/modules.d/90dmraid/module-setup.sh +@@ -8,9 +8,6 @@ check() { + # in trying to support it in the initramfs. + type -P dmraid >/dev/null || return 1 + +- . $dracutfunctions +- [[ $debug ]] && set -x +- + check_dmraid() { + local dev=$1 fs=$2 holder DEVPATH DM_NAME + [[ "$fs" = "${fs%%_raid_member}" ]] && return 1 +diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh +index 2ce5c50..5182b79 100755 +--- a/modules.d/90lvm/module-setup.sh ++++ b/modules.d/90lvm/module-setup.sh +@@ -7,9 +7,6 @@ check() { + # No point trying to support lvm if the binaries are missing + type -P lvm >/dev/null || return 1 + +- . $dracutfunctions +- [[ $debug ]] && set -x +- + check_lvm() { + local DM_VG_NAME DM_LV_NAME DM_UDEV_DISABLE_DISK_RULES_FLAG + eval $(udevadm info --query=property --name=$1|egrep '(DM_VG_NAME|DM_LV_NAME|DM_UDEV_DISABLE_DISK_RULES_FLAG)=') +diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh +index 350aff8..56f881e 100755 +--- a/modules.d/90mdraid/module-setup.sh ++++ b/modules.d/90mdraid/module-setup.sh +@@ -7,9 +7,6 @@ check() { + # No mdadm? No mdraid support. + type -P mdadm >/dev/null || return 1 + +- . $dracutfunctions +- [[ $debug ]] && set -x +- + check_mdraid() { + local dev=$1 fs=$2 holder DEVPATH MD_UUID + [[ "$fs" = "${fs%%_raid_member}" ]] && return 1 +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index 8791560..bfa4bf8 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -7,9 +7,6 @@ check() { + # if there's no multipath binary, no go. + type -P multipath >/dev/null || return 1 + +- . $dracutfunctions +- [[ $debug ]] && set -x +- + is_mpath() { + local _dev + _dev=$(get_maj_min $1) +diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh +index 5f935d7..1787f92 100755 +--- a/modules.d/95iscsi/module-setup.sh ++++ b/modules.d/95iscsi/module-setup.sh +@@ -10,10 +10,6 @@ check() { + # If hostonly was requested, fail the check if we are not actually + # booting from root. + +- . $dracutfunctions +- +- [[ $debug ]] && set -x +- + is_iscsi() ( + local _dev + _dev=$(get_maj_min $1) +diff --git a/modules.d/95nbd/module-setup.sh b/modules.d/95nbd/module-setup.sh +index c0f71cc..092aade 100755 +--- a/modules.d/95nbd/module-setup.sh ++++ b/modules.d/95nbd/module-setup.sh +@@ -11,7 +11,6 @@ check() { + # mounted on, fail the hostonly check. + [[ $hostonly ]] || [[ $mount_needs ]] && { + is_nbd() { [[ -b /dev/block/$1 && $1 == 43:* ]] ;} +- . $dracutfunctions + + _rootdev=$(find_root_block_device) + [[ -b /dev/block/$_rootdev ]] || return 1 diff --git a/0089-dracut-logger.sh-use-for-numeric-comparisons.patch b/0089-dracut-logger.sh-use-for-numeric-comparisons.patch new file mode 100644 index 0000000..cae8171 --- /dev/null +++ b/0089-dracut-logger.sh-use-for-numeric-comparisons.patch @@ -0,0 +1,80 @@ +From 6f006ae0c1efbbb90d00cbb340001e74d8d12db1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:34:24 +0200 +Subject: [PATCH] dracut-logger.sh: use (( )) for numeric comparisons + +--- + dracut-logger.sh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/dracut-logger.sh b/dracut-logger.sh +index f1b3a7e..a78e18e 100755 +--- a/dracut-logger.sh ++++ b/dracut-logger.sh +@@ -116,7 +116,7 @@ dlog_init() { + + if [ -z "$fileloglvl" ]; then + [ -w "$logfile" ] && fileloglvl=4 || fileloglvl=0 +- elif [ $fileloglvl -gt 0 ]; then ++ elif (( $fileloglvl >= 0 )); then + __oldumask=$(umask) + umask 0377 + ! [ -e "$logfile" ] && >"$logfile" +@@ -138,7 +138,7 @@ dlog_init() { + fi + fi + +- if [ $sysloglvl -gt 0 ]; then ++ if (( $sysloglvl >= 0 )); then + if ! [ -S /dev/log -a -w /dev/log ] || ! command -v logger >/dev/null + then + # We cannot log to syslog, so turn this facility off. +@@ -148,7 +148,7 @@ dlog_init() { + fi + fi + +- if [ $sysloglvl -gt 0 -o $kmsgloglvl -gt 0 ]; then ++ if (($sysloglvl >= 0)) || (($kmsgloglvl >= 0 )); then + if [ -n "$dracutbasedir" ]; then + readonly syslogfacility=user + else +@@ -159,7 +159,7 @@ dlog_init() { + + local lvl; local maxloglvl_l=0 + for lvl in $stdloglvl $sysloglvl $fileloglvl $kmsgloglvl; do +- [ $lvl -gt $maxloglvl_l ] && maxloglvl_l=$lvl ++ (( $lvl > $maxloglvl_l )) && maxloglvl_l=$lvl + done + readonly maxloglvl=$maxloglvl_l + export maxloglvl +@@ -275,14 +275,14 @@ _do_dlog() { + local lvlc=$(_lvl2char "$lvl") || return 0 + local msg="$lvlc: $*" + +- [ $lvl -le $stdloglvl ] && echo "$msg" >&2 +- if [ $lvl -le $sysloglvl ]; then ++ (( $lvl <= $stdloglvl )) && echo "$msg" >&2 ++ if (( $lvl <= $sysloglvl )); then + logger -t "dracut[$$]" -p $(_lvl2syspri $lvl) "$msg" + fi +- if [ $lvl -le $fileloglvl -a -w "$logfile" -a -f "$logfile" ]; then ++ if (( $lvl <= $fileloglvl )) && [[ -w "$logfile" ]] && [[ -f "$logfile" ]]; then + echo "$msg" >>"$logfile" + fi +- [ $lvl -le $kmsgloglvl ] && \ ++ (( $lvl <= $kmsgloglvl )) && \ + echo "<$(_dlvl2syslvl $lvl)>dracut[$$] $msg" >/dev/kmsg + } + +@@ -304,9 +304,9 @@ _do_dlog() { + # echo "This is a warning" | dwarn + dlog() { + [ -z "$maxloglvl" ] && return 0 +- [ $1 -le $maxloglvl ] || return 0 ++ (( $1 <= $maxloglvl )) || return 0 + +- if [ $# -gt 1 ]; then ++ if (( $# > 1 )); then + _do_dlog "$@" + else + while read line; do diff --git a/0090-dracut-logger.sh-empty-functions-for-log-funcs-which.patch b/0090-dracut-logger.sh-empty-functions-for-log-funcs-which.patch new file mode 100644 index 0000000..89a74a6 --- /dev/null +++ b/0090-dracut-logger.sh-empty-functions-for-log-funcs-which.patch @@ -0,0 +1,54 @@ +From a790a8b395b3baddddd099769f3f29c72b29799b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:35:09 +0200 +Subject: [PATCH] dracut-logger.sh: empty functions for log funcs, which are + below level + +--- + dracut-logger.sh | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/dracut-logger.sh b/dracut-logger.sh +index a78e18e..dbe26ee 100755 +--- a/dracut-logger.sh ++++ b/dracut-logger.sh +@@ -164,6 +164,39 @@ dlog_init() { + readonly maxloglvl=$maxloglvl_l + export maxloglvl + ++ ++ if (($stdloglvl < 6)) && (($kmsgloglvl < 6)) && (($fileloglvl < 6)); then ++ unset dtrace ++ dtrace() { :; }; ++ fi ++ ++ if (($stdloglvl < 5)) && (($kmsgloglvl < 5)) && (($fileloglvl < 5)); then ++ unset ddebug ++ ddebug() { :; }; ++ fi ++ ++ if (($stdloglvl < 4)) && (($kmsgloglvl < 4)) && (($fileloglvl < 4)); then ++ unset dinfo ++ dinfo() { :; }; ++ fi ++ ++ if (($stdloglvl < 3)) && (($kmsgloglvl < 3)) && (($fileloglvl < 3)); then ++ unset dwarn ++ dwarn() { :; }; ++ unset dwarning ++ dwarning() { :; }; ++ fi ++ ++ if (($stdloglvl < 2)) && (($kmsgloglvl < 2)) && (($fileloglvl < 2)); then ++ unset derror ++ derror() { :; }; ++ fi ++ ++ if (($stdloglvl < 1)) && (($kmsgloglvl < 1)) && (($fileloglvl < 1)); then ++ unset dfatal ++ dfatal() { :; }; ++ fi ++ + [ -n "$errmsg" ] && derror "$errmsg" + + return $ret diff --git a/0091-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch b/0091-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch new file mode 100644 index 0000000..724fb2a --- /dev/null +++ b/0091-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch @@ -0,0 +1,27 @@ +From fabe8a8c29ff657e29f3c33bf6c564cfd0ee613f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 22 Jun 2012 15:49:25 +0200 +Subject: [PATCH] dracut.sh: do not copy devices nodes, mknod them + +--- + dracut.sh | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/dracut.sh b/dracut.sh +index cc3669a..0fb0a18 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -714,10 +714,9 @@ if [[ $kernel_only != yes ]]; then + mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d + done + if [[ "$UID" = "0" ]]; then +- for i in /dev/kmsg /dev/null /dev/console; do +- [ -e $i ] || continue +- cp -a $i $initdir/dev +- done ++ [ -c ${initdir}/dev/null ] || mknod ${initdir}/dev/null c 1 3 ++ [ -c ${initdir}/dev/kmsg ] || mknod ${initdir}/dev/kmsg c 1 11 ++ [ -c ${initdir}/dev/console ] || mknod ${initdir}/dev/console c 5 1 + fi + fi + diff --git a/dracut.spec b/dracut.spec index fec0b4b..5f40dbb 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 019 -Release: 62.git20120621%{?dist} +Release: 92.git20120625%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -85,6 +85,36 @@ Patch58: 0058-systemd-remove-unneeded-systemd-services.patch Patch59: 0059-fixed-i18n-for-systemd-and-include-more-config-files.patch Patch60: 0060-systemd-remove-old-udev-services.patch Patch61: 0061-systemd-dracut-pre-pivot.sh-copy-service-files-to-ru.patch +Patch62: 0062-network-support-vlan-tagged-bonding.patch +Patch63: 0063-systemd-emergency.service-remove-Type-idle.patch +Patch64: 0064-systemd-add-ConditionPathExists-etc-initrd-release-t.patch +Patch65: 0065-dracut-functions.sh-replace-strstr.patch +Patch66: 0066-dracut-functions.sh-mksubdirs-check-for-dir-existenc.patch +Patch67: 0067-dracut-functions.sh-cp-with-reflink-auto-and-sparse-.patch +Patch68: 0068-Add-qemu-kernel-modules-if-we-detect-a-qemu-instance.patch +Patch69: 0069-dracut-functions.sh-inst_simple-do-inst_symlink-for-.patch +Patch70: 0070-dracut-functions.sh-inst_decompress-simplify-functio.patch +Patch71: 0071-dracut-functions.sh-find_kernel_modules_by_path-use-.patch +Patch72: 0072-dracut.sh-speedup-strip.patch +Patch73: 0073-profile.py-do-not-count-negative-timestamp-differenc.patch +Patch74: 0074-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch +Patch75: 0075-base-module-setup.sh-use-force-for-ln.patch +Patch76: 0076-systemd-module-setup.sh-only-create-empty-machine-id.patch +Patch77: 0077-systemd-module-setup.sh-ln-with-force.patch +Patch78: 0078-i18n-module-setup.sh-install_all_kbd-speedup-install.patch +Patch79: 0079-bootchart-module-setup.sh-no-need-for-mknod-anymore.patch +Patch80: 0080-no-more-mknod-in-the-initramfs.patch +Patch81: 0081-udev-rules-module-setup.sh-ln-with-force.patch +Patch82: 0082-terminfo-module-setup.sh-speedup-install-of-all-term.patch +Patch83: 0083-network-module-setup.sh-fixed-installkernel-return-c.patch +Patch84: 0084-iscsi-module-setup.sh-speedup-installkernel.patch +Patch85: 0085-plymouth-module-setup.sh-installkernel-fix-return-co.patch +Patch86: 0086-kernel-modules-module-setup.sh-installkernel-fix-ret.patch +Patch87: 0087-multipath-module-setup.sh-installkernel-fix-return-c.patch +Patch88: 0088-modules.d-module-setup.sh-no-more-sourcing-of-dracut.patch +Patch89: 0089-dracut-logger.sh-use-for-numeric-comparisons.patch +Patch90: 0090-dracut-logger.sh-empty-functions-for-log-funcs-which.patch +Patch91: 0091-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch BuildArch: noarch @@ -333,6 +363,7 @@ rm -rf $RPM_BUILD_ROOT %{dracutlibdir}/modules.d/90lvm %{dracutlibdir}/modules.d/90mdraid %{dracutlibdir}/modules.d/90multipath +%{dracutlibdir}/modules.d/90qemu %{dracutlibdir}/modules.d/91crypt-gpg %{dracutlibdir}/modules.d/95debug %{dracutlibdir}/modules.d/95resume @@ -375,6 +406,7 @@ rm -rf $RPM_BUILD_ROOT %{dracutlibdir}/modules.d/95fcoe %{dracutlibdir}/modules.d/95iscsi %{dracutlibdir}/modules.d/90livenet +%{dracutlibdir}/modules.d/90qemu-net %{dracutlibdir}/modules.d/95nbd %{dracutlibdir}/modules.d/95nfs %{dracutlibdir}/modules.d/95ssh-client @@ -406,6 +438,16 @@ rm -rf $RPM_BUILD_ROOT %dir /var/lib/dracut/overlay %changelog +* Mon Jun 25 2012 Harald Hoyer 019-92.git20120625 +- support vlan tagged binding +- speedup initramfs emergency service +- speedup image creation +- fix installkernel() return codes +Resolves: rhbz#833256 +- add qemu and qemu-net modules to add qemu drivers even in host-only +- speedup btrfs and xfs fsck (nop) +- no more mknod in the initramfs (fixes plymouth on s390) + * Thu Jun 21 2012 Harald Hoyer 019-62.git20120621 - do not require pkg-config for systemd - i18n fixes