[OE-core] Added explicit network error status in SanityCheckFailed event
Bogdan Marinescu
bogdan.a.marinescu at intel.com
Wed Sep 26 14:00:10 UTC 2012
If we fail a network test, a special flag is set in the SanityChekFailed
event. This helps Hob identify the network error properly and display
a special message to the user.
[YOCTO #3025]
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu at intel.com>
---
meta/classes/sanity.bbclass | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 385d733..86b8003 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -4,9 +4,12 @@
SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar gzip gawk chrpath wget cpio"
-def raise_sanity_error(msg, d):
+def raise_sanity_error(msg, d, network_error=False):
if d.getVar("SANITY_USE_EVENTS", True) == "1":
- bb.event.fire(bb.event.SanityCheckFailed(msg), d)
+ try:
+ bb.event.fire(bb.event.SanityCheckFailed(msg, network_error), d)
+ except TypeError:
+ bb.event.fire(bb.event.SanityCheckFailed(msg), d)
return
bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration.
@@ -119,8 +122,9 @@ def check_sanity_tmpdir_change(tmpdir, data):
# Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS)
testmsg = check_create_long_filename(tmpdir, "TMPDIR")
# Check that we can fetch from various network transports
+ errmsg = check_connectivity(data)
testmsg = testmsg + check_connectivity(data)
- return testmsg
+ return testmsg, errmsg == ""
def check_sanity_version_change(data):
# Sanity checks to be done when SANITY_VERSION changes
@@ -475,16 +479,18 @@ def check_sanity(sanity_data):
last_sstate_dir = line.split()[1]
sanity_version = int(sanity_data.getVar('SANITY_VERSION', True) or 1)
+ network_error = False
if last_sanity_version < sanity_version:
messages = messages + check_sanity_version_change(sanity_data)
- messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data)
+ err, network_error = check_sanity_tmpdir_change(tmpdir, sanity_data)
+ messages = messages + err
messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data)
else:
if last_tmpdir != tmpdir:
- messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data)
+ err, network_error = check_sanity_tmpdir_change(tmpdir, sanity_data)
+ messages = messages + err
if last_sstate_dir != sstate_dir:
messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data)
-
if os.path.exists("conf") and not messages:
f = file(sanityverfile, 'w')
f.write("SANITY_VERSION %s\n" % sanity_version)
@@ -555,7 +561,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(sanity_data.expand(messages), sanity_data)
+ raise_sanity_error(sanity_data.expand(messages), sanity_data, network_error)
# 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
--
1.7.9.5
More information about the Openembedded-core
mailing list