diff options
Diffstat (limited to 'bitbake/lib/bb/providers.py')
-rw-r--r-- | bitbake/lib/bb/providers.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py index 637e1fab96..68c8d592d2 100644 --- a/bitbake/lib/bb/providers.py +++ b/bitbake/lib/bb/providers.py | |||
@@ -379,3 +379,29 @@ def getRuntimeProviders(dataCache, rdepend): | |||
379 | logger.debug(1, "Assuming %s is a dynamic package, but it may not exist" % rdepend) | 379 | logger.debug(1, "Assuming %s is a dynamic package, but it may not exist" % rdepend) |
380 | 380 | ||
381 | return rproviders | 381 | return rproviders |
382 | |||
383 | |||
384 | def buildWorldTargetList(dataCache): | ||
385 | """ | ||
386 | Build package list for "bitbake world" | ||
387 | """ | ||
388 | if dataCache.world_target: | ||
389 | return | ||
390 | |||
391 | logger.debug(1, "collating packages for \"world\"") | ||
392 | for f in dataCache.possible_world: | ||
393 | terminal = True | ||
394 | pn = dataCache.pkg_fn[f] | ||
395 | |||
396 | for p in dataCache.pn_provides[pn]: | ||
397 | if p.startswith('virtual/'): | ||
398 | logger.debug(2, "World build skipping %s due to %s provider starting with virtual/", f, p) | ||
399 | terminal = False | ||
400 | break | ||
401 | for pf in dataCache.providers[p]: | ||
402 | if dataCache.pkg_fn[pf] != pn: | ||
403 | logger.debug(2, "World build skipping %s due to both us and %s providing %s", f, pf, p) | ||
404 | terminal = False | ||
405 | break | ||
406 | if terminal: | ||
407 | dataCache.world_target.add(pn) | ||