diff options
-rw-r--r-- | bitbake/lib/bb/siggen.py | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 22417b9cdc..d9d0294615 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -281,21 +281,27 @@ def compare_sigfiles(a, b): | |||
281 | print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep]) | 281 | print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep]) |
282 | 282 | ||
283 | if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data: | 283 | if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data: |
284 | a = clean_basepaths(a_data['runtaskhashes']) | 284 | if len(a_data['runtaskdeps']) != len(b_data['runtaskdeps']): |
285 | b = clean_basepaths(b_data['runtaskhashes']) | 285 | a = clean_basepaths(a_data['runtaskhashes']) |
286 | changed, added, removed = dict_diff(a, b) | 286 | b = clean_basepaths(b_data['runtaskhashes']) |
287 | if added: | 287 | changed, added, removed = dict_diff(a, b) |
288 | for dep in added: | 288 | if added: |
289 | print "Dependency on task %s was added" % (dep) | 289 | for dep in added: |
290 | if removed: | 290 | print "Dependency on task %s was added" % (dep) |
291 | for dep in removed: | 291 | if removed: |
292 | print "Dependency on task %s was removed" % (dep) | 292 | for dep in removed: |
293 | if changed: | 293 | print "Dependency on task %s was removed" % (dep) |
294 | for dep in changed: | 294 | if changed: |
295 | print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep]) | 295 | for dep in changed: |
296 | elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']): | 296 | print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep]) |
297 | print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps'])) | 297 | else: |
298 | print "changed items: %s" % a_data['runtaskdeps'].symmetric_difference(b_data['runtaskdeps']) | 298 | for i in range(len(a_data['runtaskdeps'])): |
299 | aent = a_data['runtaskdeps'][i] | ||
300 | bent = b_data['runtaskdeps'][i] | ||
301 | aname = clean_basepath(aent) | ||
302 | bname = clean_basepath(bent) | ||
303 | if a_data['runtaskhashes'][aent] != b_data['runtaskhashes'][bent]: | ||
304 | print "Task dependency hash changed from %s to %s (for %s and %s)" % (a_data['runtaskhashes'][aent], b_data['runtaskhashes'][bent], aname, bname) | ||
299 | 305 | ||
300 | def dump_sigfile(a): | 306 | def dump_sigfile(a): |
301 | p1 = pickle.Unpickler(file(a, "rb")) | 307 | p1 = pickle.Unpickler(file(a, "rb")) |