diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-16 22:51:08 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-17 14:43:31 +0100 |
commit | 62384f5467fe6111344cbd527e3424f2acabf560 (patch) | |
tree | b6c1efa87ecc3a29f2099183928a8c6129d0e52e | |
parent | 74ae91e0bd29fe640cb4a3d5caf57cc5192860f7 (diff) | |
download | poky-62384f5467fe6111344cbd527e3424f2acabf560.tar.gz |
bitbake: siggen: Fixes to handle sigdata/siginfo files only containing basehash data
The signature data file comparison functions are meant to be able to
handle data files containing just the base hash data. This had regressed
in some places so add fixes to allow these comparisons to be made. The
runtime components in the data files are optional.
(Bitbake rev: 2a6659fd748e255a02c2f9d047829d6edfe65317)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/siggen.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 21ecd8fbf5..e4085cfba7 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -299,7 +299,7 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
299 | computed_basehash = calc_basehash(data) | 299 | computed_basehash = calc_basehash(data) |
300 | if computed_basehash != self.basehash[k]: | 300 | if computed_basehash != self.basehash[k]: |
301 | bb.error("Basehash mismatch %s verses %s for %s" % (computed_basehash, self.basehash[k], k)) | 301 | bb.error("Basehash mismatch %s verses %s for %s" % (computed_basehash, self.basehash[k], k)) |
302 | if k in self.taskhash: | 302 | if runtime and k in self.taskhash: |
303 | computed_taskhash = calc_taskhash(data) | 303 | computed_taskhash = calc_taskhash(data) |
304 | if computed_taskhash != self.taskhash[k]: | 304 | if computed_taskhash != self.taskhash[k]: |
305 | bb.error("Taskhash mismatch %s verses %s for %s" % (computed_taskhash, self.taskhash[k], k)) | 305 | bb.error("Taskhash mismatch %s verses %s for %s" % (computed_taskhash, self.taskhash[k], k)) |
@@ -453,6 +453,11 @@ def compare_sigfiles(a, b, recursecb = None): | |||
453 | for dep in changed: | 453 | for dep in changed: |
454 | output.append("Variable %s value changed from '%s' to '%s'" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])) | 454 | output.append("Variable %s value changed from '%s' to '%s'" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])) |
455 | 455 | ||
456 | if not 'file_checksum_values' in a_data: | ||
457 | a_data['file_checksum_values'] = {} | ||
458 | if not 'file_checksum_values' in b_data: | ||
459 | b_data['file_checksum_values'] = {} | ||
460 | |||
456 | changed, added, removed = file_checksums_diff(a_data['file_checksum_values'], b_data['file_checksum_values']) | 461 | changed, added, removed = file_checksums_diff(a_data['file_checksum_values'], b_data['file_checksum_values']) |
457 | if changed: | 462 | if changed: |
458 | for f, old, new in changed: | 463 | for f, old, new in changed: |
@@ -464,6 +469,10 @@ def compare_sigfiles(a, b, recursecb = None): | |||
464 | for f in removed: | 469 | for f in removed: |
465 | output.append("Dependency on checksum of file %s was removed" % (f)) | 470 | output.append("Dependency on checksum of file %s was removed" % (f)) |
466 | 471 | ||
472 | if not 'runtaskdeps' in a_data: | ||
473 | a_data['runtaskdeps'] = {} | ||
474 | if not 'runtaskdeps' in b_data: | ||
475 | b_data['runtaskdeps'] = {} | ||
467 | 476 | ||
468 | if len(a_data['runtaskdeps']) != len(b_data['runtaskdeps']): | 477 | if len(a_data['runtaskdeps']) != len(b_data['runtaskdeps']): |
469 | changed = ["Number of task dependencies changed"] | 478 | changed = ["Number of task dependencies changed"] |