diff options
author | Matthew McClintock <msm@freescale.com> | 2011-11-30 11:24:55 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-05 16:23:52 +0000 |
commit | 4d6f8d4b74e6f6ab27d80ad0ad9871789b87c525 (patch) | |
tree | 7729dcca21df3d69d26eae89d9bca14e0e620420 /bitbake/lib/bb/siggen.py | |
parent | f6da26f98254046a59983adf8e831bf1eeb9169f (diff) | |
download | poky-4d6f8d4b74e6f6ab27d80ad0ad9871789b87c525.tar.gz |
siggen.py: If both sigs have a variable in it's whitelist then don't say it's changed
Some BB_HASHBASE_WHITELIST variables are in the lists of variable
dependencies for signatures. Ignore those differences in lists
since this difference does not matter
(Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae)
Signed-off-by: Matthew McClintock <msm@freescale.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 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 8d768cea7d..22417b9cdc 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -236,13 +236,13 @@ def compare_sigfiles(a, b): | |||
236 | p2 = pickle.Unpickler(file(b, "rb")) | 236 | p2 = pickle.Unpickler(file(b, "rb")) |
237 | b_data = p2.load() | 237 | b_data = p2.load() |
238 | 238 | ||
239 | def dict_diff(a, b): | 239 | def dict_diff(a, b, whitelist=set()): |
240 | sa = set(a.keys()) | 240 | sa = set(a.keys()) |
241 | sb = set(b.keys()) | 241 | sb = set(b.keys()) |
242 | common = sa & sb | 242 | common = sa & sb |
243 | changed = set() | 243 | changed = set() |
244 | for i in common: | 244 | for i in common: |
245 | if a[i] != b[i]: | 245 | if a[i] != b[i] and i not in whitelist: |
246 | changed.add(i) | 246 | changed.add(i) |
247 | added = sa - sb | 247 | added = sa - sb |
248 | removed = sb - sa | 248 | removed = sb - sa |
@@ -262,7 +262,7 @@ def compare_sigfiles(a, b): | |||
262 | if a_data['basehash'] != b_data['basehash']: | 262 | if a_data['basehash'] != b_data['basehash']: |
263 | print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash']) | 263 | print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash']) |
264 | 264 | ||
265 | changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps']) | 265 | changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist']) |
266 | if changed: | 266 | if changed: |
267 | for dep in changed: | 267 | for dep in changed: |
268 | print "List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep]) | 268 | print "List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep]) |