For each warning found in the log, _log_check_warn() would output a line stating that it had found a warning, then the actual warning and finally an empty line. This is quite excessive when there are many warnings in the log.
With this change the output is instead a line stating how many warnings were found, followed by the warnings. This makes the output much more compact and actually much more readable. Signed-off-by: Peter Kjellerstedt <peter.kjellerst...@axis.com> --- meta/lib/oe/rootfs.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 741399a..479e4cc 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -50,6 +50,7 @@ class Rootfs(object): excludes = [re.compile(x) for x in excludes] r = re.compile('^(warn|Warn|WARNING:)') log_path = self.d.expand("${T}/log.do_rootfs") + messages = [] with open(log_path, 'r') as log: for line in log: for ee in excludes: @@ -61,8 +62,14 @@ class Rootfs(object): m = r.search(line) if m: - bb.warn('[log_check] %s: found a warning message in the logfile (keyword \'%s\'):\n[log_check] %s' - % (self.d.getVar('PN', True), m.group(), line)) + messages.append('[log_check] %s' % line) + if messages: + if len(messages) == 1: + msg = 'a warning message' + else: + msg = '%d warning messages' % len(messages) + bb.warn('[log_check] %s: found %s in the logfile:\n%s' + % (self.d.getVar('PN', True), msg, ''.join(messages))) def _log_check_error(self): # Ignore any lines containing log_check to avoid recursion, and ignore -- 2.1.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core