* [PATCH] rpm-pkg: Include symvers in kernel package
@ 2025-02-24 9:31 Tzafrir Cohen
0 siblings, 0 replies; only message in thread
From: Tzafrir Cohen @ 2025-02-24 9:31 UTC (permalink / raw)
To: linux-kbuild; +Cc: Tzafrir Cohen
This change adds an extra file to the generated kernel rpm package:
symvers.gz under the modules directory.
With that extra file, rpm-build on some systems (specifically many
systems based on Centos >= 8) can create better dependencies when
it builds binary modules packages using weak-modules.
Normally it creates dependencies of type:
kmod(foo.ko)
but with the symver information available, it will create extra
dependencies of the sort of:
kernel(foo_sym_bol) = 0x112233445566
And therefore if a binary kernel module was built with that specific
kernel, the package manager can check if another kernel provides
foo_sym_bol and of the same version. This is similar to the tests
that The weak-modules script runs at run time.
Using gzip explicitly as with Centos 8 only symvers.gz is tested for.
See /usr/lib/rpm/fileattrs/kabi.attr . Centos 9 and 10 also tests for
symvers.xz .
Signed-off-by: Tzafrir Cohen <nvidia@cohens.org.il>
---
scripts/package/kernel.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/package/kernel.spec b/scripts/package/kernel.spec
index ac3e5ac01d8a..06a792731282 100644
--- a/scripts/package/kernel.spec
+++ b/scripts/package/kernel.spec
@@ -62,6 +62,7 @@ cp $(%{make} %{makeflags} -s image_name) %{buildroot}/lib/modules/%{KERNELRELEAS
%{make} %{makeflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
cp System.map %{buildroot}/lib/modules/%{KERNELRELEASE}
cp .config %{buildroot}/lib/modules/%{KERNELRELEASE}/config
+%{__gzip} -n -9 <Module.symvers > %{buildroot}/lib/modules/%{KERNELRELEASE}/symvers.gz
if %{make} %{makeflags} run-command KBUILD_RUN_COMMAND='test -d ${srctree}/arch/${SRCARCH}/boot/dts' 2>/dev/null; then
%{make} %{makeflags} INSTALL_DTBS_PATH=%{buildroot}/lib/modules/%{KERNELRELEASE}/dtb dtbs_install
fi
--
2.47.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-02-24 9:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-24 9:31 [PATCH] rpm-pkg: Include symvers in kernel package Tzafrir Cohen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.