diff options
| -rw-r--r-- | bitbake/lib/bb/build.py | 5 | ||||
| -rw-r--r-- | bitbake/lib/bb/utils.py | 9 |
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: |
