From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: bitbake-devel <bitbake-devel@lists.openembedded.org>
Subject: [PATCH] parse/ast: Expand inherit statements before splitting them
Date: Sat, 03 Mar 2012 20:17:17 -0800 [thread overview]
Message-ID: <1330834637.3949.8.camel@ted> (raw)
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".
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
bitbake/lib/bb/cooker.py | 2 +-
bitbake/lib/bb/parse/ast.py | 4 ++--
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 558eadd..d6e1bf8 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1431,7 +1431,7 @@ def _parse(fn, data, include=True):
@catch_parse_error
def _inherit(bbclass, data):
- bb.parse.BBHandler.inherit([bbclass], "configuration INHERITs", 0, data)
+ bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
return data
class ParsingFailure(Exception):
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 7cef3d0..eae840f 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):
def handleInherit(statements, filename, lineno, m):
classes = m.group(1)
- statements.append(InheritNode(filename, lineno, classes.split()))
+ statements.append(InheritNode(filename, lineno, classes))
def finalize(fn, d, variant = None):
all_handlers = {}
@@ -452,7 +452,7 @@ def multi_finalize(fn, d):
d.setVar("BBEXTENDVARIANT", variantmap[name])
else:
d.setVar("PN", "%s-%s" % (pn, name))
- bb.parse.BBHandler.inherit([extendedmap[name]], fn, 0, d)
+ bb.parse.BBHandler.inherit(extendedmap[name], fn, 0, d)
safe_d.setVar("BBCLASSEXTEND", extended)
_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 125f458..815bce1 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):
def inherit(files, fn, lineno, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
+ files = d.expand(files).split()
for file in files:
- file = data.expand(file, d)
if not os.path.isabs(file) and not file.endswith(".bbclass"):
file = os.path.join('classes', '%s.bbclass' % file)
next reply other threads:[~2012-03-04 4:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-04 4:17 Richard Purdie [this message]
2012-03-07 22:13 ` [PATCH] parse/ast: Expand inherit statements before splitting them McClintock Matthew-B29882
2012-03-08 15:01 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1330834637.3949.8.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=bitbake-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.