summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-10-06 23:11:18 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-10-06 22:43:08 +0100
commit5e9488495401399d39fcb5012b86c313b6caca73 (patch)
tree5b1e3c0323b2dda56f32d455dd3de5aec7b6600b /meta
parentb3d1c440feb7fd7b3e3374ca528195ab9bd3a7ce (diff)
downloadopenembedded-core-contrib-5e9488495401399d39fcb5012b86c313b6caca73.tar.gz
sstate.bbclass: Ensure machine specific stamps are only wiped for the current task
sstate was being a little too ethusiastic about removing stamp files and was removing stamp files for other machines when it shouldn't have been. This patch teaches sstate about machine specific stamp extensions and allows it to only remove the current task's stampfiles. Based on a patch from Phil Blundell <philb@gnu.org> with some tweaks from me. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/sstate.bbclass9
1 files changed, 7 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index eee04ab3f5..6abf55bb14 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -259,10 +259,15 @@ def sstate_clean(ss, d):
bb.utils.unlockfile(lock)
stfile = d.getVar("STAMP", True) + ".do_" + ss['task']
+ extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info')
oe.path.remove(stfile)
oe.path.remove(stfile + "_setscene")
- oe.path.remove(stfile + ".*")
- oe.path.remove(stfile + "_setscene" + ".*")
+ if extrainf:
+ oe.path.remove(stfile + ".*" + extrainf)
+ oe.path.remove(stfile + "_setscene" + ".*" + extrainf)
+ else:
+ oe.path.remove(stfile + ".*")
+ oe.path.remove(stfile + "_setscene" + ".*")
CLEANFUNCS += "sstate_cleanall"