From: Chris Larson Date: Mon, 1 Mar 2010 23:45:15 +0000 (-0500) Subject: Fix issues with BBCLASSEXTEND set by anonymous python, and rename some variables... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3062e96181fe845cfd286990b0216888ddd3d228;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git Fix issues with BBCLASSEXTEND set by anonymous python, and rename some variables to improve code clarity Signed-off-by: Chris Larson --- diff --git a/lib/bb/parse/parse_py/BBHandler.py b/lib/bb/parse/parse_py/BBHandler.py index ea3478ce3af..4641c13d9c6 100644 --- a/lib/bb/parse/parse_py/BBHandler.py +++ b/lib/bb/parse/parse_py/BBHandler.py @@ -152,26 +152,28 @@ def handle(fn, d, include): classes.remove(__classname__) else: if include == 0: - if data.getVar('BBCLASSEXTEND', d, 1): - based = bb.data.createCopy(d) - else: - based = d + safe_d = d + d = bb.data.createCopy(safe_d) try: - ast.finalise(fn, based) + ast.finalise(fn, d) except bb.parse.SkipPackage: - bb.data.setVar("__SKIPPED", True, based) - darray = {"": based} + bb.data.setVar("__SKIPPED", True, d) + darray = {"": d} - for cls in (data.getVar('BBCLASSEXTEND', based, 1) or "").split(): + extended = bb.data.getVar("BBCLASSEXTEND", d, True) + if extended: + bb.data.setVar("BBCLASSEXTEND", extended, safe_d) + + for cls in (extended or "").split(): pn = data.getVar('PN', d, True) - based = bb.data.createCopy(d) - data.setVar('PN', pn + '-' + cls, based) - inherit([cls], based) + variant_d = bb.data.createCopy(safe_d) + data.setVar('PN', pn + '-' + cls, variant_d) + inherit([cls], variant_d) try: - ast.finalise(fn, based) + ast.finalise(fn, variant_d) except bb.parse.SkipPackage: - bb.data.setVar("__SKIPPED", True, based) - darray[cls] = based + bb.data.setVar("__SKIPPED", True, variant_d) + darray[cls] = variant_d return darray if oldfile: