[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2137/8267] bitbake: cookerdata/ast: Fail gracefully if event handler function is not found
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 2137/8267] bitbake: cookerdata/ast: Fail gracefully if event handler function is not found
- Date: Sat, 16 Dec 2017 22:48:28 +0000 (UTC)
commit 3658f6d4770b9015561b33c1e24078b1713372e4
Author: Markus Lehtonen <markus lehtonen linux intel com>
Date: Tue Aug 30 12:53:30 2016 +0300
bitbake: cookerdata/ast: Fail gracefully if event handler function is not found
[YOCTO #10186]
(Bitbake rev: 107c47c4e6de6a596cf1aeca5c18dbc1c5b44dc4)
Signed-off-by: Markus Lehtonen <markus lehtonen linux intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
bitbake/lib/bb/cookerdata.py | 3 +++
bitbake/lib/bb/parse/ast.py | 2 ++
2 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index fa1de7a..bf9bfbf 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -357,6 +357,9 @@ class CookerDataBuilder(object):
# We register any handlers we've found so far here...
for var in data.getVar('__BBHANDLERS', False) or []:
handlerfn = data.getVarFlag(var, "filename", False)
+ if not handlerfn:
+ parselog.critical("Undefined event handler function '%s'" % var)
+ sys.exit(1)
handlerln = int(data.getVarFlag(var, "lineno", False))
bb.event.register(var, data.getVar(var, False), (data.getVarFlag(var, "eventmask", True) or
"").split(), handlerfn, handlerln)
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index d7185b1..fa83b18 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -344,6 +344,8 @@ def finalize(fn, d, variant = None):
for var in d.getVar('__BBHANDLERS', False) or []:
# try to add the handler
handlerfn = d.getVarFlag(var, "filename", False)
+ if not handlerfn:
+ bb.fatal("Undefined event handler function '%s'" % var)
handlerln = int(d.getVarFlag(var, "lineno", False))
bb.event.register(var, d.getVar(var, False), (d.getVarFlag(var, "eventmask", True) or "").split(),
handlerfn, handlerln)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]