diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-10-06 23:11:18 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-10-06 22:43:08 +0100 |
commit | 5e9488495401399d39fcb5012b86c313b6caca73 (patch) | |
tree | 5b1e3c0323b2dda56f32d455dd3de5aec7b6600b /meta/classes | |
parent | b3d1c440feb7fd7b3e3374ca528195ab9bd3a7ce (diff) | |
download | openembedded-core-5e9488495401399d39fcb5012b86c313b6caca73.tar.gz openembedded-core-5e9488495401399d39fcb5012b86c313b6caca73.tar.bz2 openembedded-core-5e9488495401399d39fcb5012b86c313b6caca73.zip |
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/classes')
-rw-r--r-- | meta/classes/sstate.bbclass | 9 |
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" |