summaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
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/classes/sstate.bbclass
parent6aa4de3b7c756f0d9635a98b89987c73fcce051e (diff)
downloadpoky-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/classes/sstate.bbclass')
-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 377af202a4..5a22ff8382 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -300,8 +300,9 @@ def sstate_clean_cachefile(ss, d):
300 300
301def sstate_clean_cachefiles(d): 301def sstate_clean_cachefiles(d):
302 for task in (d.getVar('SSTATETASKS', True) or "").split(): 302 for task in (d.getVar('SSTATETASKS', True) or "").split():
303 ss = sstate_state_fromvars(d, task) 303 ld = d.createCopy()
304 sstate_clean_cachefile(ss, d) 304 ss = sstate_state_fromvars(ld, task)
305 sstate_clean_cachefile(ss, ld)
305 306
306def sstate_clean_manifest(manifest, d): 307def sstate_clean_manifest(manifest, d):
307 import oe.path 308 import oe.path
@@ -370,8 +371,9 @@ python sstate_cleanall() {
370 371
371 tasks = d.getVar('SSTATETASKS', True).split() 372 tasks = d.getVar('SSTATETASKS', True).split()
372 for name in tasks: 373 for name in tasks:
373 shared_state = sstate_state_fromvars(d, name) 374 ld = d.createCopy()
374 sstate_clean(shared_state, d) 375 shared_state = sstate_state_fromvars(ld, name)
376 sstate_clean(shared_state, ld)
375} 377}
376 378
377def sstate_hardcode_path(d): 379def sstate_hardcode_path(d):