diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2012-02-13 11:41:31 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-02-22 20:24:34 +0000 |
commit | 293c796e8a3d1f74ca1e51017b6dede261612281 (patch) | |
tree | deef9d9683a853b8319b90f9bf453e39a84be9a7 /lib | |
parent | 8e0744d6d4ab306809618adf63463a04d6664e48 (diff) | |
download | bitbake-contrib-293c796e8a3d1f74ca1e51017b6dede261612281.tar.gz |
bitbake: show appropriate warnings for universe target
When building the universe target:
* Show a warning about universe likely producing errors
* Multiprovider errors are now shown as warnings
Also remove an unused "error" variable in runqueue.py.
Fixes [YOCTO #1936]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/cooker.py | 4 | ||||
-rw-r--r-- | lib/bb/runqueue.py | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 1a9cab7dc..f0778e5a4 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1084,6 +1084,7 @@ class BBCooker: if (task == None): task = self.configuration.cmd + universe = ('universe' in targets) targets = self.checkPackages(targets) def buildTargetsIdle(server, rq, abort): @@ -1127,6 +1128,8 @@ class BBCooker: taskdata.add_unresolved(localdata, self.status) rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist) + if universe: + rq.rqdata.warn_multi_bb = True self.server_registration_cb(buildTargetsIdle, rq) @@ -1180,6 +1183,7 @@ class BBCooker: pkgs_to_build.append(t) if 'universe' in pkgs_to_build: + parselog.warn("The \"universe\" target is only intended for testing and may produce errors.") parselog.debug(1, "collating packages for \"universe\"") pkgs_to_build.remove('universe') for t in self.status.universe_target: diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 00e9981f3..d1d9ad93b 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -187,6 +187,7 @@ class RunQueueData: self.taskData = taskData self.targets = targets self.rq = rq + self.warn_multi_bb = False self.stampwhitelist = cfgData.getVar("BB_STAMP_WHITELIST", 1) or "" self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST", 1) or "").split() @@ -674,11 +675,14 @@ class RunQueueData: prov_list[prov] = [fn] elif fn not in prov_list[prov]: prov_list[prov].append(fn) - error = False for prov in prov_list: if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist: - error = True - logger.error("Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should.", prov, " ".join(prov_list[prov])) + msg = "Multiple .bb files are due to be built which each provide %s (%s)." % (prov, " ".join(prov_list[prov])) + if self.warn_multi_bb: + logger.warn(msg) + else: + msg += "\n This usually means one provides something the other doesn't and should." + logger.error(msg) # Create a whitelist usable by the stamp checks |