diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-25 08:51:37 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-25 09:00:05 +0100 |
commit | c6798b431571aae18bb8699ac6e3ec75b731d719 (patch) | |
tree | ac8ebc103514ef22bb07acc66975e32cc1d62df4 | |
parent | 0eb75a34bd9731e9de7bc9600a7418a927561fdb (diff) | |
download | bitbake-c6798b431571aae18bb8699ac6e3ec75b731d719.tar.gz |
siggen: Don't crash if number of task dependencies change
If the number of task dependencies change you currently get
a traceback when using diffsigs.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/siggen.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py index 2de3aff33..298527221 100644 --- a/lib/bb/siggen.py +++ b/lib/bb/siggen.py @@ -419,12 +419,16 @@ def compare_sigfiles(a, b, recursecb = None): for f in removed: output.append("Dependency on checksum of file %s was removed" % (f)) - changed = [] - for idx, task in enumerate(a_data['runtaskdeps']): - a = a_data['runtaskdeps'][idx] - b = b_data['runtaskdeps'][idx] - if a_data['runtaskhashes'][a] != b_data['runtaskhashes'][b]: - changed.append("%s with hash %s\n changed to\n%s with hash %s" % (a, a_data['runtaskhashes'][a], b, b_data['runtaskhashes'][b])) + + if len(a_data['runtaskdeps']) != len(b_data['runtaskdeps']): + changed = ["Number of task dependencies changed"] + else: + changed = [] + for idx, task in enumerate(a_data['runtaskdeps']): + a = a_data['runtaskdeps'][idx] + b = b_data['runtaskdeps'][idx] + if a_data['runtaskhashes'][a] != b_data['runtaskhashes'][b]: + changed.append("%s with hash %s\n changed to\n%s with hash %s" % (a, a_data['runtaskhashes'][a], b, b_data['runtaskhashes'][b])) if changed: output.append("runtaskdeps changed from %s to %s" % (clean_basepaths_list(a_data['runtaskdeps']), clean_basepaths_list(b_data['runtaskdeps']))) |