]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate: Ensure stale stamp files are removed as part of sstate_clean()
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 27 Jan 2011 20:57:54 +0000 (20:57 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 28 Jan 2011 10:28:06 +0000 (10:28 +0000)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass

index c83bc27bf02e858a2f3f6927656e77816f42211c..d7d30c012133f64509d045aae8818de6ed1e72e3 100644 (file)
@@ -49,8 +49,9 @@ python () {
     d.setVar('SSTATETASKNAMES', " ".join(namemap))
 }
 
-def sstate_init(name, d):
+def sstate_init(name, task, d):
     ss = {}
+    ss['task'] = task
     ss['name'] = name
     ss['dirs'] = []
     ss['plaindirs'] = []
@@ -73,7 +74,7 @@ def sstate_state_fromvars(d, task = None):
     if not name or len(inputs) != len(outputs):
         bb.fatal("sstate variables not setup correctly?!")
 
-    ss = sstate_init(name, d)
+    ss = sstate_init(name, task, d)
     for i in range(len(inputs)):
         sstate_add(ss, inputs[i], outputs[i], d)
     ss['lockfiles'] = lockfiles
@@ -219,6 +220,7 @@ def sstate_clean_manifest(manifest, d):
     oe.path.remove(manifest)
 
 def sstate_clean(ss, d):
+    import oe.path
 
     manifest = bb.data.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['name'], d)
 
@@ -234,6 +236,8 @@ def sstate_clean(ss, d):
     for lock in locks:
         bb.utils.unlockfile(lock)
 
+    oe.path.remove(d.getVar("STAMP", True) + ".do_" + ss['task'] + "*")
+
 SCENEFUNCS += "sstate_cleanall"
 CLEANFUNCS += "sstate_cleanall"