summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaul Wold <sgw@linux.intel.com>2011-04-21 11:44:45 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-03 12:10:53 +0100
commit28e7041a9c110be2ac5dea1eb1f55ca8f056111e (patch)
treea4c4b2b6025a31bc548ca0345524888df3e77dc2
parent3279737cdf164962b0121bd850634cb05a616f15 (diff)
downloadpoky-28e7041a9c110be2ac5dea1eb1f55ca8f056111e.tar.gz
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>
-rw-r--r--bitbake/lib/bb/cache.py6
-rw-r--r--bitbake/lib/bb/cooker.py8
2 files changed, 14 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index c56b4b4248..cdde3635ab 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -566,6 +566,7 @@ class CacheData(object):
566 self.packages = defaultdict(list) 566 self.packages = defaultdict(list)
567 self.packages_dynamic = defaultdict(list) 567 self.packages_dynamic = defaultdict(list)
568 self.possible_world = [] 568 self.possible_world = []
569 self.universe_target = []
569 self.pkg_pn = defaultdict(list) 570 self.pkg_pn = defaultdict(list)
570 self.pkg_fn = {} 571 self.pkg_fn = {}
571 self.pkg_pepvpr = {} 572 self.pkg_pepvpr = {}
@@ -644,6 +645,11 @@ class CacheData(object):
644 if not info.broken and not info.not_world: 645 if not info.broken and not info.not_world:
645 self.possible_world.append(fn) 646 self.possible_world.append(fn)
646 647
648 # create a collection of all targets for sanity checking
649 # tasks, such as upstream versions, license, and tools for
650 # task and image creation.
651 self.universe_target.append(info.pn)
652
647 self.hashfn[fn] = info.hashfilename 653 self.hashfn[fn] = info.hashfilename
648 for task, taskhash in info.basetaskhashes.iteritems(): 654 for task, taskhash in info.basetaskhashes.iteritems():
649 identifier = '%s.%s' % (fn, task) 655 identifier = '%s.%s' % (fn, task)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 97863e517a..3c7b60eb95 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -124,6 +124,8 @@ class BBCooker:
124 124
125 if 'world' in self.configuration.pkgs_to_build: 125 if 'world' in self.configuration.pkgs_to_build:
126 buildlog.error("'world' is not a valid target for --environment.") 126 buildlog.error("'world' is not a valid target for --environment.")
127 if 'universe' in self.configuration.pkgs_to_build:
128 buildlog.error("'universe' is not a valid target for --environment.")
127 elif len(self.configuration.pkgs_to_build) > 1: 129 elif len(self.configuration.pkgs_to_build) > 1:
128 buildlog.error("Only one target can be used with the --environment option.") 130 buildlog.error("Only one target can be used with the --environment option.")
129 elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0: 131 elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
@@ -889,6 +891,12 @@ class BBCooker:
889 for t in self.status.world_target: 891 for t in self.status.world_target:
890 pkgs_to_build.append(t) 892 pkgs_to_build.append(t)
891 893
894 if 'universe' in pkgs_to_build:
895 parselog.debug(1, "collating packages for \"universe\"")
896 pkgs_to_build.remove('universe')
897 for t in self.status.universe_target:
898 pkgs_to_build.append(t)
899
892 return pkgs_to_build 900 return pkgs_to_build
893 901
894 def get_bbfiles( self, path = os.getcwd() ): 902 def get_bbfiles( self, path = os.getcwd() ):