sstate: use only unique set of SSTATETASK

* otherwise strange error like this:
  ERROR: Logfile of failure stored in: /OE/shr-core/tmp/work/armv7a-oe-linux-gnueabi/libtool-cross-2.4-r1/temp/log.do_package_write_ipk.25551
  Log data follows:
  | ERROR: Package already staged (/OE/shr-core/tmp/sstate-control/manifest-nokia900-libtool-cross.deploy-ipk)?!
  | ERROR: Function 'sstate_task_postfunc' failed
  NOTE: package libtool-cross-2.4-r1: task do_package_write_ipk: Failed
  ERROR: Task 11 (/OE/shr-core/openembedded-core/meta/recipes-devtools/libtool/libtool-cross_2.4.bb, do_package_write_ipk) failed with exit code '1'

  is shown in this case with package_ipk twice in INHERIT

* Thanks to Richard for fix

(From OE-Core rev: f2fe5e840b8aa0558b5462ef2c7517b2f14ec2ea)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa 2011-03-24 00:05:40 +01:00 committed by Richard Purdie
parent c106bb61f5
commit 25a6e5f98c
1 changed files with 2 additions and 2 deletions

View File

@ -40,7 +40,7 @@ python () {
bb.data.setVar('SSTATE_SCAN_CMD', scan_cmd, d)
namemap = []
for task in (bb.data.getVar('SSTATETASKS', d, True) or "").split():
for task in set((bb.data.getVar('SSTATETASKS', d, True) or "").split()):
namemap.append(bb.data.getVarFlag(task, 'sstate-name', d))
funcs = bb.data.getVarFlag(task, 'prefuncs', d) or ""
funcs = "sstate_task_prefunc " + funcs
@ -195,7 +195,7 @@ def sstate_clean_cachefile(ss, d):
oe.path.remove(sstatepkgfile)
def sstate_clean_cachefiles(d):
for task in (bb.data.getVar('SSTATETASKS', d, True) or "").split():
for task in set((bb.data.getVar('SSTATETASKS', d, True) or "").split()):
ss = sstate_state_fromvars(d, task[3:])
sstate_clean_cachefile(ss, d)