diff mbox series

scripts/oe-check-sstate: Handle multiconfig task IDs

Message ID 20260625133135.2118442-1-luca.fancellu@arm.com
State New
Headers show
Series scripts/oe-check-sstate: Handle multiconfig task IDs | expand

Commit Message

Luca Fancellu June 25, 2026, 1:31 p.m. UTC
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(-)
diff mbox series

Patch

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