bitbake/data_smart: Don't track overrides in deleted variable names

When we delete a variable we no longer expect it to override other
variables.

To do this we remove it from the list of active overrides at deletion
time. It turns out we already had to do this at override expansion time
so this cleans up the code to be more consistent as an added bonus.

(Bitbake rev: d924ff9ede57c3dea6e1c738ba3633f18d460b14)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-06-17 17:34:52 +01:00
parent 5c5b0045e8
commit 1b5d7b59d3
1 changed files with 4 additions and 1 deletions

View File

@ -178,7 +178,6 @@ class DataSmart(MutableMapping):
try:
self.setVar(name, self.getVar(var, False))
self.delVar(var)
self._seen_overrides[o].remove(var)
except Exception:
logger.info("Untracked delVar")
@ -301,6 +300,10 @@ class DataSmart(MutableMapping):
def delVar(self, var):
self.expand_cache = {}
self.dict[var] = {}
if '_' in var:
override = var[var.rfind('_')+1:]
if override and override in self._seen_overrides and var in self._seen_overrides[override]:
self._seen_overrides[override].remove(var)
def setVarFlag(self, var, flag, flagvalue):
if not var in self.dict: