summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-03 09:45:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-15 22:56:16 +0000
commitd3d9a37aa7addac066762f624ec857d34c57343b (patch)
tree7869778847e8e4649366d313dc0623e4ebe0101e
parentb1256965bb0d5e97862b5bcddc5864a491794741 (diff)
downloadpoky-d3d9a37aa7addac066762f624ec857d34c57343b.tar.gz
parse/ast: Expand inherit statements before splitting them
This means that statements that expand to more then one entry such as: CLASSES = "a b" inherit ${CLASSES} work correctly instead of trying to inherit a class called "a b". (Bitbake rev: 2568e9ace6e6f483e1bf2a9ef2f4d8318d6c85b7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/cooker.py2
-rw-r--r--bitbake/lib/bb/parse/ast.py4
-rw-r--r--bitbake/lib/bb/parse/parse_py/BBHandler.py2
3 files changed, 4 insertions, 4 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 688e2650e9..97dd3063a9 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1433,7 +1433,7 @@ def _parse(fn, data, include=True):
1433 1433
1434@catch_parse_error 1434@catch_parse_error
1435def _inherit(bbclass, data): 1435def _inherit(bbclass, data):
1436 bb.parse.BBHandler.inherit([bbclass], "configuration INHERITs", 0, data) 1436 bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
1437 return data 1437 return data
1438 1438
1439class ParsingFailure(Exception): 1439class ParsingFailure(Exception):
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 7cef3d0373..eae840fa8d 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -304,7 +304,7 @@ def handleBBHandlers(statements, filename, lineno, m):
304 304
305def handleInherit(statements, filename, lineno, m): 305def handleInherit(statements, filename, lineno, m):
306 classes = m.group(1) 306 classes = m.group(1)
307 statements.append(InheritNode(filename, lineno, classes.split())) 307 statements.append(InheritNode(filename, lineno, classes))
308 308
309def finalize(fn, d, variant = None): 309def finalize(fn, d, variant = None):
310 all_handlers = {} 310 all_handlers = {}
@@ -452,7 +452,7 @@ def multi_finalize(fn, d):
452 d.setVar("BBEXTENDVARIANT", variantmap[name]) 452 d.setVar("BBEXTENDVARIANT", variantmap[name])
453 else: 453 else:
454 d.setVar("PN", "%s-%s" % (pn, name)) 454 d.setVar("PN", "%s-%s" % (pn, name))
455 bb.parse.BBHandler.inherit([extendedmap[name]], fn, 0, d) 455 bb.parse.BBHandler.inherit(extendedmap[name], fn, 0, d)
456 456
457 safe_d.setVar("BBCLASSEXTEND", extended) 457 safe_d.setVar("BBCLASSEXTEND", extended)
458 _create_variants(datastores, extendedmap.keys(), extendfunc) 458 _create_variants(datastores, extendedmap.keys(), extendfunc)
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 125f458de7..815bce1d75 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -70,8 +70,8 @@ def supports(fn, d):
70 70
71def inherit(files, fn, lineno, d): 71def inherit(files, fn, lineno, d):
72 __inherit_cache = data.getVar('__inherit_cache', d) or [] 72 __inherit_cache = data.getVar('__inherit_cache', d) or []
73 files = d.expand(files).split()
73 for file in files: 74 for file in files:
74 file = data.expand(file, d)
75 if not os.path.isabs(file) and not file.endswith(".bbclass"): 75 if not os.path.isabs(file) and not file.endswith(".bbclass"):
76 file = os.path.join('classes', '%s.bbclass' % file) 76 file = os.path.join('classes', '%s.bbclass' % file)
77 77