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:36:04 +0000 |
commit | 853d707af541981190a476bd078837c0e19b53b3 (patch) | |
tree | 78dafd2218034b0d8614473afd819a34638ef8a9 | |
parent | 5d968368bc8b5813b0579910e23bd50fa6bd874b (diff) | |
download | poky-853d707af541981190a476bd078837c0e19b53b3.tar.gz |
bitbake: 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.
(Bitbake rev: 7467d7d66b24cc8f43ab168e65895e7c4aee6092)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/BBHandler.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index fb8d9d53c0..d328400903 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -143,6 +143,8 @@ class DataSmart(MutableMapping): | |||
143 | break | 143 | break |
144 | except ExpansionError: | 144 | except ExpansionError: |
145 | raise | 145 | raise |
146 | except bb.parse.SkipPackage: | ||
147 | raise | ||
146 | except Exception as exc: | 148 | except Exception as exc: |
147 | raise ExpansionError(varname, s, exc) | 149 | raise ExpansionError(varname, s, exc) |
148 | 150 | ||
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index e6039e11a2..2ee8ebd28f 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py | |||
@@ -153,7 +153,12 @@ def handle(fn, d, include): | |||
153 | if ext != ".bbclass": | 153 | if ext != ".bbclass": |
154 | data.setVar('FILE', abs_fn, d) | 154 | data.setVar('FILE', abs_fn, d) |
155 | 155 | ||
156 | statements.eval(d) | 156 | try: |
157 | statements.eval(d) | ||
158 | except bb.parse.SkipPackage: | ||
159 | bb.data.setVar("__SKIPPED", True, d) | ||
160 | if include == 0: | ||
161 | return { "" : d } | ||
157 | 162 | ||
158 | if ext != ".bbclass" and include == 0: | 163 | if ext != ".bbclass" and include == 0: |
159 | return ast.multi_finalize(fn, d) | 164 | return ast.multi_finalize(fn, d) |