summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-05-28 18:10:50 +0100
committerScott Garman <scott.a.garman@intel.com>2012-06-12 13:29:30 -0700
commit3788f9bcb36cca90ca8cf650c9d33f5485e3087b (patch)
tree078416e2349887736cb32261701f5c3bf8312cfc /meta
parent527e26ea1e44f114fc9fcec1bc7d83156dba1a70 (diff)
downloadopenembedded-core-3788f9bcb36cca90ca8cf650c9d33f5485e3087b.tar.gz
openembedded-core-3788f9bcb36cca90ca8cf650c9d33f5485e3087b.tar.bz2
openembedded-core-3788f9bcb36cca90ca8cf650c9d33f5485e3087b.zip
classes/sanity: send sanity check failure as a separate event for Hob
In order to show a friendlier error message within Hob that does not bury the actual sanity error in our typical preamble about disabling sanity checks, use a separate event to indicate that sanity checks failed. This change is intended to work together with the related change to BitBake, however it has a check to ensure that it does not fail with older versions that do not include that change. Fixes [YOCTO #2336]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/sanity.bbclass16
1 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 0c2fa04bcc..97556949e8 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -4,7 +4,16 @@
SANITY_REQUIRED_UTILITIES ?= "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio"
-def raise_sanity_error(msg):
+def raise_sanity_error(msg, d):
+ if d.getVar("SANITY_USE_EVENTS", True) == "1":
+ # FIXME: handle when BitBake version is too old to support bb.event.SanityCheckFailed
+ # We can just fire the event directly once the minimum version is bumped beyond 1.15.1
+ try:
+ bb.event.fire(bb.event.SanityCheckFailed(msg), d)
+ return
+ except AttributeError:
+ pass
+
bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
@@ -219,7 +228,7 @@ def check_sanity(sanity_data):
return
if 0 == os.getuid():
- raise_sanity_error("Do not use Bitbake as root.")
+ raise_sanity_error("Do not use Bitbake as root.", sanity_data)
messages = ""
@@ -449,7 +458,7 @@ def check_sanity(sanity_data):
messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space."
if messages != "":
- raise_sanity_error(messages)
+ raise_sanity_error(messages, sanity_data)
# Create a copy of the datastore and finalise it to ensure appends and
# overrides are set - the datastore has yet to be finalised at ConfigParsed
@@ -465,6 +474,7 @@ python check_sanity_eventhandler() {
check_sanity(sanity_data)
elif bb.event.getName(e) == "SanityCheck":
sanity_data = copy_data(e)
+ sanity_data.setVar("SANITY_USE_EVENTS", "1")
check_sanity(sanity_data)
bb.event.fire(bb.event.SanityCheckPassed(), e.data)