diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-14 12:33:01 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-14 12:35:51 +0000 |
commit | 7467d7d66b24cc8f43ab168e65895e7c4aee6092 (patch) | |
tree | 8ba76719d69792cf8b35ec8f8437a6dd6bb5ded2 /lib | |
parent | 3a1b75037fe1e5282ffd40b037e93353405faa45 (diff) | |
download | bitbake-7467d7d66b24cc8f43ab168e65895e7c4aee6092.tar.gz |
data_smart/BBHandler: Fix SkipParse exception handling
If SkipParse is raised from something which isn't anonymous python, it wasn't
being handled correctly. This improves the handling for example from within inline
python.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/data_smart.py | 2 | ||||
-rw-r--r-- | lib/bb/parse/parse_py/BBHandler.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index fb8d9d53c..d32840090 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -143,6 +143,8 @@ class DataSmart(MutableMapping): break except ExpansionError: raise + except bb.parse.SkipPackage: + raise except Exception as exc: raise ExpansionError(varname, s, exc) diff --git a/lib/bb/parse/parse_py/BBHandler.py b/lib/bb/parse/parse_py/BBHandler.py index e6039e11a..2ee8ebd28 100644 --- a/lib/bb/parse/parse_py/BBHandler.py +++ b/lib/bb/parse/parse_py/BBHandler.py @@ -153,7 +153,12 @@ def handle(fn, d, include): if ext != ".bbclass": data.setVar('FILE', abs_fn, d) - statements.eval(d) + try: + statements.eval(d) + except bb.parse.SkipPackage: + bb.data.setVar("__SKIPPED", True, d) + if include == 0: + return { "" : d } if ext != ".bbclass" and include == 0: return ast.multi_finalize(fn, d) |