]> code.ossystems Code Review - openembedded-core.git/commitdiff
Fix issues with BBCLASSEXTEND set by anonymous python, and rename some variables...
authorChris Larson <clarson@kergoth.com>
Mon, 1 Mar 2010 23:45:15 +0000 (18:45 -0500)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 22 Mar 2010 15:03:21 +0000 (15:03 +0000)
(Bitbake rev: 3062e96181fe845cfd286990b0216888ddd3d228)

Signed-off-by: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/parse/parse_py/BBHandler.py

index ea3478ce3af408b6e1295946148d1dc3752cfce5..4641c13d9c62bd62d2cd7618e0d5b58eafb251f7 100644 (file)
@@ -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: