Unverified Commit afdfb71c authored by Nathan Chancellor's avatar Nathan Chancellor
Browse files

kbuild: rpm-pkg: Fix manual debuginfo generation when using .src.rpm



Commit 62089b80 ("kbuild: rpm-pkg: Generate debuginfo package
manually") added uses of OBJCOPY and READELF, variables from Kbuild.
These variables are defined and work properly when using the binrpm-pkg
target because rpmbuild is run within Kbuild. However, these variables
are not defined when building from a source RPM package generated with
the srcrpm-pkg target, breaking the build when generating the debug info
subpackage.

Define a default value for these variables so that these commands
respect the value from Kbuild but continue to work when built from a
source RPM package.

Cc: stable@vger.kernel.org
Fixes: 62089b80 ("kbuild: rpm-pkg: Generate debuginfo package manually")
Reported-by: default avatarLukas Herbolt <lukas@herbolt.com>
Closes: https://lore.kernel.org/20260212135855.147906-2-lukas@herbolt.com/


Tested-by: default avatarLukas Herbolt <lukas@herbolt.com>
Link: https://patch.msgid.link/20260213-fix-debuginfo-srcrpm-pkg-v1-1-45cd0c0501b9@kernel.org


Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
parent ffe9ac1a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -148,11 +148,11 @@ echo /usr/lib/debug/lib/modules/%{KERNELRELEASE}/vmlinux > %{buildroot}/debuginf
while read -r mod; do
	mod="${mod%.o}.ko"
	dbg="%{buildroot}/usr/lib/debug/lib/modules/%{KERNELRELEASE}/kernel/${mod}"
	buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
	buildid=$("${READELF:-readelf}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
	link="%{buildroot}/usr/lib/debug/.build-id/${buildid}.debug"

	mkdir -p "${dbg%/*}" "${link%/*}"
	"${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}"
	"${OBJCOPY:-objcopy}" --only-keep-debug "${mod}" "${dbg}"
	ln -sf --relative "${dbg}" "${link}"

	echo "${dbg#%{buildroot}}" >> %{buildroot}/debuginfo.list