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 <[email protected]>
---
 scripts/oe-check-sstate | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

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
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#239566): 
https://lists.openembedded.org/g/openembedded-core/message/239566
Mute This Topic: https://lists.openembedded.org/mt/119973313/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to