Patchwork staging.bbclass: Add BB_SETSCENE_VERIFY_FUNCTION function

login
register
mail settings
Submitter Richard Purdie
Date Nov. 21, 2011, 4:51 p.m.
Message ID <1321894315.18926.37.camel@ted>
Download mbox | patch
Permalink /patch/15195/
State Accepted
Commit 5f1dc1991f97037692193572298eb7f7a5640760
Headers show

Comments

Richard Purdie - Nov. 21, 2011, 4:51 p.m.
Since we clean out do_populate_sysroot if do_configure runs, don't
allow do_populate_sysroot_setscene functions if we're going to
run do_configure.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 8318404..259a661 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -73,6 +73,21 @@  python sysroot_cleansstate () {
 }
 do_configure[prefuncs] += "sysroot_cleansstate"
 
+
+BB_SETSCENE_VERIFY_FUNCTION = "sysroot_checkhashes"
+
+def sysroot_checkhashes(covered, tasknames, fnids, fns, d):
+    problems = set()
+    configurefnids = set()
+    for task in xrange(len(tasknames)):
+        if tasknames[task] == "do_configure" and task not in covered:
+            configurefnids.add(fnids[task])
+    for task in covered:
+        if tasknames[task] == "do_populate_sysroot" and fnids[task] in configurefnids:
+            problems.add(task)
+            bb.error("sysroot task found %s" % fns[fnids[task]])
+    return problems
+
 python do_populate_sysroot () {
     #
     # if do_stage exists, we're legacy. In that case run the do_stage,