diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 8559858f04..f49f71cf71 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -58,7 +58,7 @@ def fire_class_handlers(event, d): event.data = d if type(h).__name__ == "code": locals = {"e": event} - exec h in bb.utils._context, locals + bb.utils.simple_exec(h, locals) bb.utils.better_eval("tmpHandler(e)", locals) else: h(event) diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 50e9402a2b..2e3937ec12 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -222,6 +222,9 @@ def better_exec(code, context, text, realfile): raise +def simple_exec(code, context): + exec code in _context, context + def better_eval(source, locals): return eval(source, _context, locals)