]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
multilib_global.bbclass: fix parsing error with no kernel module split
authorChen Qi <Qi.Chen@windriver.com>
Mon, 5 Feb 2024 07:20:01 +0000 (15:20 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 6 Feb 2024 10:31:25 +0000 (10:31 +0000)
The problem could be reproduced with the following settings:
MACHINE = "qemux86-64"
KERNEL_SPLIT_MODULES = "0"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 ?= "core2-32"

The error message is as below:
  bb.data_smart.ExpansionError: Failure expanding variable KERNEL_VERSION_PKG_NAME, expression was ${@legitimize_package_name(d.getVar('KERNEL_VERSION'))} which triggered exception TypeError: expected string or bytes-like object
  The variable dependency chain for the failure is: KERNEL_VERSION_PKG_NAME -> RPROVIDES:kernel-modules

This is because multilib_virtclass_handler_global function in
multilib_global.bbclass deletes KERNEL_VERSION. So we need to handle
such situation. We'll also need to delete KERNEL_VERSION_PKG_NAME
to avoid this parsing error.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/multilib_global.bbclass

index dcd89b2f63b8f1fc4f5863caba5bf8e414e77286..6095d278dd08eb47f9bcc6f0c7ad2d9f011e9fc5 100644 (file)
@@ -195,6 +195,7 @@ python multilib_virtclass_handler_global () {
             # from a copy of the datastore
             localdata = bb.data.createCopy(d)
             localdata.delVar("KERNEL_VERSION")
+            localdata.delVar("KERNEL_VERSION_PKG_NAME")
 
             variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split()