]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
sstatesig: Update to match bitbake changes to runtaskdeps
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 5 Aug 2023 10:04:47 +0000 (11:04 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Aug 2023 12:23:26 +0000 (13:23 +0100)
Bitbake has changes to runtaskdeps in siginfo files to fix bugs in being
able to locate them for sstate and hash debugging purposes.

This patch updates to match the changes to the format.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/sstatesig.py

index f943df181e6d0e8cee17af5d56959530713734fe..633a0fd450249bcfee3f5de3fcfa29fdafa5db94 100644 (file)
@@ -215,6 +215,9 @@ class SignatureGeneratorOEBasicHashMixIn(object):
     def dump_lockedsigs(self, sigfile, taskfilter=None):
         types = {}
         for tid in self.runtaskdeps:
+            # Bitbake changed this to a tuple in newer versions
+            if isinstance(tid, tuple):
+                tid = tid[1]
             if taskfilter:
                 if not tid in taskfilter:
                     continue
@@ -321,11 +324,12 @@ def find_siginfo(pn, taskname, taskhashlist, d):
     if not taskname:
         # We have to derive pn and taskname
         key = pn
-        splitit = key.split('.bb:')
-        taskname = splitit[1]
-        pn = os.path.basename(splitit[0]).split('_')[0]
-        if key.startswith('virtual:native:'):
-            pn = pn + '-native'
+        if key.startswith("mc:"):
+           # mc:<mc>:<pn>:<task>
+           _, _, pn, taskname = key.split(':', 3)
+        else:
+           # <pn>:<task>
+           pn, taskname = key.split(':', 1)
 
     hashfiles = {}
     filedates = {}