diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-22 14:34:51 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-12 22:50:45 +0100 |
commit | c690d5b8185ae11d4e56587759bc162191d5dfeb (patch) | |
tree | 6d37bcec8455ee495ba2bc106fb1a37dc9952bd3 | |
parent | 933e19697b680637e5af8131cf5fc833943f68f7 (diff) | |
download | poky-c690d5b8185ae11d4e56587759bc162191d5dfeb.tar.gz |
bitbake: data_smart: VariableHistory: Ignore override duplicates and overlap with CoW functions
Trying to look up a variable called 'copy' in COW is problematic due
to internal implmentation details, at least avoid tracebacks from this.
Also don't duplicate override history (which is an atrefact of changed
override behaviour) as otherwise the bitbake -e output is convoluted.
(Bitbake rev: dddff5b7b8e6c18515b43389cef35503468b843d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 68efc7bb1c..d414bf4614 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -231,6 +231,10 @@ class VariableHistory(object): | |||
231 | 231 | ||
232 | if var not in self.variables: | 232 | if var not in self.variables: |
233 | self.variables[var] = [] | 233 | self.variables[var] = [] |
234 | if not isinstance(self.variables[var], list): | ||
235 | return | ||
236 | if 'nodups' in loginfo and loginfo in self.variables[var]: | ||
237 | return | ||
234 | self.variables[var].append(loginfo.copy()) | 238 | self.variables[var].append(loginfo.copy()) |
235 | 239 | ||
236 | def variable(self, var): | 240 | def variable(self, var): |
@@ -460,6 +464,7 @@ class DataSmart(MutableMapping): | |||
460 | loginfo = event.copy() | 464 | loginfo = event.copy() |
461 | loginfo['variable'] = shortvar | 465 | loginfo['variable'] = shortvar |
462 | loginfo['op'] = 'override[%s]:%s' % (override, loginfo['op']) | 466 | loginfo['op'] = 'override[%s]:%s' % (override, loginfo['op']) |
467 | loginfo['nodups'] = True | ||
463 | self.varhistory.record(**loginfo) | 468 | self.varhistory.record(**loginfo) |
464 | 469 | ||
465 | override = None | 470 | override = None |