From: Ross Burton Date: Fri, 22 May 2015 11:30:26 +0000 (+0100) Subject: utils: add helper to perform the intersection of two string lists X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a60aeca3f50edead5445aa83fb9cf0b9cc3e9a6a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index b8224de20b9..7173e106f5b 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -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