From 71ff08fc9d7061f3263e2a2fcc05e55e6cb3b90a Mon Sep 17 00:00:00 2001 From: Philipp Rudo Date: Tue, 9 Jul 2024 15:39:32 +0200 Subject: [PATCH] kdump-lib: Drop 'file' dependency in is_uki Resolves: RHEL-46776 commit 2f21fa2acfac9f6e19e071330f917e60aafc4600 Author: Philipp Rudo Date: Mon Jun 24 17:34:35 2024 +0200 kdump-lib: Drop 'file' dependency in is_uki The 'file' utility is no longer installed per default. In addition there was an update to it so it now reports the file type as application/vnd.microsoft.portable-executable. Thus fall back to use objdump to avoid adding yet an other dependency for kdump-utils and deal with different versions of 'file'. Note: This has the small drawback that objdump is arch specific. I.e. examining a aarch64 UKI on a x86_64 machine will return an 'file format not recognized' error. Signed-off-by: Philipp Rudo Signed-off-by: Philipp Rudo --- ...p-lib-Drop-file-dependency-in-is_uki.patch | 36 +++++++++++++++++++ kexec-tools.spec | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 0007-kdump-lib-Drop-file-dependency-in-is_uki.patch diff --git a/0007-kdump-lib-Drop-file-dependency-in-is_uki.patch b/0007-kdump-lib-Drop-file-dependency-in-is_uki.patch new file mode 100644 index 0000000..9e5019d --- /dev/null +++ b/0007-kdump-lib-Drop-file-dependency-in-is_uki.patch @@ -0,0 +1,36 @@ +From efc06f21a5b1b3a30ce438c15ce4a07fdfdd2440 Mon Sep 17 00:00:00 2001 +From: Philipp Rudo +Date: Mon, 24 Jun 2024 17:34:35 +0200 +Subject: [PATCH 7/7] kdump-lib: Drop 'file' dependency in is_uki + +The 'file' utility is no longer installed per default. In addition there +was an update to it so it now reports the file type as +application/vnd.microsoft.portable-executable. Thus fall back to use +objdump to avoid adding yet an other dependency for kdump-utils and deal +with different versions of 'file'. + +Note: This has the small drawback that objdump is arch specific. I.e. +examining a aarch64 UKI on a x86_64 machine will return an 'file format +not recognized' error. + +Signed-off-by: Philipp Rudo +--- + kdump-lib.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kdump-lib.sh b/kdump-lib.sh +index 35f0ac9..13e16e3 100755 +--- a/kdump-lib.sh ++++ b/kdump-lib.sh +@@ -18,7 +18,7 @@ is_uki() + img="$1" + + [[ -f "$img" ]] || return +- [[ "$(file -b --mime-type "$img")" == application/x-dosexec ]] || return ++ [[ "$(objdump -a "$img" 2> /dev/null)" =~ pei-(x86-64|aarch64-little) ]] || return + objdump -h -j .linux "$img" &> /dev/null + } + +-- +2.45.2 + diff --git a/kexec-tools.spec b/kexec-tools.spec index fcb8e1c..16b23c6 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -71,6 +71,7 @@ Patch615: 0003-kdumpctl-Simplify-fadump-handling-in-reset_crashkern.patch Patch616: 0004-kdumpctl.8-Add-description-to-reset-crashkernel-rebo.patch Patch617: 0005-dracut-kdump.sh-Save-kexec-dmesg.log-after-failure_a.patch Patch618: 0006-Makefile-Fix-early-kdump-file-names.patch +Patch619: 0007-kdump-lib-Drop-file-dependency-in-is_uki.patch %description kexec-tools provides /sbin/kexec binary that facilitates a new @@ -172,6 +173,7 @@ tar -z -x -v -f %{SOURCE19} %patch 616 -p1 -d kdump-utils-%{kdump_utils_ver} %patch 617 -p1 -d kdump-utils-%{kdump_utils_ver} %patch 618 -p1 -d kdump-utils-%{kdump_utils_ver} +%patch 619 -p1 -d kdump-utils-%{kdump_utils_ver} %ifarch ppc %define archdef ARCH=ppc