| Message ID | 20260625133135.2118442-1-luca.fancellu@arm.com |
|---|---|
| State | New |
| Headers | show |
| Series | scripts/oe-check-sstate: Handle multiconfig task IDs | expand |
diff --git a/scripts/oe-check-sstate b/scripts/oe-check-sstate index 0d171c44632f..435ddaa0c687 100755 --- a/scripts/oe-check-sstate +++ b/scripts/oe-check-sstate @@ -35,7 +35,12 @@ def translate_virtualfns(tasks): (mc, fn, taskname) = bb.runqueue.split_tid(task) if taskname.endswith('_setscene'): taskname = taskname[:-9] - outtasks.append('%s:%s' % (recipecaches[mc].pkg_fn[fn], taskname)) + recipecache = recipecaches[mc] + if fn not in recipecache.pkg_fn and mc: + mcfn = 'mc:%s:%s' % (mc, fn) + if mcfn in recipecache.pkg_fn: + fn = mcfn + outtasks.append('%s:%s' % (recipecache.pkg_fn[fn], taskname)) finally: tinfoil.shutdown() return outtasks
When oe-check-sstate parses setscene tasks from a bitbake dry run, multiconfig task IDs are reported as mc:<mc>:<fn>:<task>. split_tid() returns the multiconfig name and unprefixed filename, but the matching multiconfig recipe cache can store pkg_fn keys with the mc:<mc>: prefix. This makes translate_virtualfns raise a KeyError while the eSDK task list is generated for builds that include multiconfig dependencies. Try the multiconfig-prefixed filename when the unprefixed filename is not in the selected recipe cache. Signed-off-by: Luca Fancellu <luca.fancellu@arm.com> --- scripts/oe-check-sstate | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)