diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-03 09:45:58 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-15 22:56:16 +0000 |
commit | d3d9a37aa7addac066762f624ec857d34c57343b (patch) | |
tree | 7869778847e8e4649366d313dc0623e4ebe0101e | |
parent | b1256965bb0d5e97862b5bcddc5864a491794741 (diff) | |
download | poky-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.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/ast.py | 4 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/BBHandler.py | 2 |
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 |
1435 | def _inherit(bbclass, data): | 1435 | def _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 | ||
1439 | class ParsingFailure(Exception): | 1439 | class 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 | ||
305 | def handleInherit(statements, filename, lineno, m): | 305 | def 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 | ||
309 | def finalize(fn, d, variant = None): | 309 | def 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 | ||
71 | def inherit(files, fn, lineno, d): | 71 | def 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 | ||