summaryrefslogtreecommitdiff
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-30 14:50:00 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-01 07:40:35 +0100
commit0a6d0d040ab7f885b667a34f4ddcc775d135c07c (patch)
treedb53e08928c1e5e35fe2823ce983b22bf5899c5f /meta/lib/oe
parentdf49d7a0f80673e73f753e8650cd88a086e77245 (diff)
downloadopenembedded-core-0a6d0d040ab7f885b667a34f4ddcc775d135c07c.tar.gz
openembedded-core-0a6d0d040ab7f885b667a34f4ddcc775d135c07c.tar.bz2
openembedded-core-0a6d0d040ab7f885b667a34f4ddcc775d135c07c.zip
lib/oe/sstate: Add tasks_resolved handler for virtual/xxx mappings
In SIGGEN_EXCLUDERECIPES_ABISAFE and SIGGEN_EXCLUDE_SAFE_RECIPE_DEP we really need to be able to use virtual/xxx namespaces but this currently doesn't work. To make this work, we need to translate them into the resolved providers. After such a hook was added to bitbake, we can add this translation here. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/sstatesig.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index cb46712eea..6d1be3e372 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -94,6 +94,26 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
self.machine = data.getVar("MACHINE", True)
self.mismatch_msgs = []
pass
+
+ def tasks_resolved(self, virtmap, virtpnmap, dataCache):
+ # Translate virtual/xxx entries to PN values
+ newabisafe = []
+ for a in self.abisaferecipes:
+ if a in virtpnmap:
+ newabisafe.append(virtpnmap[a])
+ else:
+ newabisafe.append(a)
+ self.abisaferecipes = newabisafe
+ newsafedeps = []
+ for a in self.saferecipedeps:
+ a1, a2 = a.split("->")
+ if a1 in virtpnmap:
+ a1 = virtpnmap[a1]
+ if a2 in virtpnmap:
+ a2 = virtpnmap[a2]
+ newsafedeps.append(a1 + "->" + a2)
+ self.saferecipedeps = newsafedeps
+
def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)