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>
This commit is contained in:
Richard Purdie 2015-05-22 14:34:51 +00:00
parent 933e19697b
commit c690d5b818
1 changed files with 5 additions and 0 deletions

View File

@ -231,6 +231,10 @@ class VariableHistory(object):
if var not in self.variables:
self.variables[var] = []
if not isinstance(self.variables[var], list):
return
if 'nodups' in loginfo and loginfo in self.variables[var]:
return
self.variables[var].append(loginfo.copy())
def variable(self, var):
@ -460,6 +464,7 @@ class DataSmart(MutableMapping):
loginfo = event.copy()
loginfo['variable'] = shortvar
loginfo['op'] = 'override[%s]:%s' % (override, loginfo['op'])
loginfo['nodups'] = True
self.varhistory.record(**loginfo)
override = None