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-Tag: 2015-10~1754 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=c5b6f672b88f5f42fe0bd59d28104b8dc9ee9a6e;p=openembedded-core.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. Signed-off-by: Ross Burton --- diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index b8224de20b..7173e106f5 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