diff --git a/.gitignore b/.gitignore index 4372dee..5f70d06 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /dracut-051.tar.xz /dracut-053.tar.xz /dracut-054.tar.xz +/dracut-055.tar.xz diff --git a/0001.patch b/0001.patch deleted file mode 100644 index 76c6824..0000000 --- a/0001.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f634448b293ed232009b25c824f6dcd66961426f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Fri, 14 May 2021 13:46:23 +0000 -Subject: [PATCH] fix(packit): downstream has renamed the master branch to main - ---- - .packit.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/.packit.yml b/.packit.yml -index 8a995efe..482b4c4d 100644 ---- a/.packit.yml -+++ b/.packit.yml -@@ -33,7 +33,7 @@ jobs: - - job: propose_downstream - trigger: release - metadata: -- dist_git_branches: master -+ dist_git_branches: main - - - job: tests - trigger: pull_request - diff --git a/0002.patch b/0002.patch deleted file mode 100644 index 859cc2b..0000000 --- a/0002.patch +++ /dev/null @@ -1,24 +0,0 @@ -From b9b6f0ee5b859a562e46a8c4e0dee0261fabf74d Mon Sep 17 00:00:00 2001 -From: Lars Wendler -Date: Fri, 14 May 2021 16:00:27 +0200 -Subject: [PATCH] fix(dracut-util): print error message with trailing newline - -Signed-off-by: Lars Wendler ---- - src/util/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/util/util.c b/src/util/util.c -index 8ae06d6c..b3498df6 100644 ---- a/src/util/util.c -+++ b/src/util/util.c -@@ -123,7 +123,7 @@ static void usage(enum EXEC_MODE enumExecMode, int ret, char *msg) - { - switch (enumExecMode) { - case UNDEFINED: -- fprintf(stderr, "ERROR: 'dracut-util' has to be called via a symlink to the tool name."); -+ fprintf(stderr, "ERROR: 'dracut-util' has to be called via a symlink to the tool name.\n"); - break; - case GETARG: - fprintf(stderr, "ERROR: %s\nUsage: dracut-getarg [=[]]\n", msg); - diff --git a/0003.patch b/0003.patch deleted file mode 100644 index 9914b10..0000000 --- a/0003.patch +++ /dev/null @@ -1,555 +0,0 @@ -From c08bc8109d4c43beacfa4bcdc20a356102da6d02 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 17 May 2021 11:00:22 +0200 -Subject: [PATCH] fix(base): split out `dracut-dev-lib.sh` - -To share the `wait_for_dev` function and use it without side effects on -install time, split out the needed functions in an extra library. ---- - modules.d/99base/dracut-dev-lib.sh | 119 +++++++++++++++++++++++++++++++++++++ - modules.d/99base/dracut-lib.sh | 115 +---------------------------------- - modules.d/99base/module-setup.sh | 9 ++- - test/TEST-01-BASIC/test.sh | 1 + - test/TEST-02-SYSTEMD/test.sh | 1 + - test/TEST-03-USR-MOUNT/test.sh | 1 + - test/TEST-04-FULL-SYSTEMD/test.sh | 1 + - test/TEST-10-RAID/test.sh | 1 + - test/TEST-11-LVM/test.sh | 1 + - test/TEST-12-RAID-DEG/test.sh | 1 + - test/TEST-13-ENC-RAID-LVM/test.sh | 1 + - test/TEST-14-IMSM/test.sh | 1 + - test/TEST-15-BTRFSRAID/test.sh | 1 + - test/TEST-16-DMSQUASH/test.sh | 1 + - test/TEST-17-LVM-THIN/test.sh | 1 + - test/TEST-20-NFS/test.sh | 1 + - test/TEST-30-ISCSI/test.sh | 1 + - test/TEST-35-ISCSI-MULTI/test.sh | 1 + - test/TEST-40-NBD/test.sh | 2 + - test/TEST-50-MULTINIC/test.sh | 1 + - test/TEST-98-GETARG/test.sh | 2 + - 21 files changed, 145 insertions(+), 118 deletions(-) - -diff --git a/modules.d/99base/dracut-dev-lib.sh b/modules.d/99base/dracut-dev-lib.sh -new file mode 100755 -index 00000000..5083f4f2 ---- /dev/null -+++ b/modules.d/99base/dracut-dev-lib.sh -@@ -0,0 +1,119 @@ -+#!/bin/sh -+ -+# get a systemd-compatible unit name from a path -+# (mimicks unit_name_from_path_instance()) -+dev_unit_name() { -+ local dev="$1" -+ -+ if command -v systemd-escape > /dev/null; then -+ systemd-escape -p -- "$dev" -+ return $? -+ fi -+ -+ if [ "$dev" = "/" -o -z "$dev" ]; then -+ printf -- "-" -+ return 0 -+ fi -+ -+ dev="${1%%/}" -+ dev="${dev##/}" -+ # shellcheck disable=SC1003 -+ dev="$(str_replace "$dev" '\' '\x5c')" -+ dev="$(str_replace "$dev" '-' '\x2d')" -+ if [ "${dev##.}" != "$dev" ]; then -+ dev="\x2e${dev##.}" -+ fi -+ dev="$(str_replace "$dev" '/' '-')" -+ -+ printf -- "%s" "$dev" -+} -+ -+# set_systemd_timeout_for_dev [-n] [] -+# Set 'rd.timeout' as the systemd timeout for -+set_systemd_timeout_for_dev() { -+ local _name -+ local _needreload -+ local _noreload -+ local _timeout -+ -+ [ -z "$DRACUT_SYSTEMD" ] && return 0 -+ -+ if [ "$1" = "-n" ]; then -+ _noreload=1 -+ shift -+ fi -+ -+ if [ -n "$2" ]; then -+ _timeout="$2" -+ else -+ _timeout=$(getarg rd.timeout) -+ fi -+ -+ _timeout=${_timeout:-0} -+ -+ _name=$(dev_unit_name "$1") -+ if ! [ -L "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" ]; then -+ [ -d "${PREFIX}"/etc/systemd/system/initrd.target.wants ] || mkdir -p "${PREFIX}"/etc/systemd/system/initrd.target.wants -+ ln -s ../"${_name}".device "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" -+ type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/initrd.target.wants/"${_name}".device -+ _needreload=1 -+ fi -+ -+ if ! [ -f "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" ]; then -+ mkdir -p "${PREFIX}/etc/systemd/system/${_name}.device.d" -+ { -+ echo "[Unit]" -+ echo "JobTimeoutSec=$_timeout" -+ echo "JobRunningTimeoutSec=$_timeout" -+ } > "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" -+ type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/"${_name}".device.d/timeout.conf -+ _needreload=1 -+ fi -+ -+ if [ -z "$PREFIX" ] && [ "$_needreload" = 1 ] && [ -z "$_noreload" ]; then -+ /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload -+ fi -+} -+ -+# wait_for_dev [] -+# -+# Installs a initqueue-finished script, -+# which will cause the main loop only to exit, -+# if the device is recognized by the system. -+wait_for_dev() { -+ local _name -+ local _noreload -+ -+ if [ "$1" = "-n" ]; then -+ _noreload=-n -+ shift -+ fi -+ -+ _name="$(str_replace "$1" '/' '\x2f')" -+ -+ type mark_hostonly > /dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh" -+ -+ [ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0 -+ -+ printf '[ -e "%s" ]\n' "$1" \ -+ >> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" -+ { -+ printf '[ -e "%s" ] || ' "$1" -+ printf 'warn "\"%s\" does not exist"\n' "$1" -+ } >> "${PREFIX}$hookdir/emergency/80-${_name}.sh" -+ -+ set_systemd_timeout_for_dev $_noreload "$@" -+} -+ -+cancel_wait_for_dev() { -+ local _name -+ _name="$(str_replace "$1" '/' '\x2f')" -+ rm -f -- "$hookdir/initqueue/finished/devexists-${_name}.sh" -+ rm -f -- "$hookdir/emergency/80-${_name}.sh" -+ if [ -n "$DRACUT_SYSTEMD" ]; then -+ _name=$(dev_unit_name "$1") -+ rm -f -- "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" -+ rm -f -- "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" -+ /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload -+ fi -+} -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index c35658fa..dc94e93f 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -1,5 +1,7 @@ - #!/bin/sh - -+type wait_for_dev > /dev/null 2>&1 || . /lib/dracut-dev-lib.sh -+ - export DRACUT_SYSTEMD - export NEWROOT - if [ -n "$NEWROOT" ]; then -@@ -838,119 +840,6 @@ wait_for_mount() { - } >> "$hookdir/emergency/90-${_name}.sh" - } - --# get a systemd-compatible unit name from a path --# (mimicks unit_name_from_path_instance()) --dev_unit_name() { -- local dev="$1" -- -- if command -v systemd-escape > /dev/null; then -- systemd-escape -p -- "$dev" -- return -- fi -- -- if [ "$dev" = "/" -o -z "$dev" ]; then -- printf -- "-" -- exit 0 -- fi -- -- dev="${1%%/}" -- dev="${dev##/}" -- # shellcheck disable=SC1003 -- dev="$(str_replace "$dev" '\' '\x5c')" -- dev="$(str_replace "$dev" '-' '\x2d')" -- if [ "${dev##.}" != "$dev" ]; then -- dev="\x2e${dev##.}" -- fi -- dev="$(str_replace "$dev" '/' '-')" -- -- printf -- "%s" "$dev" --} -- --# set_systemd_timeout_for_dev --# Set 'rd.timeout' as the systemd timeout for -- --set_systemd_timeout_for_dev() { -- local _name -- local _needreload -- local _noreload -- local _timeout -- -- if [ "$1" = "-n" ]; then -- _noreload=1 -- shift -- fi -- -- _timeout=$(getarg rd.timeout) -- _timeout=${_timeout:-0} -- -- if [ -n "$DRACUT_SYSTEMD" ]; then -- _name=$(dev_unit_name "$1") -- if ! [ -L "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" ]; then -- [ -d "${PREFIX}"/etc/systemd/system/initrd.target.wants ] || mkdir -p "${PREFIX}"/etc/systemd/system/initrd.target.wants -- ln -s ../"${_name}".device "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" -- type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/initrd.target.wants/"${_name}".device -- _needreload=1 -- fi -- -- if ! [ -f "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" ]; then -- mkdir -p "${PREFIX}/etc/systemd/system/${_name}.device.d" -- { -- echo "[Unit]" -- echo "JobTimeoutSec=$_timeout" -- echo "JobRunningTimeoutSec=$_timeout" -- } > "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" -- type mark_hostonly > /dev/null 2>&1 && mark_hostonly /etc/systemd/system/"${_name}".device.d/timeout.conf -- _needreload=1 -- fi -- -- if [ -z "$PREFIX" ] && [ "$_needreload" = 1 ] && [ -z "$_noreload" ]; then -- /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload -- fi -- fi --} --# wait_for_dev --# --# Installs a initqueue-finished script, --# which will cause the main loop only to exit, --# if the device is recognized by the system. --wait_for_dev() { -- local _name -- local _noreload -- -- if [ "$1" = "-n" ]; then -- _noreload=-n -- shift -- fi -- -- _name="$(str_replace "$1" '/' '\x2f')" -- -- type mark_hostonly > /dev/null 2>&1 && mark_hostonly "$hookdir/initqueue/finished/devexists-${_name}.sh" -- -- [ -e "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" ] && return 0 -- -- printf '[ -e "%s" ]\n' "$1" \ -- >> "${PREFIX}$hookdir/initqueue/finished/devexists-${_name}.sh" -- { -- printf '[ -e "%s" ] || ' "$1" -- printf 'warn "\"%s\" does not exist"\n' "$1" -- } >> "${PREFIX}$hookdir/emergency/80-${_name}.sh" -- -- set_systemd_timeout_for_dev $_noreload "$1" --} -- --cancel_wait_for_dev() { -- local _name -- _name="$(str_replace "$1" '/' '\x2f')" -- rm -f -- "$hookdir/initqueue/finished/devexists-${_name}.sh" -- rm -f -- "$hookdir/emergency/80-${_name}.sh" -- if [ -n "$DRACUT_SYSTEMD" ]; then -- _name=$(dev_unit_name "$1") -- rm -f -- "${PREFIX}/etc/systemd/system/initrd.target.wants/${_name}.device" -- rm -f -- "${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf" -- /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload -- fi --} -- - killproc() { - debug_off - local _exe -diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh -index a52c643e..7eb0a277 100755 ---- a/modules.d/99base/module-setup.sh -+++ b/modules.d/99base/module-setup.sh -@@ -50,6 +50,7 @@ install() { - mkdir -p "${initdir}"/tmp - - inst_simple "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "$moddir/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - mkdir -p "${initdir}"/var - - if ! dracut_module_included "systemd"; then -@@ -117,10 +118,8 @@ install() { - fi - export PREFIX="$initdir" - -- # suppress getarg for `rd.memdebug` -- export DEBUG_MEM_LEVEL=0 -- # shellcheck source=dracut-lib.sh -- . "$moddir/dracut-lib.sh" -+ # shellcheck source=dracut-dev-lib.sh -+ . "$moddir/dracut-dev-lib.sh" - - for _dev in "${host_devs[@]}"; do - for _dev2 in "${root_devs[@]}"; do -@@ -137,7 +136,7 @@ install() { - _pdev=$(get_persistent_dev "$_dev") - - case "$_pdev" in -- /dev/?*) wait_for_dev "$_pdev" ;; -+ /dev/?*) wait_for_dev "$_pdev" 0 ;; - *) ;; - esac - done -diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh -index 7ac2a8b9..012f2e5a 100755 ---- a/test/TEST-01-BASIC/test.sh -+++ b/test/TEST-01-BASIC/test.sh -@@ -49,6 +49,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh -index a8185b09..8b6b5930 100755 ---- a/test/TEST-02-SYSTEMD/test.sh -+++ b/test/TEST-02-SYSTEMD/test.sh -@@ -48,6 +48,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh -index 13361173..3bb7fab7 100755 ---- a/test/TEST-03-USR-MOUNT/test.sh -+++ b/test/TEST-03-USR-MOUNT/test.sh -@@ -69,6 +69,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh -index 9b8fab24..38cb1464 100755 ---- a/test/TEST-04-FULL-SYSTEMD/test.sh -+++ b/test/TEST-04-FULL-SYSTEMD/test.sh -@@ -93,6 +93,7 @@ test_setup() { - inst_multiple -o {,/usr}/lib/systemd/system/"dracut*" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh -index f03d2952..918d2a71 100755 ---- a/test/TEST-10-RAID/test.sh -+++ b/test/TEST-10-RAID/test.sh -@@ -46,6 +46,7 @@ test_setup() { - inst_multiple -o ${_terminfodir}/l/linux - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh -index e44b21ff..12384c09 100755 ---- a/test/TEST-11-LVM/test.sh -+++ b/test/TEST-11-LVM/test.sh -@@ -50,6 +50,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh -index 8d56f658..beb81381 100755 ---- a/test/TEST-12-RAID-DEG/test.sh -+++ b/test/TEST-12-RAID-DEG/test.sh -@@ -80,6 +80,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh -index 2d76c982..968eafe7 100755 ---- a/test/TEST-13-ENC-RAID-LVM/test.sh -+++ b/test/TEST-13-ENC-RAID-LVM/test.sh -@@ -78,6 +78,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh -index ab4f8119..78b087f5 100755 ---- a/test/TEST-14-IMSM/test.sh -+++ b/test/TEST-14-IMSM/test.sh -@@ -75,6 +75,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh -index 75e97703..47edac81 100755 ---- a/test/TEST-15-BTRFSRAID/test.sh -+++ b/test/TEST-15-BTRFSRAID/test.sh -@@ -53,6 +53,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh -index 73c4c7f1..2a68f305 100755 ---- a/test/TEST-16-DMSQUASH/test.sh -+++ b/test/TEST-16-DMSQUASH/test.sh -@@ -88,6 +88,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh -index 6f6886ec..7dbcca51 100755 ---- a/test/TEST-17-LVM-THIN/test.sh -+++ b/test/TEST-17-LVM-THIN/test.sh -@@ -48,6 +48,7 @@ test_setup() { - inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh -index dc9fa0b0..0be60a80 100755 ---- a/test/TEST-20-NFS/test.sh -+++ b/test/TEST-20-NFS/test.sh -@@ -320,6 +320,7 @@ test_setup() { - done - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh -index e1d10265..5f0063f8 100755 ---- a/test/TEST-30-ISCSI/test.sh -+++ b/test/TEST-30-ISCSI/test.sh -@@ -162,6 +162,7 @@ test_setup() { - inst_simple /etc/os-release - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-35-ISCSI-MULTI/test.sh b/test/TEST-35-ISCSI-MULTI/test.sh -index 09b939ab..628131e0 100755 ---- a/test/TEST-35-ISCSI-MULTI/test.sh -+++ b/test/TEST-35-ISCSI-MULTI/test.sh -@@ -174,6 +174,7 @@ test_setup() { - inst_simple /etc/os-release - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh -index df1bcb2f..178dff40 100755 ---- a/test/TEST-40-NBD/test.sh -+++ b/test/TEST-40-NBD/test.sh -@@ -219,6 +219,7 @@ make_encrypted_root() { - inst_multiple -o ${_terminfodir}/l/linux - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -@@ -299,6 +300,7 @@ make_client_root() { - inst_multiple -o ${_terminfodir}/l/linux - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh -index e96cef7c..81b1f685 100755 ---- a/test/TEST-50-MULTINIC/test.sh -+++ b/test/TEST-50-MULTINIC/test.sh -@@ -270,6 +270,7 @@ test_setup() { - done - - inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" -+ inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" - inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util" - ln -s dracut-util "${initdir}/usr/bin/dracut-getarg" - ln -s dracut-util "${initdir}/usr/bin/dracut-getargs" -diff --git a/test/TEST-98-GETARG/test.sh b/test/TEST-98-GETARG/test.sh -index 9a00470b..012396ba 100755 ---- a/test/TEST-98-GETARG/test.sh -+++ b/test/TEST-98-GETARG/test.sh -@@ -15,6 +15,7 @@ test_setup() { - ln -sfnr "$basedir"/dracut-util "$TESTDIR"/dracut-getarg - ln -sfnr "$basedir"/dracut-util "$TESTDIR"/dracut-getargs - ln -sfnr "$basedir"/modules.d/99base/dracut-lib.sh "$TESTDIR"/dracut-lib.sh -+ ln -sfnr "$basedir"/modules.d/99base/dracut-dev-lib.sh "$TESTDIR"/dracut-dev-lib.sh - return 0 - } - -@@ -85,6 +86,7 @@ test_run() { - - export PATH=".:$PATH" - -+ . dracut-dev-lib.sh - . dracut-lib.sh - - debug_off() { - diff --git a/0004.patch b/0004.patch deleted file mode 100644 index 7cd4449..0000000 --- a/0004.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7275c6f6a0f6808cd939ea5bdf1244c7bd13ba44 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 17 May 2021 14:22:10 +0200 -Subject: [PATCH] feat(dracut.sh): detect running in a container - -Don't try to `mknod` by setting DRACUT_NO_MKNOD. -Don't try to `cp` extended attributrs by setting DRACUT_NO_XATTR. ---- - dracut.sh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index bfb7a1ac..24e1c2e7 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1171,6 +1171,13 @@ if [[ -f $dracutbasedir/dracut-version.sh ]]; then - . "$dracutbasedir"/dracut-version.sh - fi - -+if systemd-detect-virt -c &> /dev/null; then -+ export DRACUT_NO_MKNOD=1 DRACUT_NO_XATTR=1 -+ if [[ $hostonly ]]; then -+ printf "%s\n" "dracut: WARNING: running in hostonly mode in a container!!" -+ fi -+fi -+ - if [[ -f $dracutbasedir/dracut-init.sh ]]; then - # shellcheck source=./dracut-init.sh - . "$dracutbasedir"/dracut-init.sh -@@ -1888,7 +1895,7 @@ if [[ $kernel_only != yes ]]; then - # shellcheck disable=SC2174 - mkdir -m 0755 -p "${initdir}/lib/dracut/hooks/$_d" - done -- if [[ $EUID == "0" ]]; then -+ if [[ $EUID == "0" ]] && ! [[ $DRACUT_NO_MKNOD ]]; then - [[ -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 - diff --git a/0005.patch b/0005.patch deleted file mode 100644 index e4b162a..0000000 --- a/0005.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 148e420be5b5809aa8d5033f47477573bbbf3e60 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Tue, 18 May 2021 10:13:56 +0200 -Subject: [PATCH] fix(base): add missing `str_replace` to `dracut-dev-lib.sh` - -``` -dracut-dev-lib.sh: line 92: str_replace: command not found -dracut-dev-lib.sh: line 98: /var/tmp/dracut.sabKZg/initramfs/initqueue/finished/devexists-.sh: No such file or directory -dracut-dev-lib.sh: line 83: /var/tmp/dracut.sabKZg/initramfs/emergency/80-.sh: No such file or directory -``` ---- - modules.d/99base/dracut-dev-lib.sh | 20 ++++++++++++++++++++ - modules.d/99base/module-setup.sh | 1 + - 2 files changed, 21 insertions(+) - -diff --git a/modules.d/99base/dracut-dev-lib.sh b/modules.d/99base/dracut-dev-lib.sh -index 5083f4f2..0df22b82 100755 ---- a/modules.d/99base/dracut-dev-lib.sh -+++ b/modules.d/99base/dracut-dev-lib.sh -@@ -1,5 +1,25 @@ - #!/bin/sh - -+# replaces all occurrences of 'search' in 'str' with 'replacement' -+# -+# str_replace str search replacement -+# -+# example: -+# str_replace ' one two three ' ' ' '_' -+str_replace() { -+ local in="$1" -+ local s="$2" -+ local r="$3" -+ local out='' -+ -+ while [ "${in##*"$s"*}" != "$in" ]; do -+ chop="${in%%"$s"*}" -+ out="${out}${chop}$r" -+ in="${in#*"$s"}" -+ done -+ echo "${out}${in}" -+} -+ - # get a systemd-compatible unit name from a path - # (mimicks unit_name_from_path_instance()) - dev_unit_name() { -diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh -index 7eb0a277..07c33eef 100755 ---- a/modules.d/99base/module-setup.sh -+++ b/modules.d/99base/module-setup.sh -@@ -117,6 +117,7 @@ install() { - export DRACUT_SYSTEMD=1 - fi - export PREFIX="$initdir" -+ export hookdir=/lib/dracut/hooks - - # shellcheck source=dracut-dev-lib.sh - . "$moddir/dracut-dev-lib.sh" - diff --git a/0006.patch b/0006.patch deleted file mode 100644 index ac65703..0000000 --- a/0006.patch +++ /dev/null @@ -1,61 +0,0 @@ -From fa63c9be13660ae5223f9c3e87234ab281b97a95 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Mon, 17 May 2021 13:07:09 +0200 -Subject: [PATCH] ci: add shfmt to Fedora containers - ---- - test/container/Dockerfile-Fedora-33 | 1 + - test/container/Dockerfile-Fedora-34 | 1 + - test/container/Dockerfile-Fedora-latest | 1 + - test/container/Dockerfile-Fedora-rawhide | 1 + - 4 files changed, 4 insertions(+) - -diff --git a/test/container/Dockerfile-Fedora-33 b/test/container/Dockerfile-Fedora-33 -index 51ca39f4..8e09cf5e 100644 ---- a/test/container/Dockerfile-Fedora-33 -+++ b/test/container/Dockerfile-Fedora-33 -@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - python3-imgcreate \ - which \ - ShellCheck \ -+ shfmt \ - && dnf -y update && dnf clean all - - # Set default command -diff --git a/test/container/Dockerfile-Fedora-34 b/test/container/Dockerfile-Fedora-34 -index 7e295e9a..b9701f6d 100644 ---- a/test/container/Dockerfile-Fedora-34 -+++ b/test/container/Dockerfile-Fedora-34 -@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - python3-imgcreate \ - which \ - ShellCheck \ -+ shfmt \ - && dnf -y update && dnf clean all - - # Set default command -diff --git a/test/container/Dockerfile-Fedora-latest b/test/container/Dockerfile-Fedora-latest -index 81d5b9b9..3fc4a370 100644 ---- a/test/container/Dockerfile-Fedora-latest -+++ b/test/container/Dockerfile-Fedora-latest -@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - python3-imgcreate \ - which \ - ShellCheck \ -+ shfmt \ - && dnf -y update && dnf clean all - - # Set default command -diff --git a/test/container/Dockerfile-Fedora-rawhide b/test/container/Dockerfile-Fedora-rawhide -index bd75e611..2d5653a7 100644 ---- a/test/container/Dockerfile-Fedora-rawhide -+++ b/test/container/Dockerfile-Fedora-rawhide -@@ -48,6 +48,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \ - python3-imgcreate \ - which \ - ShellCheck \ -+ shfmt \ - && dnf -y update && dnf clean all - - # Set default command - diff --git a/0007.patch b/0007.patch deleted file mode 100644 index 7154a68..0000000 --- a/0007.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 636d6df3134dde1dac72241937724bc59deb9303 Mon Sep 17 00:00:00 2001 -From: Kairui Song -Date: Wed, 7 Apr 2021 02:11:41 +0800 -Subject: [PATCH] fix(squash): don't mount the mount points if already mounted - -It is possible that user setup some early mount in the rootfs even -earlier, so just be more robust and cover that case too. - -Signed-off-by: Kairui Song ---- - modules.d/99squash/init-squash.sh | 17 +++++++++++------ - modules.d/99squash/module-setup.sh | 4 ++-- - 2 files changed, 13 insertions(+), 8 deletions(-) - -diff --git a/modules.d/99squash/init-squash.sh b/modules.d/99squash/init-squash.sh -index 3de6f819..59769f62 100755 ---- a/modules.d/99squash/init-squash.sh -+++ b/modules.d/99squash/init-squash.sh -@@ -1,12 +1,17 @@ - #!/bin/sh - PATH=/bin:/sbin - --# Basic mounts for mounting a squash image --mkdir /proc /sys /dev /run --mount -t proc -o nosuid,noexec,nodev proc /proc --mount -t sysfs -o nosuid,noexec,nodev sysfs /sys --mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev --mount -t tmpfs -o mode=755,nodev,nosuid,strictatime tmpfs /run -+[ -e /proc/self/mounts ] \ -+ || (mkdir -p /proc && mount -t proc -o nosuid,noexec,nodev proc /proc) -+ -+grep -q '^sysfs /sys sysfs' /proc/self/mounts \ -+ || (mkdir -p /sys && mount -t sysfs -o nosuid,noexec,nodev sysfs /sys) -+ -+grep -q '^devtmpfs /dev devtmpfs' /proc/self/mounts \ -+ || (mkdir -p /dev && mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev) -+ -+grep -q '^tmpfs /run tmpfs' /proc/self/mounts \ -+ || (mkdir -p /run && mount -t tmpfs -o mode=755,noexec,nosuid,strictatime tmpfs /run) - - # Load required modules - modprobe loop -diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh -index 77520027..e3196213 100644 ---- a/modules.d/99squash/module-setup.sh -+++ b/modules.d/99squash/module-setup.sh -@@ -42,11 +42,11 @@ installpost() { - # Install required modules and binaries for the squash image init script. - if [[ $_busybox ]]; then - inst "$_busybox" /usr/bin/busybox -- for _i in sh echo mount modprobe mkdir switch_root; do -+ for _i in sh echo mount modprobe mkdir switch_root grep; do - ln_r /usr/bin/busybox /usr/bin/$_i - done - else -- DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root -+ DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep - fi - - hostonly="" instmods "loop" "squashfs" "overlay" - diff --git a/0008.patch b/0008.patch deleted file mode 100644 index be44ece..0000000 --- a/0008.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9355cb8ea5024533210067373657dc337d63ecb9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B3hann=20B=2E=20Gu=C3=B0mundsson?= -Date: Tue, 18 May 2021 12:39:34 +0000 -Subject: [PATCH] fix(bash): minor cleanups - -- Remove hard coded path to binary -- Add missing license header -- Document sections -- refactor install section ---- - modules.d/00bash/module-setup.sh | 28 ++++++++++++++++++++-------- - 1 file changed, 20 insertions(+), 8 deletions(-) - -diff --git a/modules.d/00bash/module-setup.sh b/modules.d/00bash/module-setup.sh -index f72c297b..89ef6541 100755 ---- a/modules.d/00bash/module-setup.sh -+++ b/modules.d/00bash/module-setup.sh -@@ -1,20 +1,32 @@ - #!/bin/bash -+# This file is part of dracut. -+# SPDX-License-Identifier: GPL-2.0-or-later - --# called by dracut -+# Prerequisite check(s) for module. - check() { -- require_binaries /bin/bash -+ -+ # If the binary(s) requirements are not fulfilled the module can't be installed. -+ require_binaries bash || return 1 -+ -+ # Return 255 to only include the module, if another module requires it. -+ return 255 -+ - } - --# called by dracut -+# Module dependency requirements. - depends() { -+ -+ # Return 0 to include the dependent module(s) in the initramfs. - return 0 -+ - } - --# called by dracut -+# Install the required file(s) and directories for the module in the initramfs. - install() { -- # If another shell is already installed, do not use bash -- [[ -x $initdir/bin/sh ]] && return - -- # Prefer bash as /bin/sh if it is available. -- inst /bin/bash && ln -sf bash "${initdir}/bin/sh" -+ inst /bin/bash -+ -+ # Prefer bash as default shell if no other shell is preferred. -+ [[ -L $initdir/bin/sh ]] || ln -sf bash "${initdir}/bin/sh" -+ - } - diff --git a/0009.patch b/0009.patch deleted file mode 100644 index e3890f7..0000000 --- a/0009.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c1ab36139d416e580e768c29f2addf7ccbc2c612 Mon Sep 17 00:00:00 2001 -From: Marcos Mello -Date: Thu, 20 May 2021 15:41:26 -0300 -Subject: [PATCH] fix(install): sane default --kerneldir - -If --kerneldir is not specified, use /lib/modules/$(uname -r). - -Fixes #1505 ---- - src/install/dracut-install.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c -index 9f044ae0..3fd70fc8 100644 ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -1167,7 +1167,10 @@ static int parse_argv(int argc, char *argv[]) - if (!kerneldir) { - struct utsname buf; - uname(&buf); -- kerneldir = strdup(buf.version); -+ if (asprintf(&kerneldir, "%s%s", "/lib/modules/", buf.release) < 0) { -+ log_error("Out of memory!"); -+ exit(EXIT_FAILURE); -+ } - } - - if (arg_modalias) { - diff --git a/0010.patch b/0010.patch deleted file mode 100644 index 94ce603..0000000 --- a/0010.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0a6007bf4f472565d2c0c205a56edea7ba3e3bc3 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 21 May 2021 11:30:47 +0200 -Subject: [PATCH] fix(dracut): pipe hardlink output to `dinfo` - -Otherwise the output is cluttered with: -``` -Mode: real -Files: 1364 -Linked: 5 files -Compared: 0 xattrs -Compared: 384 files -Saved: 12.84 KiB -Duration: 0.052674 seconds -``` ---- - dracut.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut.sh b/dracut.sh -index 24e1c2e7..60ac46f4 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -2092,7 +2092,7 @@ done - - if [[ $do_hardlink == yes ]] && command -v hardlink > /dev/null; then - dinfo "*** Hardlinking files ***" -- hardlink "$initdir" 2>&1 -+ hardlink "$initdir" 2>&1 | dinfo - dinfo "*** Hardlinking files done ***" - fi - - diff --git a/0011.patch b/0011.patch deleted file mode 100644 index 6b31ffa..0000000 --- a/0011.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a277a5fc7acc0a9e8d853f09671495f9d27645c1 Mon Sep 17 00:00:00 2001 -From: Harald Hoyer -Date: Fri, 21 May 2021 12:19:32 +0200 -Subject: [PATCH] fix(dracut-functions): get_maj_min without - get_maj_min_cache_file set - -If `get_maj_min_cache_file` is unset `get_maj_min()` would error out. - -Fix it to work without a cache file set. ---- - dracut-functions.sh | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 1991c62e..5206bd21 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -234,13 +234,20 @@ get_fs_env() { - # 8:2 - get_maj_min() { - local _majmin -- out="$(grep -m1 -oP "^$1 \K\S+$" "${get_maj_min_cache_file:?}")" -- if [ -z "$out" ]; then -+ local _out -+ -+ if [[ $get_maj_min_cache_file ]]; then -+ _out="$(grep -m1 -oP "^$1 \K\S+$" "$get_maj_min_cache_file")" -+ fi -+ -+ if ! [[ "$_out" ]]; then - _majmin="$(stat -L -c '%t:%T' "$1" 2> /dev/null)" -- out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")" -- echo "$1 $out" >> "${get_maj_min_cache_file:?}" -+ _out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")" -+ if [[ $get_maj_min_cache_file ]]; then -+ echo "$1 $_out" >> "$get_maj_min_cache_file" -+ fi - fi -- echo -n "$out" -+ echo -n "$_out" - } - - # get_devpath_block diff --git a/dracut.spec b/dracut.spec index 536891a..ef9b56d 100644 --- a/dracut.spec +++ b/dracut.spec @@ -5,10 +5,10 @@ # strip the automatically generated dep here and instead co-own the # directory. %global __requires_exclude pkg-config -%define dist_free_release 12.git20210521 +%define dist_free_release 1 Name: dracut -Version: 054 +Version: 055 Release: %{dist_free_release}%{?dist} Summary: Initramfs generator using udev @@ -29,17 +29,6 @@ URL: https://dracut.wiki.kernel.org/ # Source can be generated by # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};sf=tgz Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz -Patch1: 0001.patch -Patch2: 0002.patch -Patch3: 0003.patch -Patch4: 0004.patch -Patch5: 0005.patch -Patch6: 0006.patch -Patch7: 0007.patch -Patch8: 0008.patch -Patch9: 0009.patch -Patch10: 0010.patch -Patch11: 0011.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -495,6 +484,10 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Thu May 27 2021 Harald Hoyer - 055-1 +- version 055 +- install the missing fsck utils + * Fri May 21 2021 Harald Hoyer - 054-12.git20210521 - fix `get_maj_min` for kdump - suppress hardlink output diff --git a/sources b/sources index e2febc9..983b731 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dracut-054.tar.xz) = 7cff87b9cc6c7323044610c4ddda9685a8eba4ebd320fa39071707d6c324ed69da722ecb0257be9bbf2bb8bc11fed6a3dc7c34c5d8229e00b6f261835a33503b +SHA512 (dracut-055.tar.xz) = 2d2ea2889d9013bc94245bd7d1a2154f24d02bd9c2f7dbb28e5968e17d918e6598c68d85b0f551f968218980a80b19361ca0c9e8e94997ba54f4c09afcd6d866