linux/scripts/package
Nathan Chancellor 6d6b8b0e28
kbuild: rpm-pkg: Restrict manual debug package creation
Commit 62089b8048 ("kbuild: rpm-pkg: Generate debuginfo package
manually") moved away from the built-in RPM machinery for generating
-debuginfo packages to a more manual way to be compatible with module
signing, as the built-in machinery strips the modules after the
installation process, breaking the signatures.

Unfortunately, prior to rpm 4.20.0, there is a bug where a custom %files
directive is ignored for a -debuginfo subpackage [1], meaning builds
using older versions of RPM (such as on RHEL9 or RHEL10) fail with:

  Checking for unpackaged file(s): /usr/lib/rpm/check-files .../rpmbuild/BUILDROOT/kernel-6.19.0_dirty-1.x86_64
  error: Installed (but unpackaged) file(s) found:
     /debuginfo.list
     /usr/lib/debug/.build-id/09/748c214974bfba1522d434a7e0a02e2fd7f29b.debug
     /usr/lib/debug/.build-id/0b/b96dd9c7d3689d82e56d2e73b46f53103cc6c7.debug
     /usr/lib/debug/.build-id/0e/979a2f34967c7437fd30aabb41de1f0c8b6a66.debug
    ...

To workaround this, restrict the manual debug info package creation
process to when it is necessary (CONFIG_MODULE_SIG=y) and possible (when
using RPM >= 4.20.0). A follow up change will restore the RPM debuginfo
creation process using a separate internal flag to allow the package to
be built in more situations, as RPM 4.20.0 is a fairly recent version
and the built-in -debuginfo generation works fine when module signing is
disabled.

Cc: stable@vger.kernel.org
Fixes: 62089b8048 ("kbuild: rpm-pkg: Generate debuginfo package manually")
Link: 49f906998f [1]
Reported-by: Steve French <smfrench@gmail.com>
Closes: https://lore.kernel.org/CAH2r5mugbrHTwnaQwQiYEUVwbtqmvFYf0WZiLrrJWpgT8iwftw@mail.gmail.com/
Tested-by: Stefano Garzarella <sgarzare@redhat.com>
Tested-by: Steve French <stfrench@microsoft.com>
Tested-by: Juergen Gross <jgross@suse.com>
Acked-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260210-kbuild-fix-debuginfo-rpm-v1-1-0730b92b14bc@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2026-02-13 14:24:55 -05:00
..
debian kbuild: deb-pkg: don't set KBUILD_BUILD_VERSION unconditionally 2025-03-23 00:56:12 +09:00
builddeb kbuild: deb-pkg: allow hooks also in /usr/share/kernel 2025-01-10 23:01:21 +09:00
buildtar kbuild: package: add -e and -u options to some shell scripts 2024-07-16 16:06:18 +09:00
gen-diff-patch kbuild: package: add -e and -u options to some shell scripts 2024-07-16 16:06:18 +09:00
install-extmod-build kbuild: install-extmod-build: Properly fix CC expansion when ccache is used 2025-11-11 22:31:34 -07:00
kernel.spec kbuild: rpm-pkg: Restrict manual debug package creation 2026-02-13 14:24:55 -05:00
mkdebian kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch 2025-05-12 15:03:17 +09:00
mkspec kbuild: rpm-pkg: Restrict manual debug package creation 2026-02-13 14:24:55 -05:00
PKGBUILD kbuild: pacman-pkg: hardcode module installation path 2025-03-23 00:56:13 +09:00
snapcraft.template kbuild: remove the last use of old cmd_src_tar rule in packaging 2023-11-28 11:38:32 +09:00