[oe-commits] Richard Purdie : sstate: Use datastore copies due to data changes persisting
git at git.openembedded.org
git at git.openembedded.org
Sat Dec 21 09:03:40 UTC 2013
Module: openembedded-core.git
Branch: master-next
Commit: afaf16100efa79a275a2f4b9f2caa80decfdeb81
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=afaf16100efa79a275a2f4b9f2caa80decfdeb81
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date: Sat Dec 21 08:57:16 2013 +0000
sstate: Use datastore copies due to data changes persisting
The way the "all arch" PKGSPEC is enabled, it causes corruption
of the datastore of sstate operations against other tasks.
Data store copies are cheap and allow us to use that trick, resetting
to a clean copy of the data afterwards.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/classes/sstate.bbclass | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 377af20..5a22ff8 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -300,8 +300,9 @@ def sstate_clean_cachefile(ss, d):
def sstate_clean_cachefiles(d):
for task in (d.getVar('SSTATETASKS', True) or "").split():
- ss = sstate_state_fromvars(d, task)
- sstate_clean_cachefile(ss, d)
+ ld = d.createCopy()
+ ss = sstate_state_fromvars(ld, task)
+ sstate_clean_cachefile(ss, ld)
def sstate_clean_manifest(manifest, d):
import oe.path
@@ -370,8 +371,9 @@ python sstate_cleanall() {
tasks = d.getVar('SSTATETASKS', True).split()
for name in tasks:
- shared_state = sstate_state_fromvars(d, name)
- sstate_clean(shared_state, d)
+ ld = d.createCopy()
+ shared_state = sstate_state_fromvars(ld, name)
+ sstate_clean(shared_state, ld)
}
def sstate_hardcode_path(d):
More information about the Openembedded-commits
mailing list