diff options
| -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 | ||
