summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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() ):