From 53b781f41e71c359b66603a9786cf30cbaf73a65 Mon Sep 17 00:00:00 2001 From: Alexandru DAMIAN Date: Wed, 2 Apr 2014 11:56:52 +0100 Subject: bitbake: toasterui: save warnings from non-build context Some warnings and errors may come from a non-build context, and they were not saved, even if they were counted for the current build. This patch saves these messages in memory until we have the entire build context available. [YOCTO #5642] (Bitbake rev: fc7a74e7961775b5d7ff25298abed10138d24dc9) Signed-off-by: Alexandru DAMIAN Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 18 +++++++++++++----- bitbake/lib/bb/ui/toasterui.py | 3 ++- 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index dd93d0b6c3..69655709d3 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -933,15 +933,23 @@ class BuildInfoHelper(object): self._store_log_information(LogMessage.ERROR, text) def store_log_event(self, event): - # look up license files info from insane.bbclass - m = re.match("([^:]*): md5 checksum matched for ([^;]*)", event.msg) - if m: - (pn, fn) = m.groups() - self.internal_state['recipes'][pn].save() + if 'build' in self.internal_state and 'backlog' in self.internal_state: + if len(self.internal_state['backlog']): + tempevent = self.internal_state['backlog'].pop() + print "Saving stored event ", tempevent + self.store_log_event(tempevent) + else: + del self.internal_state['backlog'] if event.levelno < format.WARNING: return + if not 'build' in self.internal_state: + print "Save event for later" + if not 'backlog' in self.internal_state: + self.internal_state['backlog'] = [] + self.internal_state['backlog'].append(event) + return log_information = {} log_information['build'] = self.internal_state['build'] diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py index 37d6b1a0cf..9a9fe6f2d8 100644 --- a/bitbake/lib/bb/ui/toasterui.py +++ b/bitbake/lib/bb/ui/toasterui.py @@ -143,6 +143,8 @@ def main(server, eventHandler, params ): # these events are unprocessed now, but may be used in the future to log # timing and error informations from the parsing phase in Toaster + if isinstance(event, (bb.event.SanityCheckPassed, bb.event.SanityCheck)): + continue if isinstance(event, bb.event.ParseStarted): continue if isinstance(event, bb.event.ParseProgress): @@ -209,7 +211,6 @@ def main(server, eventHandler, params ): continue if isinstance(event, (bb.event.BuildCompleted)): - buildinfohelper.update_build_information(event, errors, warnings, taskfailures) continue if isinstance(event, (bb.command.CommandCompleted, -- cgit v1.2.3-54-g00ecf