diff options
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r-- | lib/bb/data_smart.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index 9a6f76711..833d9f17a 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -35,7 +35,6 @@ import hashlib import bb, bb.codeparser from bb import utils from bb.COW import COWDictBase -import collections logger = logging.getLogger("BitBake.Data") @@ -89,7 +88,7 @@ class VariableParse: self.references = set() self.execs = set() - self.contains = collections.defaultdict(set) + self.contains = {} def var_sub(self, match): key = match.group()[2:-1] @@ -100,7 +99,7 @@ class VariableParse: varparse = self.d.expand_cache[key] var = varparse.value else: - var = self.d.getVar(key, True) + var = self.d.getVarFlag(key, "_content", True) self.references.add(key) if var is not None: return var @@ -123,7 +122,10 @@ class VariableParse: self.execs |= parser.execs for k in parser.contains: - self.contains[k].update(parser.contains[k]) + if k not in self.contains: + self.contains[k] = parser.contains[k] + else: + self.contains[k].update(parser.contains[k]) value = utils.better_eval(codeobj, DataContext(self.d)) return str(value) |