From 853d707af541981190a476bd078837c0e19b53b3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 14 Dec 2012 12:33:01 +0000 Subject: 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 --- bitbake/lib/bb/data_smart.py | 2 ++ bitbake/lib/bb/parse/parse_py/BBHandler.py | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'bitbake/lib') 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): break except ExpansionError: raise + except bb.parse.SkipPackage: + raise except Exception as exc: raise ExpansionError(varname, s, exc) 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): 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) -- cgit v1.2.3-54-g00ecf