hob: handle sanity check failures as a separate event
cover hob: handle sanity check failures as a separate event
The following change (against Poky, but applies cleanly with -p2 against BitBake master) is available in the git repository at:
git://git.yoctoproject.org/poky-contrib paule/hob-sanity
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=paule/hob-sanity
Paul Eggleton (1):
hob: handle sanity check failures as a separate event
bitbake/lib/bb/event.py | 8 ++++++++ bitbake/lib/bb/ui/crumbs/builder.py | 7 ++++++- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-)
Signature · 1 line
1.7.9.5
PATCH 1/1 hob: handle sanity check failures as a separate event
In order to show a friendlier error message that does not bury the actual sanity error in our typical preamble about disabling sanity checks, use a separate event to indicate that sanity checks failed.
This change is intended to work together with the related change to sanity.bbclass in OE-Core.
Fixes [YOCTO #2336].
--- bitbake/lib/bb/event.py | 8 ++++++++ bitbake/lib/bb/ui/crumbs/builder.py | 7 ++++++- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-)
bitbake/lib/bb/event.py +8 -0
@@ -527,3 +527,11 @@ class SanityCheckPassed(Event): """ Event to indicate sanity check is passed """ + +class SanityCheckFailed(Event): + """ + Event to indicate sanity check has failed + """ + def __init__(self, msg): + Event.__init__(self) + self._msg = msg
bitbake/lib/bb/ui/crumbs/builder.py +6 -1
@@ -424,6 +424,7 @@ class Builder(gtk.Window): self.handler.connect("data-generated", self.handler_data_generated_cb) self.handler.connect("command-succeeded", self.handler_command_succeeded_cb) self.handler.connect("command-failed", self.handler_command_failed_cb) + self.handler.connect("sanity-failed", self.handler_sanity_failed_cb) self.handler.connect("recipe-populated", self.handler_recipe_populated_cb) self.handler.connect("package-populated", self.handler_package_populated_cb)
@@ -727,10 +728,14 @@ class Builder(gtk.Window): def handler_command_failed_cb(self, handler, msg): if msg: - msg = msg.replace("your local.conf", "Settings") self.show_error_dialog(msg) self.reset() + def handler_sanity_failed_cb(self, handler, msg): + msg = msg.replace("your local.conf", "Settings") + self.show_error_dialog(msg) + self.reset() + def window_sensitive(self, sensitive): self.image_configuration_page.machine_combo.set_sensitive(sensitive) self.image_configuration_page.image_combo.set_sensitive(sensitive)
bitbake/lib/bb/ui/crumbs/hobeventhandler.py +6 -0
@@ -42,6 +42,9 @@ class HobHandler(gobject.GObject): "command-failed" : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_STRING,)), + "sanity-failed" : (gobject.SIGNAL_RUN_LAST, + gobject.TYPE_NONE, + (gobject.TYPE_STRING,)), "generating-data" : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()),
@@ -170,6 +173,9 @@ class HobHandler(gobject.GObject): elif isinstance(event, bb.event.SanityCheckPassed): self.run_next_command() + elif isinstance(event, bb.event.SanityCheckFailed): + self.emit("sanity-failed", event._msg) + elif isinstance(event, logging.LogRecord): if event.levelno >= logging.ERROR: self.error_msg += event.msg + '\n'
Signature · 1 line
1.7.9.5
Richard Purdie
AppliedQuoted 7 lines · Paul Eggleton
In order to show a friendlier error message that does not bury the actual sanity error in our typical preamble about disabling sanity checks, use a separate event to indicate that sanity checks failed.
This change is intended to work together with the related change to sanity.bbclass in OE-Core.
Quoted 8 lines
Fixes [YOCTO #2336].
Signed-off-by Paul Eggleton <[email protected]>--- bitbake/lib/bb/event.py | 8 ++++++++ bitbake/lib/bb/ui/crumbs/builder.py | 7 ++++++- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-)
Merged to master, thanks.
Richard