summaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-27 20:57:54 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-28 10:28:06 +0000
commitc7ad2dada79f715e5a5d54b2711c2956217588e7 (patch)
tree86c465e153a4781fc705da627b2178d2727b3c24 /meta/classes/sstate.bbclass
parent06c6db7929c75f576a395fb442abe447b833fc3b (diff)
downloadopenembedded-core-c7ad2dada79f715e5a5d54b2711c2956217588e7.tar.gz
sstate: Ensure stale stamp files are removed as part of sstate_clean()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r--meta/classes/sstate.bbclass8
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index c83bc27bf0..d7d30c0121 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -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"