diff options
Diffstat (limited to 'bitbake/lib/bb/data.py')
| -rw-r--r-- | bitbake/lib/bb/data.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index e2700077c3..fde4cba6bb 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py | |||
| @@ -307,6 +307,14 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): | |||
| 307 | return newvalue | 307 | return newvalue |
| 308 | return value + newvalue | 308 | return value + newvalue |
| 309 | 309 | ||
| 310 | def handle_remove(value, deps, removes, d): | ||
| 311 | for r in sorted(removes): | ||
| 312 | r2 = d.expandWithRefs(r, None) | ||
| 313 | value += "\n_remove of %s" % r | ||
| 314 | deps |= r2.references | ||
| 315 | deps = deps | (keys & r2.execs) | ||
| 316 | return value | ||
| 317 | |||
| 310 | if "vardepvalue" in varflags: | 318 | if "vardepvalue" in varflags: |
| 311 | value = varflags.get("vardepvalue") | 319 | value = varflags.get("vardepvalue") |
| 312 | elif varflags.get("func"): | 320 | elif varflags.get("func"): |
| @@ -327,6 +335,8 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): | |||
| 327 | deps = deps | parsedvar.references | 335 | deps = deps | parsedvar.references |
| 328 | deps = deps | (keys & parser.execs) | (keys & parsedvar.execs) | 336 | deps = deps | (keys & parser.execs) | (keys & parsedvar.execs) |
| 329 | value = handle_contains(value, parsedvar.contains, d) | 337 | value = handle_contains(value, parsedvar.contains, d) |
| 338 | if hasattr(parsedvar, "removes"): | ||
| 339 | value = handle_remove(value, deps, parsedvar.removes, d) | ||
| 330 | if vardeps is None: | 340 | if vardeps is None: |
| 331 | parser.log.flush() | 341 | parser.log.flush() |
| 332 | if "prefuncs" in varflags: | 342 | if "prefuncs" in varflags: |
| @@ -340,6 +350,8 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): | |||
| 340 | deps |= parser.references | 350 | deps |= parser.references |
| 341 | deps = deps | (keys & parser.execs) | 351 | deps = deps | (keys & parser.execs) |
| 342 | value = handle_contains(value, parser.contains, d) | 352 | value = handle_contains(value, parser.contains, d) |
| 353 | if hasattr(parser, "removes"): | ||
| 354 | value = handle_remove(value, deps, parser.removes, d) | ||
| 343 | 355 | ||
| 344 | if "vardepvalueexclude" in varflags: | 356 | if "vardepvalueexclude" in varflags: |
| 345 | exclude = varflags.get("vardepvalueexclude") | 357 | exclude = varflags.get("vardepvalueexclude") |
