[OE-core] [PATCH] sstate: use only unique set of SSTATETASK

Martin Jansa martin.jansa at gmail.com
Wed Mar 23 23:05:40 UTC 2011


* 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

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta/classes/sstate.bbclass |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index d57c183..00a709b 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -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)
 
-- 
1.7.4.1





More information about the Openembedded-core mailing list