diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2016-05-19 00:28:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-19 22:32:06 +0100 |
commit | d416a4e16ea99c5ad7644160e3670da6653d786f (patch) | |
tree | 3043e7d6754a638782e3712187731cf388a21d62 /meta | |
parent | c60134f4c845a5722b2ed9d072ab48453881813f (diff) | |
download | poky-d416a4e16ea99c5ad7644160e3670da6653d786f.tar.gz |
rootfs.py: Remove _log_check_error() from the RpmRootfs class
The fact that this function was overridden in the RpmRootfs class
seems to have led to a number of misstakes when changes have been made
to the base function in the Rootfs class. E.g., this change will
properly solve ticket 7789, which was supposedly solved in 38871dc0,
but that change had no effect in practice as the log_check_regex that
was modified for RpmRootfs class was not used by the RpmRootfs version
of _log_check_error()...
The only thing _log_check_error() in RpmRootfs did that the base
function in Rootfs did not do was to skip lines in the log that begin
with a + sign. This has now been moved to the base function instead.
[YOCTO #7789]
(From OE-Core rev: 1eb0a46502fca4b2ee30ccd2508f4e21a40c25ca)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oe/rootfs.py | 29 |
1 files changed, 3 insertions, 26 deletions
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index f6fb06cc08..0a2753e6e8 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py | |||
@@ -62,6 +62,9 @@ class Rootfs(object): | |||
62 | for line in log: | 62 | for line in log: |
63 | if 'log_check' in line: | 63 | if 'log_check' in line: |
64 | continue | 64 | continue |
65 | # sh -x may emit code which isn't actually executed | ||
66 | if line.startswith('+'): | ||
67 | continue | ||
65 | 68 | ||
66 | if hasattr(self, 'log_check_expected_errors_regexes'): | 69 | if hasattr(self, 'log_check_expected_errors_regexes'): |
67 | m = None | 70 | m = None |
@@ -473,32 +476,6 @@ class RpmRootfs(Rootfs): | |||
473 | # already saved in /etc/rpm-postinsts | 476 | # already saved in /etc/rpm-postinsts |
474 | pass | 477 | pass |
475 | 478 | ||
476 | def _log_check_error(self): | ||
477 | r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR|Fail)') | ||
478 | log_path = self.d.expand("${T}/log.do_rootfs") | ||
479 | with open(log_path, 'r') as log: | ||
480 | found_error = 0 | ||
481 | message = "\n" | ||
482 | for line in log.read().split('\n'): | ||
483 | if 'log_check' in line: | ||
484 | continue | ||
485 | # sh -x may emit code which isn't actually executed | ||
486 | if line.startswith('+'): | ||
487 | continue | ||
488 | |||
489 | m = r.search(line) | ||
490 | if m: | ||
491 | found_error = 1 | ||
492 | bb.warn('log_check: There were error messages in the logfile') | ||
493 | bb.warn('log_check: Matched keyword: [%s]\n\n' % m.group()) | ||
494 | |||
495 | if found_error >= 1 and found_error <= 5: | ||
496 | message += line + '\n' | ||
497 | found_error += 1 | ||
498 | |||
499 | if found_error == 6: | ||
500 | bb.fatal(message) | ||
501 | |||
502 | def _log_check(self): | 479 | def _log_check(self): |
503 | self._log_check_warn() | 480 | self._log_check_warn() |
504 | self._log_check_error() | 481 | self._log_check_error() |