From 6ac0fd48ccdd94d8a55925df7b1bad9edbffe2bb Mon Sep 17 00:00:00 2001 From: Vighnesh Maheshwari Date: Thu, 23 May 2024 00:09:44 +0000 Subject: [PATCH] kmod: Build kmod as a static binary By providing a statically linked kmod, containers can mount it and load kernel modules without compatibility issues --- packages/kmod/kmod.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/kmod/kmod.spec b/packages/kmod/kmod.spec index 80046f55465..189fdbfb3ab 100644 --- a/packages/kmod/kmod.spec +++ b/packages/kmod/kmod.spec @@ -27,6 +27,24 @@ cp COPYING COPYING.LGPL cp tools/COPYING COPYING.GPL %build + +%define _configure ../configure + +mkdir static-build +pushd static-build + +%cross_configure \ + --with-zlib \ + --with-zstd \ + --without-openssl + +%make_build LDFLAGS="-all-static" + +popd + +mkdir dynamic-build +pushd dynamic-build + %cross_configure \ --with-zlib \ --with-zstd \ @@ -34,8 +52,15 @@ cp tools/COPYING COPYING.GPL %make_build +popd + %install +pushd dynamic-build %make_install +popd + +pushd static-build +install -p tools/kmod %{buildroot}%{_cross_bindir} for b in depmod insmod lsmod modinfo modprobe rmmod ; do ln -s kmod %{buildroot}%{_cross_bindir}/${b} @@ -43,6 +68,7 @@ done install -d %{buildroot}%{_cross_sbindir} ln -s ../bin/kmod %{buildroot}%{_cross_sbindir}/modprobe +popd %files %license COPYING.LGPL COPYING.GPL