Fix major bug that slipped in when moving update_data

The root cause is, I was testing the use of renameVar() from finalize, in
order to get flags copied over when an override is applied, but renameVar
removes the original, whereas the old code did not do so.  Going back to the
old method, will revisit the override/flags later on.

(Bitbake rev: 2f7c498abcf675e5b8de197d8056a0581670c2bd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson 2010-04-21 16:47:10 -07:00 committed by Richard Purdie
parent 4802a9d07a
commit 66d66cb487
1 changed files with 10 additions and 9 deletions

View File

@ -94,7 +94,8 @@ class DataSmart:
def finalize(self): def finalize(self):
"""Performs final steps upon the datastore, including application of overrides""" """Performs final steps upon the datastore, including application of overrides"""
overrides = (self.getVar("OVERRIDES", True) or "").split(":")
overrides = (self.getVar("OVERRIDES", True) or "").split(":") or []
# #
# Well let us see what breaks here. We used to iterate # Well let us see what breaks here. We used to iterate
@ -113,7 +114,7 @@ class DataSmart:
for o in overrides: for o in overrides:
# calculate '_'+override # calculate '_'+override
l = len(o)+1 l = len(o) + 1
# see if one should even try # see if one should even try
if o not in self._seen_overrides: if o not in self._seen_overrides:
@ -123,18 +124,18 @@ class DataSmart:
for var in vars: for var in vars:
name = var[:-l] name = var[:-l]
try: try:
self.renameVar(var, name) self[name] = self[var]
except Exception: except Exception:
bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar") bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
# now on to the appends and prepends # now on to the appends and prepends
if "_append" in self._special_values: if "_append" in self._special_values:
appends = self._special_values['_append'] or [] appends = self._special_values["_append"] or []
for append in appends: for append in appends:
for (a, o) in self.getVarFlag(append, '_append') or []: for (a, o) in self.getVarFlag(append, "_append") or []:
# maybe the OVERRIDE was not yet added so keep the append # maybe the OVERRIDE was not yet added so keep the append
if (o and o in overrides) or not o: if (o and o in overrides) or not o:
self.delVarFlag(append, '_append') self.delVarFlag(append, "_append")
if o and not o in overrides: if o and not o in overrides:
continue continue
@ -144,13 +145,13 @@ class DataSmart:
if "_prepend" in self._special_values: if "_prepend" in self._special_values:
prepends = self._special_values['_prepend'] or [] prepends = self._special_values["_prepend"] or []
for prepend in prepends: for prepend in prepends:
for (a, o) in self.getVarFlag(prepend, '_prepend') or []: for (a, o) in self.getVarFlag(prepend, "_prepend") or []:
# maybe the OVERRIDE was not yet added so keep the prepend # maybe the OVERRIDE was not yet added so keep the prepend
if (o and o in overrides) or not o: if (o and o in overrides) or not o:
self.delVarFlag(prepend, '_prepend') self.delVarFlag(prepend, "_prepend")
if o and not o in overrides: if o and not o in overrides:
continue continue