data_smart: Fix multiple override interaction with append and prepend operators
PATCH 1/1 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 <[email protected]>
---
bitbake/lib/bb/data_smart.py +6 -1
@@ -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