diff options
author | Ross Burton <ross.burton@intel.com> | 2014-06-11 11:04:44 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-06-11 13:18:20 +0100 |
commit | 2e742c03e8dfdfa67899e7f5d579ed14bd87e139 (patch) | |
tree | a696fa2911423a99a9cbd2f64209051a36750102 | |
parent | 25d10c349aab77bf99745c0a90dd8f9b90abccac (diff) | |
download | bitbake-2e742c03e8dfdfa67899e7f5d579ed14bd87e139.tar.gz |
bb/utils: fix contains_any()
"set1 in set2" doesn't do what you'd expect, and if it did do a subset test
that's not the logic required by contains_any().
Instead get the intersection of checkvalues and val and check if the resulting
set is empty or not (by evaluating it in a boolean context), which tells us if
there are any elements in common.
Based on a patch by Valentin Popa <valentin.popa@intel.com>.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/utils.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 96d821881..f62709bed 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -851,7 +851,7 @@ def contains_any(variable, checkvalues, truevalue, falsevalue, d): checkvalues = set(checkvalues.split()) else: checkvalues = set(checkvalues) - if checkvalues in val: + if checkvalues & val: return truevalue return falsevalue |