From c5b6f672b88f5f42fe0bd59d28104b8dc9ee9a6e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 22 May 2015 12:30:26 +0100 Subject: 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 --- meta/lib/oe/utils.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 -- cgit 1.2.3-korg