summaryrefslogtreecommitdiffstats
path: root/lib/bb
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-06-07 22:28:26 +0100
commit3afe85a6cf979a0197291c8486e33826fcf11a8c (patch)
tree63b9225177c2ce2d740c015f7bccfcc2829075ce /lib/bb
parentc9bb37e588ee7ee95eca798b0eae57bad68e8caf (diff)
downloadbitbake-3afe85a6cf979a0197291c8486e33826fcf11a8c.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. (From Poky rev: 28e7041a9c110be2ac5dea1eb1f55ca8f056111e) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb')
-rw-r--r--lib/bb/cache.py6
-rw-r--r--lib/bb/cooker.py8
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index bc4a8dfd9..99697aa81 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 548d0a7b1..510c6479f 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() ):