summaryrefslogtreecommitdiffstats
path: root/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-25 22:23:09 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-25 22:28:13 +0000
commit2a80735183e8faa110b4c6d8d85c4707f28e03a1 (patch)
tree4bfac61b2aa770d04b4d0b521d2973a000ea994b /lib/bb/data_smart.py
parent93291bd90e18808c7a1c8c692949396bbc7e4348 (diff)
downloadbitbake-contrib-2a80735183e8faa110b4c6d8d85c4707f28e03a1.tar.gz
data_smart: Fix caching issue for double remove references
FOO = "foo bar" FOO_remove = "bar" FOO_FOO = "${FOO} ${FOO}" would show FOO_FOO = "foo foo bar" rather than the expected "foo foo". This is actually a cache bug, this patch ensures the right value is put into the cache. The preceeding patch adds a test case to ensure we don't regress in future. [YOCTO #6037] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r--lib/bb/data_smart.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 742c7fb64..e4bdb2fdd 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -614,6 +614,10 @@ class DataSmart(MutableMapping):
filtered = filter(lambda v: v not in local_var["_removeactive"],
value.split(" "))
value = " ".join(filtered)
+ if expand:
+ # We need to ensure the expand cache has the correct value
+ # flag == "_content" here
+ self.expand_cache[var].value = value
return value
def delVarFlag(self, var, flag, **loginfo):