From 7f8e83cad517db081e1e0369b758d0279e0a6e1b Mon Sep 17 00:00:00 2001 From: Mark Wielaard 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 --- 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