Unverified Commit 2452dcf4 authored by Mathias Krause's avatar Mathias Krause Committed by Nicolas Schier
Browse files

kbuild: builddeb - avoid recompiles for non-cross-compiles



Commit e2c31822 ("kbuild: deb-pkg: add
pkg.linux-upstream.nokernelheaders build profile") changed how
install-extmod-build gets called, making it always rebuild the host
programs below scripts/ if HOSTCC wasn't specified with its full triplet
on the make command line. That is, apparently, needed to fix up commit
f1d87664 ("kbuild: cross-compile linux-headers package when
possible") for cross-compiles. However, in the much more common case of
non-cross-compile builds this will lead to unnecessary rebuilding of
host tools including gcc plugins. This, in turn, will lead to a full
kernel rebuild on the next 'make bindeb-pkg' which is unfortunate.

Avoid that by only triggering the rebuild of host tools for actual
cross-compile builds.

Signed-off-by: default avatarMathias Krause <minipli@grsecurity.net>
Fixes: e2c31822 ("kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile")
Cc: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
Reviewed-by: default avatarNicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260402145116.1010901-1-minipli@grsecurity.net


Signed-off-by: default avatarNicolas Schier <nsc@kernel.org>
parent 028ef9c9
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -139,7 +139,13 @@ install_kernel_headers () {
	pdir=debian/$1
	version=${1#linux-headers-}

	# Override $CC only for cross-compiles, to not unnecessarily rebuild
	# scripts/ including plugins, which may lead to a full kernel rebuild.
	if [ -n "${CROSS_COMPILE}" ]; then
		CC="${DEB_HOST_GNU_TYPE}-gcc" "${srctree}/scripts/package/install-extmod-build" "${pdir}/usr/src/linux-headers-${version}"
	else
		"${srctree}/scripts/package/install-extmod-build" "${pdir}/usr/src/linux-headers-${version}"
	fi

	mkdir -p $pdir/lib/modules/$version/
	ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build