From 2f9e15afbe988a76b9581093b8bd469e275a0b9e Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 1 Mar 2010 18:45:15 -0500 Subject: Fix issues with BBCLASSEXTEND set by anonymous python, and rename some variables to improve code clarity (Bitbake rev: 3062e96181fe845cfd286990b0216888ddd3d228) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/parse/parse_py/BBHandler.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index ea3478ce3a..4641c13d9c 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/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: -- cgit v1.2.3-54-g00ecf