diff options
Diffstat (limited to 'lib/bb/data.py')
-rw-r--r-- | lib/bb/data.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/bb/data.py b/lib/bb/data.py index a56b79cdf..db938be1e 100644 --- a/lib/bb/data.py +++ b/lib/bb/data.py @@ -295,7 +295,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): deps |= parser.references deps = deps | (keys & parser.execs) return deps, value - varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "postfuncs", "prefuncs"]) or {} + varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "vardepvalueexclude", "postfuncs", "prefuncs"]) or {} vardeps = varflags.get("vardeps") value = d.getVar(key, False) @@ -345,6 +345,12 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): deps = deps | (keys & parser.execs) value = handle_contains(value, parser.contains, d) + if "vardepvalueexclude" in varflags: + exclude = varflags.get("vardepvalueexclude") + for excl in exclude.split('|'): + if excl: + value = value.replace(excl, '') + # Add varflags, assuming an exclusion list is set if varflagsexcl: varfdeps = [] |