[oe-commits] Richard Purdie : sstate.bbclass: Ensure machine specific stamps are only wiped for the current task

git version control git at git.openembedded.org
Fri Oct 7 10:35:58 UTC 2011


Module: openembedded-core.git
Branch: master
Commit: 5e9488495401399d39fcb5012b86c313b6caca73
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=5e9488495401399d39fcb5012b86c313b6caca73

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Thu Oct  6 23:11:18 2011 +0100

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 at gnu.org> with some tweaks
from me.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 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 eee04ab..6abf55b 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"
 





More information about the Openembedded-commits mailing list