sstate: ensure an ordered mapping between SSTATETASKS and SSTATETASKNAMES
Fix [YOCTO #964] A recent commit 25a6e5f9(sstate: use only unique set of SSTATETASK) breaks the ordered mapping between SSTATETASKS and SSTATETASKNAMES. As a result, in sstate_cleanall, the line taskname = tasks[namemap.index(name)] gets an incorrect result, and "bitbake -c cleanall" doesn't really remove the files populalted by do_populate_sysroot. (From OE-Core rev: 2f6505f0e795b6c8cad641a6918739c3faac1f99) Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
e5a40cd6f8
commit
7ddc746e5a
|
@ -39,8 +39,10 @@ python () {
|
|||
scan_cmd = "grep -Irl ${STAGING_DIR} ${SSTATE_BUILDDIR}"
|
||||
bb.data.setVar('SSTATE_SCAN_CMD', scan_cmd, d)
|
||||
|
||||
unique_tasks = set((bb.data.getVar('SSTATETASKS', d, True) or "").split())
|
||||
d.setVar('SSTATETASKS', " ".join(unique_tasks))
|
||||
namemap = []
|
||||
for task in set((bb.data.getVar('SSTATETASKS', d, True) or "").split()):
|
||||
for task in unique_tasks:
|
||||
namemap.append(bb.data.getVarFlag(task, 'sstate-name', d))
|
||||
funcs = bb.data.getVarFlag(task, 'prefuncs', d) or ""
|
||||
funcs = "sstate_task_prefunc " + funcs
|
||||
|
@ -200,7 +202,7 @@ def sstate_clean_cachefile(ss, d):
|
|||
oe.path.remove(sstatepkgfile)
|
||||
|
||||
def sstate_clean_cachefiles(d):
|
||||
for task in set((bb.data.getVar('SSTATETASKS', d, True) or "").split()):
|
||||
for task in (bb.data.getVar('SSTATETASKS', d, True) or "").split():
|
||||
ss = sstate_state_fromvars(d, task[3:])
|
||||
sstate_clean_cachefile(ss, d)
|
||||
|
||||
|
|
Loading…
Reference in New Issue