bitbake: runqueue: Add handling of virtual/xxx provider mappings

This firstly prints debug messages which show how bitbake decided to resolve
the virtual/xxx providers which is useful for debugging.

If the siggen has a tasks_resolved() method, it calls this, passing in
the mappings, allowing that to do things with the resolved names.

(Bitbake rev: d473fc84acddfd69a7207affcd89f65ea2ecf730)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2015-09-30 14:29:01 +01:00
parent 0b96e6f1b5
commit 1630f0a151
1 changed files with 9 additions and 0 deletions

View File

@ -797,6 +797,15 @@ class RunQueueData:
st = "do_%s" % st
invalidate_task(fn, st, True)
# Create and print to the logs a virtual/xxxx -> PN (fn) table
virtmap = taskData.get_providermap()
virtpnmap = {}
for v in virtmap:
virtpnmap[v] = self.dataCache.pkg_fn[virtmap[v]]
bb.debug(2, "%s resolved to: %s (%s)" % (v, virtpnmap[v], virtmap[v]))
if hasattr(bb.parse.siggen, "tasks_resolved"):
bb.parse.siggen.tasks_resolved(virtmap, virtpnmap, self.dataCache)
# Iterate over the task list and call into the siggen code
dealtwith = set()
todeal = set(range(len(self.runq_fnid)))