diff mbox series

sstatesig: Update to match bitbake changes to runtaskdeps

Message ID 20230805103338.2649143-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 4f1148eeab2500022d7e17feadf80027a01a51f1
Headers show
Series sstatesig: Update to match bitbake changes to runtaskdeps | expand

Commit Message

Richard Purdie Aug. 5, 2023, 10:33 a.m. UTC
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 | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index f943df181e6..633a0fd4502 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -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 = {}