diff options
| author | Chen Qi <Qi.Chen@windriver.com> | 2024-02-05 15:20:01 +0800 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-02-22 04:34:14 -1000 |
| commit | 62851677da53e8ef7d711598f06084c955e0e705 (patch) | |
| tree | 7a62bf1ef72addf091cee8dac2381c850dca1dae | |
| parent | 126d94a61570789473339fccb873d9c3ba1e2e56 (diff) | |
| download | poky-62851677da53e8ef7d711598f06084c955e0e705.tar.gz | |
multilib_global.bbclass: fix parsing error with no kernel module split
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.
(From OE-Core rev: 82dd61aade02456621cd2958b2fbb56236062789)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 43dd497bc161ac44faecfdff052db03679dbb4f8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
| -rw-r--r-- | meta/classes/multilib_global.bbclass | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index dcd89b2f63..6095d278dd 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass | |||
| @@ -195,6 +195,7 @@ python multilib_virtclass_handler_global () { | |||
| 195 | # from a copy of the datastore | 195 | # from a copy of the datastore |
| 196 | localdata = bb.data.createCopy(d) | 196 | localdata = bb.data.createCopy(d) |
| 197 | localdata.delVar("KERNEL_VERSION") | 197 | localdata.delVar("KERNEL_VERSION") |
| 198 | localdata.delVar("KERNEL_VERSION_PKG_NAME") | ||
| 198 | 199 | ||
| 199 | variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() | 200 | variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() |
| 200 | 201 | ||
