diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-04 15:47:52 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-05 12:35:24 +0100 |
commit | dc35a2e506e15fb7ddbf74c3b3280e9e83ab33bb (patch) | |
tree | 78f0008048128c6bcbc7ff25441d8b931a88a3c4 /lib/bb/data_smart.py | |
parent | 4962a59793504b26b06cf058dda600a07fbbd951 (diff) | |
download | bitbake-dc35a2e506e15fb7ddbf74c3b3280e9e83ab33bb.tar.gz |
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]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r-- | lib/bb/data_smart.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index 2c02cdeab..730deaaaf 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -198,7 +198,12 @@ class DataSmart(MutableMapping): for append in appends: keep = [] for (a, o) in self.getVarFlag(append, op) or []: - if o and not o in overrides: + match = True + if o: + for o2 in o.split("_"): + if not o2 in overrides: + match = False + if not match: keep.append((a ,o)) continue |