瀏覽代碼

bitbake: runqueue: Fix errors when using -S printdiff

When running printdiff, messages like:

"Can't find a task we're supposed to have written out?"

might be shown. This happens when hashequivalence is enabled and is due
to the use of "hash" when "unihash" should be used (which defaults back
to hash). Changing this fixed various errors oe-selftest highlighted.

Also print the task ID when erroring about a missing task as it aids
debugging.

(Bitbake rev: e7783bbe0559abb91f5038cf83575c0f25138af2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 1 年之前
父節點
當前提交
6f427822e8
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      bitbake/lib/bb/runqueue.py

+ 2 - 2
bitbake/lib/bb/runqueue.py

@@ -1767,14 +1767,14 @@ class RunQueue:
         for tid in invalidtasks:
             (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
             pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
-            h = self.rqdata.runtaskentries[tid].hash
+            h = self.rqdata.runtaskentries[tid].unihash
             matches = bb.siggen.find_siginfo(pn, taskname, [], self.cooker.databuilder.mcdata[mc])
             match = None
             for m in matches:
                 if h in m:
                     match = m
             if match is None:
-                bb.fatal("Can't find a task we're supposed to have written out? (hash: %s)?" % h)
+                bb.fatal("Can't find a task we're supposed to have written out? (hash: %s tid: %s)?" % (h, tid))
             matches = {k : v for k, v in iter(matches.items()) if h not in k}
             if matches:
                 latestmatch = sorted(matches.keys(), key=lambda f: matches[f])[-1]