From f3da53eb6d893dd508d71dcef34081b18c18cf78 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Fri, 30 Jun 2023 16:00:56 +0200 Subject: [PATCH] Followup on #2166383 - Add compat scripts calling external find-debug, sepdebugcrcfix and debugedit - Add %%__find_debuginfo macro Resolves: #2166383 --- ...roize-find-debuginfo-script-location.patch | 51 +++++++++++++++++++ rpm.spec | 28 +++++++--- 2 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 0001-Macroize-find-debuginfo-script-location.patch diff --git a/0001-Macroize-find-debuginfo-script-location.patch b/0001-Macroize-find-debuginfo-script-location.patch new file mode 100644 index 0000000..4cc4459 --- /dev/null +++ b/0001-Macroize-find-debuginfo-script-location.patch @@ -0,0 +1,51 @@ +From 1a2554da434548e916240796fe7ca9689c5771fe Mon Sep 17 00:00:00 2001 +From: Panu Matilainen +Date: Thu, 27 May 2021 13:58:58 +0300 +Subject: [PATCH] Macroize find-debuginfo script location + +Makes it easier to handle varying paths, mainly in preparation for the +next step. + +(cherry picked from commit ce48167f37af59b6366083fb78a314f7931c0c6b) +--- + configure.ac | 1 + + macros.in | 4 +++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 39f9a0e5b..35b4dff4c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -113,6 +113,7 @@ AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH) + AC_PATH_PROG(__OBJCOPY, objcopy, /usr/bin/objcopy, $MYPATH) + AC_PATH_PROG(__OBJDUMP, objdump, /usr/bin/objdump, $MYPATH) + AC_PATH_PROG(__STRIP, strip, /usr/bin/strip, $MYPATH) ++AC_PATH_PROG(__FIND_DEBUGINFO, find-debuginfo, /usr/bin/find-debuginfo, $MYPATH) + + AC_PATH_PROG(__GIT, git, /usr/bin/git, $MYPATH) + AC_PATH_PROG(__HG, hg, /usr/bin/hg, $MYPATH) +diff --git a/macros.in b/macros.in +index 24b124702..2bcf07ef8 100644 +--- a/macros.in ++++ b/macros.in +@@ -80,6 +80,8 @@ + %__remsh %{__rsh} + %__strip @__STRIP@ + ++%__find_debuginfo @__FIND_DEBUGINFO@ ++ + #============================================================================== + # Conditional build stuff. + +@@ -149,7 +151,7 @@ + # _find_debuginfo_vendor_opts to pass options to the script. + # + %__debug_install_post \ +- %{_rpmconfigdir}/find-debuginfo.sh \\\ ++ %{__find_debuginfo} \\\ + %{?_smp_build_ncpus:-j%{_smp_build_ncpus}} \\\ + %{?_missing_build_ids_terminate_build:--strict-build-id} \\\ + %{?_no_recompute_build_ids:-n} \\\ +-- +2.41.0 + diff --git a/rpm.spec b/rpm.spec index 95014a8..e14a0e8 100644 --- a/rpm.spec +++ b/rpm.spec @@ -32,7 +32,7 @@ %global rpmver 4.16.1.3 #global snapver rc1 -%global rel 24 +%global rel 25 %global sover 9 %global srcver %{rpmver}%{?snapver:-%{snapver}} @@ -114,6 +114,7 @@ Patch916: 0006-debugedit-Handle-DWARF-5-debug_line-and-debug_line_s.patch # Downstream-only patches Patch1000: rpm-4.16.1.3-hashtab-use-after-free-fix.patch Patch1001: rpm-4.16.1.3-find_debuginfo_vendor_opts.patch +Patch1002: 0001-Macroize-find-debuginfo-script-location.patch # Partially GPL/LGPL dual-licensed and some bits with BSD # SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD @@ -356,9 +357,6 @@ Requires: rpm-libs%{_isa} = %{version}-%{release} %prep %autosetup -n rpm-%{srcver} %{?with_int_bdb:-a 1} -p1 -# Use external find-debuginfo -sed -i -e "s:%%{_rpmconfigdir}/find-debuginfo.sh:%%{_bindir}/find-debuginfo.sh:g" macros.in - %if %{with bdb} && %{with int_bdb} ln -s db-%{bdbver} db %endif @@ -421,8 +419,18 @@ pushd python %py3_install popd -# remove in-tree debugedit as we now use the debugedit package -rm -f $RPM_BUILD_ROOT/%{rpmhome}/{debugedit,sepdebugcrcfix,find-debuginfo.sh} +cat > $RPM_BUILD_ROOT/%{rpmhome}/debugedit << END +#!/bin/sh +/usr/bin/debugedit "\$@" +END +cat > $RPM_BUILD_ROOT/%{rpmhome}/sepdebugcrcfix << END +#!/bin/sh +/usr/bin/sepdebugcrcfix "\$@" +END +cat > $RPM_BUILD_ROOT/%{rpmhome}/find-debuginfo.sh << END +#!/bin/sh +/usr/bin/find-debuginfo.sh "\$@" +END mkdir -p $RPM_BUILD_ROOT%{_unitdir} install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/%{_unitdir} @@ -599,6 +607,9 @@ fi %{rpmhome}/brp-* %{rpmhome}/check-* +%{rpmhome}/debugedit +%{rpmhome}/sepdebugcrcfix +%{rpmhome}/find-debuginfo.sh %{rpmhome}/find-lang.sh %{rpmhome}/*provides* %{rpmhome}/*requires* @@ -633,6 +644,11 @@ fi %changelog +* Fri Jun 30 2023 Florian Festi - 4.16.1.3-25 +- Followup on #2166383 +- Add compat scripts calling external find-debug, sepdebugcrcfix and debugedit +- Add %%__find_debuginfo macro + * Thu May 04 2023 Florian Festi - 4.16.1.3-24 - Use external find-debug and debugedit (#2166383)