summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorSchmidt, Adriaan <adriaan.schmidt@siemens.com>2022-05-06 14:10:33 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-05-10 09:47:36 +0100
commit30cc249a8c75f554693b472928bfd020f4e48fdd (patch)
treebf82ac31452c8b3e37f86da452e0437e52142b37 /bitbake
parent3ccfcc3fcf35bbf0bf1193c855ed71000b1cbefe (diff)
downloadpoky-30cc249a8c75f554693b472928bfd020f4e48fdd.tar.gz
bitbake: bitbake-diffsigs: break on first dependent task difference
compare_sigfiles() recursively calculates differences on all dependent tasks with changed hashes. This is done in arbitrary/alphabetical order, and only the last of those results is returned, while everything else is discarded. This changes the behavior to instead return the first difference and not calculate any more, which significantly speeds up diffs of tasks with many dependencies. (Bitbake rev: ea6a676c9aa2864c2eff40eea41ba09ce903a651) Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/siggen.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 9fa568f614..08eca7860e 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -1026,6 +1026,7 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
1026 # If a dependent hash changed, might as well print the line above and then defer to the changes in 1026 # If a dependent hash changed, might as well print the line above and then defer to the changes in
1027 # that hash since in all likelyhood, they're the same changes this task also saw. 1027 # that hash since in all likelyhood, they're the same changes this task also saw.
1028 output = [output[-1]] + recout 1028 output = [output[-1]] + recout
1029 break
1029 1030
1030 a_taint = a_data.get('taint', None) 1031 a_taint = a_data.get('taint', None)
1031 b_taint = b_data.get('taint', None) 1032 b_taint = b_data.get('taint', None)