diff options
| -rw-r--r-- | bitbake/lib/bb/data_smart.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 246c446e4a..e2c93597e5 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
| @@ -92,10 +92,11 @@ def infer_caller_details(loginfo, parent = False, varval = True): | |||
| 92 | loginfo['func'] = func | 92 | loginfo['func'] = func |
| 93 | 93 | ||
| 94 | class VariableParse: | 94 | class VariableParse: |
| 95 | def __init__(self, varname, d, val = None): | 95 | def __init__(self, varname, d, unexpanded_value = None, val = None): |
| 96 | self.varname = varname | 96 | self.varname = varname |
| 97 | self.d = d | 97 | self.d = d |
| 98 | self.value = val | 98 | self.value = val |
| 99 | self.unexpanded_value = unexpanded_value | ||
| 99 | 100 | ||
| 100 | self.references = set() | 101 | self.references = set() |
| 101 | self.execs = set() | 102 | self.execs = set() |
| @@ -447,9 +448,9 @@ class DataSmart(MutableMapping): | |||
| 447 | def expandWithRefs(self, s, varname): | 448 | def expandWithRefs(self, s, varname): |
| 448 | 449 | ||
| 449 | if not isinstance(s, str): # sanity check | 450 | if not isinstance(s, str): # sanity check |
| 450 | return VariableParse(varname, self, s) | 451 | return VariableParse(varname, self, s, s) |
| 451 | 452 | ||
| 452 | varparse = VariableParse(varname, self) | 453 | varparse = VariableParse(varname, self, s) |
| 453 | 454 | ||
| 454 | while s.find('${') != -1: | 455 | while s.find('${') != -1: |
| 455 | olds = s | 456 | olds = s |
| @@ -775,6 +776,9 @@ class DataSmart(MutableMapping): | |||
| 775 | return None | 776 | return None |
| 776 | cachename = var + "[" + flag + "]" | 777 | cachename = var + "[" + flag + "]" |
| 777 | 778 | ||
| 779 | if not expand and retparser and cachename in self.expand_cache: | ||
| 780 | return self.expand_cache[cachename].unexpanded_value, self.expand_cache[cachename] | ||
| 781 | |||
| 778 | if expand and cachename in self.expand_cache: | 782 | if expand and cachename in self.expand_cache: |
| 779 | return self.expand_cache[cachename].value | 783 | return self.expand_cache[cachename].value |
| 780 | 784 | ||
