From 39846ddbce87d26eb68870914bf86a8ce5e86e5c Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 25 Mar 2014 22:23:09 +0000 Subject: bitbake: 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] (Bitbake rev: 2a80735183e8faa110b4c6d8d85c4707f28e03a1) Signed-off-by: Richard Purdie --- bitbake/lib/bb/data_smart.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bitbake/lib/bb/data_smart.py') diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 742c7fb64a..e4bdb2fdd9 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/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): -- cgit v1.2.3-54-g00ecf