universe target: add a new target to collect all recipe targets

This new universe target is not intended to be used for
compiling or building everything, it use is for sanity checking
and other tasks that need to find all targets. This does not
exclude any broken or virtual targets.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
This commit is contained in:
Saul Wold 2011-04-21 11:44:45 -07:00 committed by Richard Purdie
parent 3279737cdf
commit 28e7041a9c
2 changed files with 14 additions and 0 deletions

View File

@ -566,6 +566,7 @@ class CacheData(object):
self.packages = defaultdict(list)
self.packages_dynamic = defaultdict(list)
self.possible_world = []
self.universe_target = []
self.pkg_pn = defaultdict(list)
self.pkg_fn = {}
self.pkg_pepvpr = {}
@ -644,6 +645,11 @@ class CacheData(object):
if not info.broken and not info.not_world:
self.possible_world.append(fn)
# create a collection of all targets for sanity checking
# tasks, such as upstream versions, license, and tools for
# task and image creation.
self.universe_target.append(info.pn)
self.hashfn[fn] = info.hashfilename
for task, taskhash in info.basetaskhashes.iteritems():
identifier = '%s.%s' % (fn, task)

View File

@ -124,6 +124,8 @@ class BBCooker:
if 'world' in self.configuration.pkgs_to_build:
buildlog.error("'world' is not a valid target for --environment.")
if 'universe' in self.configuration.pkgs_to_build:
buildlog.error("'universe' is not a valid target for --environment.")
elif len(self.configuration.pkgs_to_build) > 1:
buildlog.error("Only one target can be used with the --environment option.")
elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
@ -889,6 +891,12 @@ class BBCooker:
for t in self.status.world_target:
pkgs_to_build.append(t)
if 'universe' in pkgs_to_build:
parselog.debug(1, "collating packages for \"universe\"")
pkgs_to_build.remove('universe')
for t in self.status.universe_target:
pkgs_to_build.append(t)
return pkgs_to_build
def get_bbfiles( self, path = os.getcwd() ):