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>
This commit is contained in:
Alexandru DAMIAN 2014-04-02 11:56:52 +01:00 committed by Richard Purdie
parent 1afb2a2620
commit 53b781f41e
2 changed files with 15 additions and 6 deletions

View File

@ -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']

View File

@ -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,