d38412baaf
Resolves: RHEL-50942 Upstream: https://github.com/rhkdump/kdump-utils.git Conflict: Dropped hunks concerning OVS bridge support in patch 3 and 5 due to missing 224d310 ("Support setting up Open vSwitch (Ovs) Bridge network") Also contains upstream commit commit 2970176d9e9b7b6a1191a9ee54423d2f1c56fbaf Author: Philipp Rudo <prudo@redhat.com> Date: Tue Sep 24 10:39:32 2024 +0200 spec: fix patching of files in subdirectories With 23df04b ("dracut: create sub-directories for dracut modules") the dracut modules were moved to subdirectories. This causes problems when someone wants to include a patch to the spec file to change one of the files in those subdirectories. Reason is that '%autosetup' in the spec file calls 'patch' per default. 'patch' however, will strip all directories when it is called without option -p. Which means that it will search the file in the root directory and then fail because it cannot find it. Thus add option -p1 to '%autosetup' which will be passed on to 'patch'. Choose -p1 as that will work with the most common patch creation tools like git and packit. Signed-off-by: Philipp Rudo <prudo@redhat.com> Signed-off-by: Philipp Rudo <prudo@redhat.com>
137 lines
4.1 KiB
Diff
137 lines
4.1 KiB
Diff
From f3c33d3d9fdea2ff17e8435306d62c4d3973098a Mon Sep 17 00:00:00 2001
|
|
From: Philipp Rudo <prudo@redhat.com>
|
|
Date: Tue, 13 Aug 2024 15:11:41 +0200
|
|
Subject: [PATCH 11/16] mkdumprd: simplify handling of dracut arguments
|
|
|
|
There are currently three functions to add arguments to dracut. None of
|
|
these improve readability or add any other benefit. So remove the
|
|
functions and clean up the code a little bit.
|
|
|
|
Signed-off-by: Philipp Rudo <prudo@redhat.com>
|
|
---
|
|
mkdumprd | 50 ++++++++++++++++++++------------------------------
|
|
1 file changed, 20 insertions(+), 30 deletions(-)
|
|
|
|
diff --git a/mkdumprd b/mkdumprd
|
|
index 7a35217..196f3f8 100644
|
|
--- a/mkdumprd
|
|
+++ b/mkdumprd
|
|
@@ -29,7 +29,16 @@ SSH_KEY_LOCATION=$DEFAULT_SSHKEY
|
|
SAVE_PATH=$(get_save_path)
|
|
|
|
extra_modules=""
|
|
-dracut_args=(--add kdumpbase --quiet --hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode strict --hostonly-nics '' --aggressive-strip -o "plymouth resume ifcfg earlykdump")
|
|
+declare -a dracut_args
|
|
+dracut_args+=(--add kdumpbase)
|
|
+dracut_args+=(--quiet)
|
|
+dracut_args+=(--hostonly)
|
|
+dracut_args+=(--hostonly-cmdline)
|
|
+dracut_args+=(--hostonly-i18n)
|
|
+dracut_args+=(--hostonly-mode strict)
|
|
+dracut_args+=(--hostonly-nics '')
|
|
+dracut_args+=(--aggressive-strip)
|
|
+dracut_args+=(--omit "plymouth resume ifcfg earlykdump")
|
|
|
|
MKDUMPRD_TMPDIR="$(mktemp -d -t mkdumprd.XXXXXX)"
|
|
[ -d "$MKDUMPRD_TMPDIR" ] || perror_exit "dracut: mktemp -p -d -t dracut.XXXXXX failed."
|
|
@@ -46,21 +55,6 @@ trap '
|
|
# clean up after ourselves no matter how we die.
|
|
trap 'exit 1;' SIGINT
|
|
|
|
-add_dracut_arg()
|
|
-{
|
|
- dracut_args+=("$@")
|
|
-}
|
|
-
|
|
-add_dracut_mount()
|
|
-{
|
|
- add_dracut_arg "--mount" "$1"
|
|
-}
|
|
-
|
|
-add_dracut_sshkey()
|
|
-{
|
|
- add_dracut_arg "--sshkey" "$1"
|
|
-}
|
|
-
|
|
# caller should ensure $1 is valid and mounted in 1st kernel
|
|
to_mount()
|
|
{
|
|
@@ -286,11 +280,7 @@ verify_core_collector()
|
|
|
|
add_mount()
|
|
{
|
|
- local _mnt
|
|
-
|
|
- _mnt=$(to_mount "$@") || exit 1
|
|
-
|
|
- add_dracut_mount "$_mnt"
|
|
+ dracut_args+=(--mount "$(to_mount "$@")") || exit 1
|
|
}
|
|
|
|
#handle the case user does not specify the dump target explicitly
|
|
@@ -353,14 +343,14 @@ while read -r config_opt config_val; do
|
|
if [[ -z $_praw ]]; then
|
|
exit 1
|
|
fi
|
|
- add_dracut_arg "--device" "$_praw"
|
|
+ dracut_args+=(--device "$_praw")
|
|
check_size raw "$config_val"
|
|
;;
|
|
ssh)
|
|
if strstr "$config_val" "@"; then
|
|
mkdir_save_path_ssh "$config_val"
|
|
check_size ssh "$config_val"
|
|
- add_dracut_sshkey "$SSH_KEY_LOCATION"
|
|
+ dracut_args+=(--sshkey "$SSH_KEY_LOCATION")
|
|
else
|
|
perror_exit "Bad ssh dump target $config_val"
|
|
fi
|
|
@@ -375,11 +365,11 @@ while read -r config_opt config_val; do
|
|
# because we call dracut with --hostonly-mode strict. So manually install
|
|
# nfsv4-related drivers.
|
|
if [[ $(get_dracut_args_fstype "$config_val") == nfs* ]]; then
|
|
- add_dracut_arg "--add-drivers" nfs_layout_nfsv41_files
|
|
+ dracut_args+=(--add-drivers "nfs_layout_nfsv41_files")
|
|
fi
|
|
|
|
while read -r dracut_arg; do
|
|
- add_dracut_arg "$dracut_arg"
|
|
+ dracut_args+=("$dracut_arg")
|
|
done <<< "$(echo "$config_val" | xargs -n 1 echo)"
|
|
;;
|
|
*) ;;
|
|
@@ -391,14 +381,14 @@ handle_default_dump_target
|
|
|
|
if ! have_compression_in_dracut_args; then
|
|
if is_squash_available && dracut_have_option "--squash-compressor"; then
|
|
- add_dracut_arg "--squash-compressor" "zstd"
|
|
+ dracut_args+=("--squash-compressor" "zstd")
|
|
elif has_command zstd; then
|
|
- add_dracut_arg "--compress" "zstd"
|
|
+ dracut_args+=("--compress" "zstd")
|
|
fi
|
|
fi
|
|
|
|
if [[ -n $extra_modules ]]; then
|
|
- add_dracut_arg "--add-drivers" "$extra_modules"
|
|
+ dracut_args+=("--add-drivers" "$extra_modules")
|
|
fi
|
|
|
|
# TODO: The below check is not needed anymore with the introduction of
|
|
@@ -411,10 +401,10 @@ if ! is_fadump_capable; then
|
|
# so it doesn't affect the logic of check_dump_fs_modified().
|
|
is_dump_to_rootfs && add_mount "$(to_dev_name "$(get_root_fs_device)")"
|
|
|
|
- add_dracut_arg "--no-hostonly-default-device"
|
|
+ dracut_args+=(--no-hostonly-default-device)
|
|
|
|
if fips-mode-setup --is-enabled 2> /dev/null; then
|
|
- add_dracut_arg --add-device "$(findmnt -n -o SOURCE --target /boot)"
|
|
+ dracut_args+=(--add-device "$(findmnt -n -o SOURCE --target /boot)")
|
|
fi
|
|
fi
|
|
|
|
--
|
|
2.46.1
|
|
|