summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/siggen.py47
1 files changed, 26 insertions, 21 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index f42bae25c5..3a9e132bab 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -295,27 +295,32 @@ def compare_sigfiles(a, b):
295 print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep]) 295 print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
296 296
297 if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data: 297 if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
298 if len(a_data['runtaskdeps']) != len(b_data['runtaskdeps']): 298 a = clean_basepaths(a_data['runtaskhashes'])
299 a = clean_basepaths(a_data['runtaskhashes']) 299 b = clean_basepaths(b_data['runtaskhashes'])
300 b = clean_basepaths(b_data['runtaskhashes']) 300 changed, added, removed = dict_diff(a, b)
301 changed, added, removed = dict_diff(a, b) 301 if added:
302 if added: 302 for dep in added:
303 for dep in added: 303 bdep_found = False
304 print "Dependency on task %s was added" % (dep) 304 if removed:
305 if removed: 305 for bdep in removed:
306 for dep in removed: 306 if a[dep] == b[bdep]:
307 print "Dependency on task %s was removed" % (dep) 307 #print "Dependency on task %s was replaced by %s with same hash" % (dep, bdep)
308 if changed: 308 bdep_found = True
309 for dep in changed: 309 if not bdep_found:
310 print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep]) 310 print "Dependency on task %s was added with hash %s" % (dep, a[dep])
311 else: 311 if removed:
312 for i in range(len(a_data['runtaskdeps'])): 312 for dep in removed:
313 aent = a_data['runtaskdeps'][i] 313 adep_found = False
314 bent = b_data['runtaskdeps'][i] 314 if added:
315 aname = clean_basepath(aent) 315 for adep in added:
316 bname = clean_basepath(bent) 316 if a[adep] == b[dep]:
317 if a_data['runtaskhashes'][aent] != b_data['runtaskhashes'][bent]: 317 #print "Dependency on task %s was replaced by %s with same hash" % (adep, dep)
318 print "Task dependency hash changed from %s to %s (for %s and %s)" % (a_data['runtaskhashes'][aent], b_data['runtaskhashes'][bent], aname, bname) 318 adep_found = True
319 if not adep_found:
320 print "Dependency on task %s was removed with hash %s" % (dep, b[dep])
321 if changed:
322 for dep in changed:
323 print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
319 324
320def dump_sigfile(a): 325def dump_sigfile(a):
321 p1 = pickle.Unpickler(file(a, "rb")) 326 p1 = pickle.Unpickler(file(a, "rb"))