diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-30 14:50:00 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-10-01 07:40:35 +0100 |
commit | 0a6d0d040ab7f885b667a34f4ddcc775d135c07c (patch) | |
tree | db53e08928c1e5e35fe2823ce983b22bf5899c5f /meta/lib/oe | |
parent | df49d7a0f80673e73f753e8650cd88a086e77245 (diff) | |
download | openembedded-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.py | 20 |
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) |