* [PATCH] lib/oe/sstate: Add task_resolved handler for virtual/xxx mappings
@ 2015-09-30 13:50 Richard Purdie
2015-09-30 16:12 ` Richard Purdie
0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2015-09-30 13:50 UTC (permalink / raw)
To: openembedded-core
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>
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index cba0a84..fa41145 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -94,6 +94,28 @@ 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
+ bb.warn(str(self.abisaferecipes))
+ bb.warn(str(self.saferecipedeps))
+
def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] lib/oe/sstate: Add task_resolved handler for virtual/xxx mappings
2015-09-30 13:50 [PATCH] lib/oe/sstate: Add task_resolved handler for virtual/xxx mappings Richard Purdie
@ 2015-09-30 16:12 ` Richard Purdie
0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2015-09-30 16:12 UTC (permalink / raw)
To: openembedded-core
On Wed, 2015-09-30 at 14:50 +0100, Richard Purdie wrote:
> 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>
>
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index cba0a84..fa41145 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -94,6 +94,28 @@ 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
> + bb.warn(str(self.abisaferecipes))
> + bb.warn(str(self.saferecipedeps))
Yes, I left some debug in here, I'll remove these two lines sorry!
Cheers,
Richard
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-30 16:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-30 13:50 [PATCH] lib/oe/sstate: Add task_resolved handler for virtual/xxx mappings Richard Purdie
2015-09-30 16:12 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox