summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-04 15:47:52 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-05 12:36:45 +0100
commit136751122a1c7f192f3c2da299fa2622a3010396 (patch)
treed3275f8bba8ed99d4e34489a0431ec269661fb97 /bitbake
parentbf9a8ec7f2d2a1055c7eafa50d8af01ec1d4dc26 (diff)
downloadpoky-136751122a1c7f192f3c2da299fa2622a3010396.tar.gz
bitbake: data_smart: Fix multiple override interaction with append and prepend operators
Variables which used multiple overrides and the append/prepend operators were not functioning correctly. This change fixes that. This fixes the testcase: OVERRIDES = "linux:x86" TESTVAR = "original" TESTVAR_append_x86 = " x86" TESTVAR_append_x86_linux = " x86+linux" TESTVAR_append_linux_x86 = " linux+x86" [YOCTO #2672] (Bitbake rev: dc35a2e506e15fb7ddbf74c3b3280e9e83ab33bb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/data_smart.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 2c02cdeabf..730deaaaf2 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -198,7 +198,12 @@ class DataSmart(MutableMapping):
198 for append in appends: 198 for append in appends:
199 keep = [] 199 keep = []
200 for (a, o) in self.getVarFlag(append, op) or []: 200 for (a, o) in self.getVarFlag(append, op) or []:
201 if o and not o in overrides: 201 match = True
202 if o:
203 for o2 in o.split("_"):
204 if not o2 in overrides:
205 match = False
206 if not match:
202 keep.append((a ,o)) 207 keep.append((a ,o))
203 continue 208 continue
204 209