diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-02-13 16:54:25 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-02-21 23:37:26 +0000 |
commit | 8a16bf5321a51f440b9b5dcc29bc498d1eb0bf28 (patch) | |
tree | 31a8cfff44f026576fd51538ab9d61e875949327 /bitbake/lib/bb/siggen.py | |
parent | 478cb0ce2c71273799695240845a687aaac0cb0c (diff) | |
download | poky-8a16bf5321a51f440b9b5dcc29bc498d1eb0bf28.tar.gz |
bitbake: bitbake: Rename basehas and taskhash filtering variables
In line with the inclusive language migration defined at:
https://wiki.yoctoproject.org/wiki/Inclusive_language
rename:
BB_HASHBASE_WHITELIST -> BB_BASEHASH_IGNORE_VARS
BB_HASHTASK_WHITELIST -> BB_TASKHASH_IGNORE_TASKS
the derived code variables basewhitelist and taskwhitelist have been
renamed to basehash_ignore_vars and taskhash_ignore_tasks,
respectively.
[RP: Added compatibility mapping code and tweaked naming]
(Bitbake rev: efaafc9ec2e8c0475e3fb27e877a1c0a5532a0e5)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r-- | bitbake/lib/bb/siggen.py | 64 |
1 files changed, 40 insertions, 24 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index e0ec736dff..d0988e0e40 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -172,8 +172,8 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
172 | self.gendeps = {} | 172 | self.gendeps = {} |
173 | self.lookupcache = {} | 173 | self.lookupcache = {} |
174 | self.setscenetasks = set() | 174 | self.setscenetasks = set() |
175 | self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST") or "").split()) | 175 | self.basehash_ignore_vars = set((data.getVar("BB_BASEHASH_IGNORE_VARS") or "").split()) |
176 | self.taskwhitelist = None | 176 | self.taskhash_ignore_tasks = None |
177 | self.init_rundepcheck(data) | 177 | self.init_rundepcheck(data) |
178 | checksum_cache_file = data.getVar("BB_HASH_CHECKSUM_CACHE_FILE") | 178 | checksum_cache_file = data.getVar("BB_HASH_CHECKSUM_CACHE_FILE") |
179 | if checksum_cache_file: | 179 | if checksum_cache_file: |
@@ -188,18 +188,18 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
188 | self.tidtopn = {} | 188 | self.tidtopn = {} |
189 | 189 | ||
190 | def init_rundepcheck(self, data): | 190 | def init_rundepcheck(self, data): |
191 | self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None | 191 | self.taskhash_ignore_tasks = data.getVar("BB_TASKHASH_IGNORE_TASKS") or None |
192 | if self.taskwhitelist: | 192 | if self.taskhash_ignore_tasks: |
193 | self.twl = re.compile(self.taskwhitelist) | 193 | self.twl = re.compile(self.taskhash_ignore_tasks) |
194 | else: | 194 | else: |
195 | self.twl = None | 195 | self.twl = None |
196 | 196 | ||
197 | def _build_data(self, fn, d): | 197 | def _build_data(self, fn, d): |
198 | 198 | ||
199 | ignore_mismatch = ((d.getVar("BB_HASH_IGNORE_MISMATCH") or '') == '1') | 199 | ignore_mismatch = ((d.getVar("BB_HASH_IGNORE_MISMATCH") or '') == '1') |
200 | tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d, self.basewhitelist) | 200 | tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d, self.basehash_ignore_vars) |
201 | 201 | ||
202 | taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, self.basewhitelist, fn) | 202 | taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, self.basehash_ignore_vars, fn) |
203 | 203 | ||
204 | for task in tasklist: | 204 | for task in tasklist: |
205 | tid = fn + ":" + task | 205 | tid = fn + ":" + task |
@@ -253,7 +253,8 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
253 | 253 | ||
254 | def rundep_check(self, fn, recipename, task, dep, depname, dataCaches): | 254 | def rundep_check(self, fn, recipename, task, dep, depname, dataCaches): |
255 | # Return True if we should keep the dependency, False to drop it | 255 | # Return True if we should keep the dependency, False to drop it |
256 | # We only manipulate the dependencies for packages not in the whitelist | 256 | # We only manipulate the dependencies for packages not in the ignore |
257 | # list | ||
257 | if self.twl and not self.twl.search(recipename): | 258 | if self.twl and not self.twl.search(recipename): |
258 | # then process the actual dependencies | 259 | # then process the actual dependencies |
259 | if self.twl.search(depname): | 260 | if self.twl.search(depname): |
@@ -372,15 +373,15 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
372 | 373 | ||
373 | data = {} | 374 | data = {} |
374 | data['task'] = task | 375 | data['task'] = task |
375 | data['basewhitelist'] = self.basewhitelist | 376 | data['basehash_ignore_vars'] = self.basehash_ignore_vars |
376 | data['taskwhitelist'] = self.taskwhitelist | 377 | data['taskhash_ignore_tasks'] = self.taskhash_ignore_tasks |
377 | data['taskdeps'] = self.taskdeps[fn][task] | 378 | data['taskdeps'] = self.taskdeps[fn][task] |
378 | data['basehash'] = self.basehash[tid] | 379 | data['basehash'] = self.basehash[tid] |
379 | data['gendeps'] = {} | 380 | data['gendeps'] = {} |
380 | data['varvals'] = {} | 381 | data['varvals'] = {} |
381 | data['varvals'][task] = self.lookupcache[fn][task] | 382 | data['varvals'][task] = self.lookupcache[fn][task] |
382 | for dep in self.taskdeps[fn][task]: | 383 | for dep in self.taskdeps[fn][task]: |
383 | if dep in self.basewhitelist: | 384 | if dep in self.basehash_ignore_vars: |
384 | continue | 385 | continue |
385 | data['gendeps'][dep] = self.gendeps[fn][dep] | 386 | data['gendeps'][dep] = self.gendeps[fn][dep] |
386 | data['varvals'][dep] = self.lookupcache[fn][dep] | 387 | data['varvals'][dep] = self.lookupcache[fn][dep] |
@@ -794,6 +795,16 @@ def clean_basepaths_list(a): | |||
794 | b.append(clean_basepath(x)) | 795 | b.append(clean_basepath(x)) |
795 | return b | 796 | return b |
796 | 797 | ||
798 | # Handled renamed fields | ||
799 | def handle_renames(data): | ||
800 | if 'basewhitelist' in data: | ||
801 | data['basehash_ignore_vars'] = data['basewhitelist'] | ||
802 | del data['basewhitelist'] | ||
803 | if 'taskwhitelist' in data: | ||
804 | data['taskhash_ignore_tasks'] = data['taskwhitelist'] | ||
805 | del data['taskwhitelist'] | ||
806 | |||
807 | |||
797 | def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): | 808 | def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): |
798 | output = [] | 809 | output = [] |
799 | 810 | ||
@@ -819,13 +830,16 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): | |||
819 | with bb.compress.zstd.open(b, "rt", encoding="utf-8", num_threads=1) as f: | 830 | with bb.compress.zstd.open(b, "rt", encoding="utf-8", num_threads=1) as f: |
820 | b_data = json.load(f, object_hook=SetDecoder) | 831 | b_data = json.load(f, object_hook=SetDecoder) |
821 | 832 | ||
822 | def dict_diff(a, b, whitelist=set()): | 833 | for data in [a_data, b_data]: |
834 | handle_renames(data) | ||
835 | |||
836 | def dict_diff(a, b, ignored_vars=set()): | ||
823 | sa = set(a.keys()) | 837 | sa = set(a.keys()) |
824 | sb = set(b.keys()) | 838 | sb = set(b.keys()) |
825 | common = sa & sb | 839 | common = sa & sb |
826 | changed = set() | 840 | changed = set() |
827 | for i in common: | 841 | for i in common: |
828 | if a[i] != b[i] and i not in whitelist: | 842 | if a[i] != b[i] and i not in ignored_vars: |
829 | changed.add(i) | 843 | changed.add(i) |
830 | added = sb - sa | 844 | added = sb - sa |
831 | removed = sa - sb | 845 | removed = sa - sb |
@@ -864,15 +878,15 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): | |||
864 | removed = [x[0] for x in removed] | 878 | removed = [x[0] for x in removed] |
865 | return changed, added, removed | 879 | return changed, added, removed |
866 | 880 | ||
867 | if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']: | 881 | if 'basehash_ignore_vars' in a_data and a_data['basehash_ignore_vars'] != b_data['basehash_ignore_vars']: |
868 | output.append(color_format("{color_title}basewhitelist changed{color_default} from '%s' to '%s'") % (a_data['basewhitelist'], b_data['basewhitelist'])) | 882 | output.append(color_format("{color_title}basehash_ignore_vars changed{color_default} from '%s' to '%s'") % (a_data['basehash_ignore_vars'], b_data['basehash_ignore_vars'])) |
869 | if a_data['basewhitelist'] and b_data['basewhitelist']: | 883 | if a_data['basehash_ignore_vars'] and b_data['basehash_ignore_vars']: |
870 | output.append("changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist'])) | 884 | output.append("changed items: %s" % a_data['basehash_ignore_vars'].symmetric_difference(b_data['basehash_ignore_vars'])) |
871 | 885 | ||
872 | if 'taskwhitelist' in a_data and a_data['taskwhitelist'] != b_data['taskwhitelist']: | 886 | if 'taskhash_ignore_tasks' in a_data and a_data['taskhash_ignore_tasks'] != b_data['taskhash_ignore_tasks']: |
873 | output.append(color_format("{color_title}taskwhitelist changed{color_default} from '%s' to '%s'") % (a_data['taskwhitelist'], b_data['taskwhitelist'])) | 887 | output.append(color_format("{color_title}taskhash_ignore_tasks changed{color_default} from '%s' to '%s'") % (a_data['taskhash_ignore_tasks'], b_data['taskhash_ignore_tasks'])) |
874 | if a_data['taskwhitelist'] and b_data['taskwhitelist']: | 888 | if a_data['taskhash_ignore_tasks'] and b_data['taskhash_ignore_tasks']: |
875 | output.append("changed items: %s" % a_data['taskwhitelist'].symmetric_difference(b_data['taskwhitelist'])) | 889 | output.append("changed items: %s" % a_data['taskhash_ignore_tasks'].symmetric_difference(b_data['taskhash_ignore_tasks'])) |
876 | 890 | ||
877 | if a_data['taskdeps'] != b_data['taskdeps']: | 891 | if a_data['taskdeps'] != b_data['taskdeps']: |
878 | output.append(color_format("{color_title}Task dependencies changed{color_default} from:\n%s\nto:\n%s") % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))) | 892 | output.append(color_format("{color_title}Task dependencies changed{color_default} from:\n%s\nto:\n%s") % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))) |
@@ -880,7 +894,7 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): | |||
880 | if a_data['basehash'] != b_data['basehash'] and not collapsed: | 894 | if a_data['basehash'] != b_data['basehash'] and not collapsed: |
881 | output.append(color_format("{color_title}basehash changed{color_default} from %s to %s") % (a_data['basehash'], b_data['basehash'])) | 895 | output.append(color_format("{color_title}basehash changed{color_default} from %s to %s") % (a_data['basehash'], b_data['basehash'])) |
882 | 896 | ||
883 | changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist']) | 897 | changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basehash_ignore_vars'] & b_data['basehash_ignore_vars']) |
884 | if changed: | 898 | if changed: |
885 | for dep in sorted(changed): | 899 | for dep in sorted(changed): |
886 | output.append(color_format("{color_title}List of dependencies for variable %s changed from '{color_default}%s{color_title}' to '{color_default}%s{color_title}'") % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep])) | 900 | output.append(color_format("{color_title}List of dependencies for variable %s changed from '{color_default}%s{color_title}' to '{color_default}%s{color_title}'") % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep])) |
@@ -1054,9 +1068,11 @@ def dump_sigfile(a): | |||
1054 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: | 1068 | with bb.compress.zstd.open(a, "rt", encoding="utf-8", num_threads=1) as f: |
1055 | a_data = json.load(f, object_hook=SetDecoder) | 1069 | a_data = json.load(f, object_hook=SetDecoder) |
1056 | 1070 | ||
1057 | output.append("basewhitelist: %s" % (sorted(a_data['basewhitelist']))) | 1071 | handle_renames(a_data) |
1072 | |||
1073 | output.append("basehash_ignore_vars: %s" % (sorted(a_data['basehash_ignore_vars']))) | ||
1058 | 1074 | ||
1059 | output.append("taskwhitelist: %s" % (sorted(a_data['taskwhitelist'] or []))) | 1075 | output.append("taskhash_ignore_tasks: %s" % (sorted(a_data['taskhash_ignore_tasks'] or []))) |
1060 | 1076 | ||
1061 | output.append("Task dependencies: %s" % (sorted(a_data['taskdeps']))) | 1077 | output.append("Task dependencies: %s" % (sorted(a_data['taskdeps']))) |
1062 | 1078 | ||