From: Robert Yang Date: Fri, 19 Feb 2016 08:48:35 +0000 (-0800) Subject: recipe_sanity.bbclass: skip DataSmart in recipe_sanity_eh() X-Git-Tag: 2016-4~786 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=9979f8ad588564cd9d177e24a28ceefefec4df7d;p=openembedded-core.git recipe_sanity.bbclass: skip DataSmart in recipe_sanity_eh() Fixed: $ bitbake quilt -crecipe_sanity File "/path/to/poky/bitbake/lib/bb/siggen.py", line 261, in dump_sigtask p = pickle.dump(data, stream, -1) PicklingError: Can't pickle : attribute lookup bb.COW.C failed This is because of: cfgdata[k] = d.getVar(k, 0) If d.getVar(k, 0) is a DataSmart (for example, BB_ORIGENV), it won't have the attribute of bb.COW.C, so the error happend. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- diff --git a/meta/classes/recipe_sanity.bbclass b/meta/classes/recipe_sanity.bbclass index ee04e333db..295611f0f8 100644 --- a/meta/classes/recipe_sanity.bbclass +++ b/meta/classes/recipe_sanity.bbclass @@ -143,9 +143,8 @@ python recipe_sanity_eh () { cfgdata = {} for k in d.keys(): - #for k in ["S", "PR", "PV", "PN", "DESCRIPTION", "LICENSE", "DEPENDS", - # "SECTION"]: - cfgdata[k] = d.getVar(k, 0) + if not isinstance(d.getVar(k, 0), bb.data_smart.DataSmart): + cfgdata[k] = d.getVar(k, 0) d.setVar("__recipe_sanity_cfgdata", cfgdata) #d.setVar("__recipe_sanity_cfgdata", d)