]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate: Add sstate-interceptfuncs called between install and package
authorJeff Polk <jeff.polk@windriver.com>
Fri, 3 Sep 2010 17:22:20 +0000 (11:22 -0600)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 10 Sep 2010 11:55:34 +0000 (12:55 +0100)
Adds the ability to impose intercept function call(s) after
sstate_install and before sstate_package in sstate_task_postfunc.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
meta/classes/sstate.bbclass

index b4ee875988f56df5bc382f124140347874edac5a..6f43ee52f8625fc695fb3de80486bb87906ab747 100644 (file)
@@ -57,6 +57,7 @@ def sstate_state_fromvars(d):
     outputs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-outputdirs', d) or "", d)).split()
     plaindirs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-plaindirs', d) or "", d)).split()
     lockfiles = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-lockfile', d) or "", d)).split()
+    interceptfuncs = (bb.data.expand(bb.data.getVarFlag("do_" + task, 'sstate-interceptfuncs', d) or "", d)).split()
     if not name or len(inputs) != len(outputs):
         bb.fatal("sstate variables not setup correctly?!")
 
@@ -65,6 +66,7 @@ def sstate_state_fromvars(d):
         sstate_add(ss, inputs[i], outputs[i], d)
     ss['lockfiles'] = lockfiles
     ss['plaindirs'] = plaindirs
+    ss['interceptfuncs'] = interceptfuncs
     return ss
 
 def sstate_add(ss, source, dest, d):
@@ -276,6 +278,8 @@ python sstate_task_prefunc () {
 python sstate_task_postfunc () {
     shared_state = sstate_state_fromvars(d)
     sstate_install(shared_state, d)
+    for intercept in shared_state['interceptfuncs']:
+        bb.build.exec_func(intercept, d)
     sstate_package(shared_state, d)
 }