summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/build.py5
-rw-r--r--bitbake/lib/bb/utils.py9
2 files changed, 4 insertions, 10 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 98ee36ce58..32022d8085 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -242,10 +242,9 @@ def exec_func_python(func, d, runfile, cwd=None):
242 try: 242 try:
243 comp = utils.better_compile(code, func, bbfile) 243 comp = utils.better_compile(code, func, bbfile)
244 utils.better_exec(comp, {"d": d}, code, bbfile) 244 utils.better_exec(comp, {"d": d}, code, bbfile)
245 except (bb.parse.SkipRecipe, bb.build.FuncFailed):
246 raise
245 except: 247 except:
246 if sys.exc_info()[0] in (bb.parse.SkipRecipe, bb.build.FuncFailed):
247 raise
248
249 raise FuncFailed(func, None) 248 raise FuncFailed(func, None)
250 finally: 249 finally:
251 bb.debug(2, "Python function %s finished" % func) 250 bb.debug(2, "Python function %s finished" % func)
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index c179394dc9..96d8218812 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -354,16 +354,11 @@ def better_exec(code, context, text = None, realfile = "<code>"):
354 code = better_compile(code, realfile, realfile) 354 code = better_compile(code, realfile, realfile)
355 try: 355 try:
356 exec(code, get_context(), context) 356 exec(code, get_context(), context)
357 except bb.BBHandledException: 357 except (bb.BBHandledException, bb.parse.SkipRecipe, bb.build.FuncFailed, bb.data_smart.ExpansionError):
358 # Error already shown so passthrough 358 # Error already shown so passthrough, no need for traceback
359 raise
360 except bb.data_smart.ExpansionError:
361 raise 359 raise
362 except Exception as e: 360 except Exception as e:
363 (t, value, tb) = sys.exc_info() 361 (t, value, tb) = sys.exc_info()
364
365 if t in [bb.parse.SkipRecipe, bb.build.FuncFailed]:
366 raise
367 try: 362 try:
368 _print_exception(t, value, tb, realfile, text, context) 363 _print_exception(t, value, tb, realfile, text, context)
369 except Exception as e: 364 except Exception as e: