diff mbox series

[v4,01/27] bitbake: globally define KERNEL_PACKAGE_NAME

Message ID 20260712184307.3259642-1-vince@underview.tech
State New
Headers show
Series [v4,01/27] bitbake: globally define KERNEL_PACKAGE_NAME | expand

Commit Message

Vincent Davis Jr July 12, 2026, 6:42 p.m. UTC
A number of recipes rely on hard coded
kernel prefix set by KERNEL_PACKAGE_NAME
when including modules. This leads to build
time failures such as.

ERROR: Nothing RPROVIDES 'kernel-module-*'

Commit globally defines variable so that
recipes aren't reliant on hardcoded 'kernel'
prefix.

Commit also updates variables

STAGING_KERNEL_DIR
STAGING_KERNEL_BUILDDIR

STAGING_KERNEL_DIR and STAGING_KERNEL_BUILDDIR get
changed from default defined in bitbake.conf in
the kernel.bbclass. The reason was to set these
variables to directories under WORKDIR in alternate
kernel recipes (I.e. where KERNEL_PACKAGE_NAME != kernel)
so that they may build in parallel with the default
kernel without clobbering. The issue is that the variables
only get changed in kernel recipes. So, other recipes
such as perf and make-mod-scripts don't know the
location of virtual/kernel WORKDIR.

Solution is to include KERNEL_PACKAGE_NAME in
STAGING_KERNEL_DIR and STAGING_KERNEL_BUILDDIR
so recipes like perf and make-mod-scripts can
find virtual/kernel source and solve the
clobbering of build artifacts issue.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
 meta/conf/bitbake.conf | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index bdf37d0da2..569b83a138 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -479,6 +479,9 @@  SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
 # Kernel info.
 ##################################################################
 
+# Globally define base string for kernel packages
+KERNEL_PACKAGE_NAME ??= "kernel"
+
 OLDEST_KERNEL = "5.15"
 
 # SDK_OLDEST_KERNEL can't be set using overrides since there are
@@ -490,8 +493,8 @@  SDK_OLDEST_KERNEL = "3.2.0"
 # they are staged.
 KERNEL_SRC_PATH = "/usr/src/kernel"
 
-STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
-STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
+STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/${KERNEL_PACKAGE_NAME}/kernel-source"
+STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/${KERNEL_PACKAGE_NAME}/kernel-build-artifacts"
 
 ##################################################################
 # Specific image creation and rootfs population info.