srctree: create stamps for executed functions
authorChris Larson <chris_larson@mentor.com>
Sun, 12 Dec 2010 01:25:18 +0000 (18:25 -0700)
committerChris Larson <chris_larson@mentor.com>
Sun, 12 Dec 2010 01:25:18 +0000 (18:25 -0700)
Slightly altered version of the patch from Martin Ambrose, whose work in
reporting this, investigating it, and determining a solution is much
appreciated.

Signed-off-by: Chris Larson <chris_larson@mentor.com>
classes/srctree.bbclass

index 4884b62..1457e56 100644 (file)
@@ -100,7 +100,7 @@ python () {
 # Manually run do_install & all of its deps
 python do_populate_sysroot_post () {
     from os.path import exists
-    from bb.build import exec_task, exec_func
+    from bb.build import exec_func, make_stamp
     from bb import note
 
     stamp = d.getVar("STAMP", True)
@@ -113,6 +113,9 @@ python do_populate_sysroot_post () {
         if not exists("%s.%s" % (stamp, task)):
             note("%s: executing task %s" % (d.getVar("PF", True), task))
             exec_func(task, d)
+            flags = d.getVarFlags(task)
+            if not flags.get('nostamp') and not flags.get('selfstamp'):
+                make_stamp(task, d)
 
     rec_exec_task("do_populate_sysroot", set())
 }