summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/siggen.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 12257914cd..611772a27f 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -235,6 +235,16 @@ def compare_sigfiles(a, b):
235 removed = sb - sa 235 removed = sb - sa
236 return changed, added, removed 236 return changed, added, removed
237 237
238 def clean_basepaths(a):
239 b = {}
240 for x in a:
241 if x.startswith("virtual:"):
242 y = x.rsplit(":", 1)[0] + x.rsplit("/", 1)[1]
243 else:
244 y = x.rsplit("/", 1)[1]
245 b[y] = a[x]
246 return b
247
238 if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']: 248 if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
239 print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist']) 249 print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
240 250
@@ -242,7 +252,7 @@ def compare_sigfiles(a, b):
242 print "taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist']) 252 print "taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist'])
243 253
244 if a_data['taskdeps'] != b_data['taskdeps']: 254 if a_data['taskdeps'] != b_data['taskdeps']:
245 print "Task dependencies changed from %s to %s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps'])) 255 print "Task dependencies changed from:\n%s\nto:\n%s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
246 256
247 if a_data['basehash'] != b_data['basehash']: 257 if a_data['basehash'] != b_data['basehash']:
248 print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash']) 258 print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash'])
@@ -265,7 +275,9 @@ def compare_sigfiles(a, b):
265 print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep]) 275 print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
266 276
267 if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data: 277 if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
268 changed, added, removed = dict_diff(a_data['runtaskhashes'], b_data['runtaskhashes']) 278 a = clean_basepaths(a_data['runtaskhashes'])
279 b = clean_basepaths(b_data['runtaskhashes'])
280 changed, added, removed = dict_diff(a, b)
269 if added: 281 if added:
270 for dep in added: 282 for dep in added:
271 print "Dependency on task %s was added" % (dep) 283 print "Dependency on task %s was added" % (dep)
@@ -274,7 +286,7 @@ def compare_sigfiles(a, b):
274 print "Dependency on task %s was removed" % (dep) 286 print "Dependency on task %s was removed" % (dep)
275 if changed: 287 if changed:
276 for dep in changed: 288 for dep in changed:
277 print "Hash for dependent task %s changed from %s to %s" % (dep, a_data['runtaskhashes'][dep], b_data['runtaskhashes'][dep]) 289 print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
278 elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']): 290 elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']):
279 print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps'])) 291 print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps']))
280 292