summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-21 14:37:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-22 13:04:31 +0000
commit5f1dc1991f97037692193572298eb7f7a5640760 (patch)
tree1ddbc627cabe1c0e1816dd8705b28532294d8f9e
parentfb01bd81197057e62106aac966f9ebc4c5054f97 (diff)
downloadopenembedded-core-5f1dc1991f97037692193572298eb7f7a5640760.tar.gz
openembedded-core-5f1dc1991f97037692193572298eb7f7a5640760.tar.bz2
openembedded-core-5f1dc1991f97037692193572298eb7f7a5640760.zip
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/staging.bbclass15
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 831840456b..259a6611c9 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,