From bf5f951f08203183e1ee583bbd0e0799dd7a5045 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Thu, 27 May 2021 14:51:02 +0200 Subject: [PATCH] dracut - 055-1 - version 055 - install the missing fsck utils --- .gitignore | 1 + 0001.patch | 23 --- 0002.patch | 24 --- 0003.patch | 555 ---------------------------------------------------- 0004.patch | 39 ---- 0005.patch | 58 ------ 0006.patch | 61 ------ 0007.patch | 61 ------ 0008.patch | 59 ------ 0009.patch | 29 --- 0010.patch | 33 ---- 0011.patch | 43 ---- dracut.spec | 19 +- sources | 2 +- 14 files changed, 8 insertions(+), 999 deletions(-) delete mode 100644 0001.patch delete mode 100644 0002.patch delete mode 100644 0003.patch delete mode 100644 0004.patch delete mode 100644 0005.patch delete mode 100644 0006.patch delete mode 100644 0007.patch delete mode 100644 0008.patch delete mode 100644 0009.patch delete mode 100644 0010.patch delete mode 100644 0011.patch 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