[PATCH 0/1] data_smart: fix key expansion in conditional overrides
Nguyen Minh Tien <[email protected]> Sat, 25 Jul 2026 21:30:01 +0700
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <[email protected]> |
An :append whose override name still contains a variable is silently
dropped. From the report:
RDEPENDS:${PN}:append:pn-packagegroup-cross-canadian-${MACHINE} = " ..."
Still reproduces on master (c251833d2). The mechanism is in the patch;
briefly, renameVar() rebuilds dependent override keys with a string
replace, so renaming RDEPENDS:${PN} leaves the ${MACHINE} behind and the
append lands on a key no override can ever match.
The part worth flagging is the '${' not in newkey guard. Expanding
unconditionally looks like the obvious fix but regresses parsing:
native.bbclass renames to a key that is itself still unexpanded, before
expandKeys() runs, and expanding the dependent keys there turns the later
rename into a no-op. oe-core then parses with three warnings master does
not have, in dbus and python3-psutil. The second of the two added tests
covers this and fails without the guard.
Tested against bitbake c251833d2 and oe-core 9d89b3b802:
- bitbake-selftest: 790 tests, no failures. Six bb.tests.fetch errors
remain, host issues that occur identically on master
- all 952 oe-core recipes parse with no warnings, same as master
- bitbake -e for dbus-native and python3-psutil-native, the two recipes
that hit this path, identical to master
- same parse with multilib enabled, exercising multilib_global.bbclass
- core-image-minimal builds for qemux86-64, 5275 tasks
Nguyen Minh Tien (1):
data_smart: fix operations lost when an override name contains a
variable
lib/bb/data_smart.py | 11 +++++++++--
lib/bb/tests/data.py | 25 +++++++++++++++++++++++++
2 files changed, 34 insertions(+), 2 deletions(-)
--
2.34.1