aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/siggen.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-19 09:37:39 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-19 09:42:04 +0000
commit7a17fd6e51a76d3582c357b79f5ef86e1969650c (patch)
tree1adb98542303af19b5fd5f1e5ca5f2451e3e3b75 /lib/bb/siggen.py
parente6d5e925c402cd2cc7ee034e9de4cc6df8944a34 (diff)
downloadbitbake-7a17fd6e51a76d3582c357b79f5ef86e1969650c.tar.gz
siggen: When printing signatures recursively, limit the output
Currently the code prints all differences. If the task dependencies have changed hash, we recurse into those and print those differences as well. This leads to a lot of output. The reality is if the parents changed signature, we might as well just say that and recurse with no other output since we're much more interested in how the parents changed in nearly all cases. The changes in the parent are probably the same ones we'd have printed at each level anyway. By doing this we focus the output more carefully on the thing the user wants/needs to see. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/siggen.py')
-rw-r--r--lib/bb/siggen.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
index 52e698c46..370f6ad3b 100644
--- a/lib/bb/siggen.py
+++ b/lib/bb/siggen.py
@@ -430,9 +430,11 @@ def compare_sigfiles(a, b, recursecb = None):
for dep in changed:
output.append("Hash for dependent task %s changed from %s to %s" % (clean_basepath(dep), a[dep], b[dep]))
if callable(recursecb):
+ # If a dependent hash changed, might as well print the line above and then defer to the changes in
+ # that hash since in all likelyhood, they're the same changes this task also saw.
recout = recursecb(dep, a[dep], b[dep])
if recout:
- output.extend(recout)
+ output = [output[-1]] + recout
a_taint = a_data.get('taint', None)
b_taint = b_data.get('taint', None)