summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-17 16:34:52 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-28 14:27:41 (GMT)
commit1b5d7b59d330b49a25fe60aea22c2f3b59bfb5e1 (patch)
tree9062739127a1bed604b299037f35cf482d222d65 /bitbake
parent5c5b0045e8abf4f8e8d7e7e5977672bc3341882e (diff)
downloadpoky-1b5d7b59d330b49a25fe60aea22c2f3b59bfb5e1.tar.gz
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>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/data_smart.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index bc359de..8f67227 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -178,7 +178,6 @@ class DataSmart(MutableMapping):
178 try: 178 try:
179 self.setVar(name, self.getVar(var, False)) 179 self.setVar(name, self.getVar(var, False))
180 self.delVar(var) 180 self.delVar(var)
181 self._seen_overrides[o].remove(var)
182 except Exception: 181 except Exception:
183 logger.info("Untracked delVar") 182 logger.info("Untracked delVar")
184 183
@@ -301,6 +300,10 @@ class DataSmart(MutableMapping):
301 def delVar(self, var): 300 def delVar(self, var):
302 self.expand_cache = {} 301 self.expand_cache = {}
303 self.dict[var] = {} 302 self.dict[var] = {}
303 if '_' in var:
304 override = var[var.rfind('_')+1:]
305 if override and override in self._seen_overrides and var in self._seen_overrides[override]:
306 self._seen_overrides[override].remove(var)
304 307
305 def setVarFlag(self, var, flag, flagvalue): 308 def setVarFlag(self, var, flag, flagvalue):
306 if not var in self.dict: 309 if not var in self.dict: