From: Saul Wold Date: Thu, 21 Apr 2011 18:44:45 +0000 (-0700) Subject: universe target: add a new target to collect all recipe targets X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3afe85a6cf979a0197291c8486e33826fcf11a8c;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. (From Poky rev: 28e7041a9c110be2ac5dea1eb1f55ca8f056111e) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- diff --git a/lib/bb/cache.py b/lib/bb/cache.py index bc4a8dfd98b..99697aa81e1 100644 --- a/lib/bb/cache.py +++ b/lib/bb/cache.py @@ -572,6 +572,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 = {} @@ -650,6 +651,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) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 548d0a7b1d0..510c6479f71 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -130,6 +130,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: @@ -910,6 +912,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() ):