summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-20 11:28:04 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-16 12:48:53 +0000
commitf1ee6dfd3d193a9055320bdd555c1dbaa63f9475 (patch)
treebe878c1a1afcef6b86fe0802676dadd92de2006f
parenta240f5ff71092cb209c44a071cd6fa07756ccfa0 (diff)
downloadbitbake-f1ee6dfd3d193a9055320bdd555c1dbaa63f9475.tar.gz
data_smart: Fix unneeded variable manipulation
If was pointed out that if we have: XXX = " A" XXX_remove_inactive-override = "YY" then XXX can become "A" and the leading space can be removed. This is because the remove override code changes the variable value even when there is no removals active. In the process it dirties the cache. We don't really need to do this so tweak the code accordingly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/data_smart.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index f100446dc..805a9a71f 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -748,13 +748,14 @@ class DataSmart(MutableMapping):
if match:
removes.extend(self.expand(r).split())
- filtered = filter(lambda v: v not in removes,
- value.split())
- value = " ".join(filtered)
- if expand and var in self.expand_cache:
- # We need to ensure the expand cache has the correct value
- # flag == "_content" here
- self.expand_cache[var].value = value
+ if removes:
+ filtered = filter(lambda v: v not in removes,
+ value.split())
+ value = " ".join(filtered)
+ if expand and var in self.expand_cache:
+ # 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):