debugedit/0001-find-debuginfo-Prefix-install_dir-to-PATH.patch

54 lines
1.9 KiB
Diff

From 7f8e83cad517db081e1e0369b758d0279e0a6e1b Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Thu, 29 Jun 2023 14:26:39 +0200
Subject: [PATCH] find-debuginfo: Prefix install_dir to PATH
Some distros install a symlink to find-debuginfo[.sh] under the
old /usr/lib/rpm/ path. But don't have symlinks there for other
helper tools like debugedit and sepdebugcrcfix. So those tools
are then not under the install_dir as find-debuginfo calculates
it. So instead of invoking those helper tools with a full install
dir path, prefix the install dir to the PATH so the tools can be
found there (or anywhere else on the PATH).
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
scripts/find-debuginfo.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in
index e7ac095..f87b777 100755
--- a/scripts/find-debuginfo.in
+++ b/scripts/find-debuginfo.in
@@ -101,7 +101,9 @@ EOF
}
# Figure out where we are installed so we can call other helper scripts.
+# Prefix to PATH to prefer tools from install dir.
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+PATH=${install_dir}:$PATH
# With -g arg, pass it to strip on libraries or executables.
strip_g=false
@@ -457,7 +459,7 @@ do_file()
if [ "$no_recompute_build_id" = "true" ]; then
no_recompute="-n"
fi
- id=$(${install_dir}/debugedit -b "$debug_base_name" -d "$debug_dest_name" \
+ id=$(debugedit -b "$debug_base_name" -d "$debug_dest_name" \
$no_recompute -i \
${build_id_seed:+--build-id-seed="$build_id_seed"} \
-l "$SOURCEFILE" "$f") || exit
@@ -619,7 +621,7 @@ if $run_dwz \
# dwz invalidates .gnu_debuglink CRC32 in the main files.
cat "$ELFBINSFILE" |
(cd "$RPM_BUILD_ROOT"; \
- tr '\n' '\0' | xargs -0 ${install_dir}/sepdebugcrcfix usr/lib/debug)
+ tr '\n' '\0' | xargs -0 sepdebugcrcfix usr/lib/debug)
fi
fi
--
2.40.1