summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-21 08:57:16 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-21 09:00:52 +0000
commit325fb2bd247d5bbb502678281efaf62a4082fd44 (patch)
treec3efb9343615ab604f65f9bd9173b4173afa53ad /meta
parent6aa4de3b7c756f0d9635a98b89987c73fcce051e (diff)
downloadast2050-yocto-poky-325fb2bd247d5bbb502678281efaf62a4082fd44.zip
ast2050-yocto-poky-325fb2bd247d5bbb502678281efaf62a4082fd44.tar.gz
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. (From OE-Core rev: afaf16100efa79a275a2f4b9f2caa80decfdeb81) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/sstate.bbclass10
1 files 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):
OpenPOWER on IntegriCloud