summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2014-04-02 11:56:52 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-05 14:55:28 +0100
commit53b781f41e71c359b66603a9786cf30cbaf73a65 (patch)
tree13f22b6898ad3fcd899b770e84793efe1369c322
parent1afb2a26200d3799a795135e8b2b6f3ab74bac36 (diff)
downloadopenembedded-core-contrib-53b781f41e71c359b66603a9786cf30cbaf73a65.tar.gz
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 <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/ui/buildinfohelper.py18
-rw-r--r--bitbake/lib/bb/ui/toasterui.py3
2 files changed, 15 insertions, 6 deletions
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,