utils: add helper to perform the intersection of two string lists

Useful for e.g. generating a COMBINED_FEATURES list from DISTRO_FEATURES and
MACHINE_FEATURES.

(From OE-Core rev: c5b6f672b88f5f42fe0bd59d28104b8dc9ee9a6e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2015-05-22 12:30:26 +01:00 committed by Richard Purdie
parent a497998f9e
commit a60aeca3f5
1 changed files with 15 additions and 0 deletions

View File

@ -55,6 +55,21 @@ def both_contain(variable1, variable2, checkvalue, d):
else:
return ""
def set_intersect(variable1, variable2, d):
"""
Expand both variables, interpret them as lists of strings, and return the
intersection as a flattened string.
For example:
s1 = "a b c"
s2 = "b c d"
s3 = set_intersect(s1, s2)
=> s3 = "b c"
"""
val1 = set(d.getVar(variable1, True).split())
val2 = set(d.getVar(variable2, True).split())
return " ".join(val1 & val2)
def prune_suffix(var, suffixes, d):
# See if var ends with any of the suffixes listed and
# remove it if found