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: lucaceresoli/bug-15201-perf-libtraceevent-missing~26896 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9979f8ad588564cd9d177e24a28ceefefec4df7d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.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 ee04e333db9..295611f0f8a 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)