Skip to contentSkip to conversation

staging.bbclass: Add BB_SETSCENE_VERIFY_FUNCTION function

PATCH New Richard Purdie 1 participant 1 message Nov 21, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging.bbclass: Add BB_SETSCENE_VERIFY_FUNCTION function

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.

---

meta/classes/staging.bbclass +15 -0
index 8318404..259a661 100644
@@ -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,