diff options
author | Bogdan Marinescu <bogdan.a.marinescu@intel.com> | 2012-09-26 17:00:10 +0300 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2012-09-28 01:14:02 -0700 |
commit | 7877c4344db89237bba5f9a03342bfd9a03aebbf (patch) | |
tree | d45b74a7b89d95b6efcc890a5e1c3183ff408b97 /meta | |
parent | 2bf5026933b733701d4d339e01a4f5e4468f368e (diff) | |
download | openembedded-core-7877c4344db89237bba5f9a03342bfd9a03aebbf.tar.gz openembedded-core-7877c4344db89237bba5f9a03342bfd9a03aebbf.tar.bz2 openembedded-core-7877c4344db89237bba5f9a03342bfd9a03aebbf.zip |
sanity: Added explicit network error status in SanityCheckFailed event
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@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/sanity.bbclass | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 9c3ab1ff2e..e2095ddd48 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -54,9 +54,12 @@ python check_bblayers_conf() { f.write(''.join(lines)) } -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. @@ -169,8 +172,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 @@ -534,16 +538,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) @@ -614,7 +620,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 |