diff options
-rwxr-xr-x | bitbake/bin/bitbake-diffsigs | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/siggen.py | 24 |
2 files changed, 19 insertions, 7 deletions
diff --git a/bitbake/bin/bitbake-diffsigs b/bitbake/bin/bitbake-diffsigs index a8f49191b0..8202c78623 100755 --- a/bitbake/bin/bitbake-diffsigs +++ b/bitbake/bin/bitbake-diffsigs | |||
@@ -99,7 +99,7 @@ def recursecb(key, hash1, hash2): | |||
99 | elif hash2 not in hashfiles: | 99 | elif hash2 not in hashfiles: |
100 | recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2)) | 100 | recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2)) |
101 | else: | 101 | else: |
102 | out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color) | 102 | out2 = bb.siggen.compare_sigfiles(hashfiles[hash1]['path'], hashfiles[hash2]['path'], recursecb, color=color) |
103 | for change in out2: | 103 | for change in out2: |
104 | for line in change.splitlines(): | 104 | for line in change.splitlines(): |
105 | recout.append(' ' + line) | 105 | recout.append(' ' + line) |
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 5a584cadf9..58854aee76 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -849,10 +849,18 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): | |||
849 | formatparams.update(values) | 849 | formatparams.update(values) |
850 | return formatstr.format(**formatparams) | 850 | return formatstr.format(**formatparams) |
851 | 851 | ||
852 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: | 852 | try: |
853 | a_data = json.load(f, object_hook=SetDecoder) | 853 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: |
854 | with bb.compress.zstd.open(b, "rt", encoding="utf-8", num_threads=1) as f: | 854 | a_data = json.load(f, object_hook=SetDecoder) |
855 | b_data = json.load(f, object_hook=SetDecoder) | 855 | except (TypeError, OSError) as err: |
856 | bb.error("Failed to open sigdata file '%s': %s" % (a, str(err))) | ||
857 | raise err | ||
858 | try: | ||
859 | with bb.compress.zstd.open(b, "rt", encoding="utf-8", num_threads=1) as f: | ||
860 | b_data = json.load(f, object_hook=SetDecoder) | ||
861 | except (TypeError, OSError) as err: | ||
862 | bb.error("Failed to open sigdata file '%s': %s" % (b, str(err))) | ||
863 | raise err | ||
856 | 864 | ||
857 | for data in [a_data, b_data]: | 865 | for data in [a_data, b_data]: |
858 | handle_renames(data) | 866 | handle_renames(data) |
@@ -1090,8 +1098,12 @@ def calc_taskhash(sigdata): | |||
1090 | def dump_sigfile(a): | 1098 | def dump_sigfile(a): |
1091 | output = [] | 1099 | output = [] |
1092 | 1100 | ||
1093 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: | 1101 | try: |
1094 | a_data = json.load(f, object_hook=SetDecoder) | 1102 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: |
1103 | a_data = json.load(f, object_hook=SetDecoder) | ||
1104 | except (TypeError, OSError) as err: | ||
1105 | bb.error("Failed to open sigdata file '%s': %s" % (a, str(err))) | ||
1106 | raise err | ||
1095 | 1107 | ||
1096 | handle_renames(a_data) | 1108 | handle_renames(a_data) |
1097 | 1109 | ||