diff options
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/siggen.py | 18 |
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 | ||