diff options
author | Bogdan Marinescu <bogdan.a.marinescu@intel.com> | 2012-09-26 17:00:10 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-28 11:07:41 +0100 |
commit | 7d95141c5abecbd19fa1f3dccabfbe46aad01192 (patch) | |
tree | 7c45a8173b64b1484ebb5632da890fde676c50e3 /meta | |
parent | 39a091fe1da06641061b1e2bbf073ea9d9e495c7 (diff) | |
download | poky-7d95141c5abecbd19fa1f3dccabfbe46aad01192.tar.gz |
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]
(From OE-Core rev: 7877c4344db89237bba5f9a03342bfd9a03aebbf)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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() { | |||
54 | f.write(''.join(lines)) | 54 | f.write(''.join(lines)) |
55 | } | 55 | } |
56 | 56 | ||
57 | def raise_sanity_error(msg, d): | 57 | def raise_sanity_error(msg, d, network_error=False): |
58 | if d.getVar("SANITY_USE_EVENTS", True) == "1": | 58 | if d.getVar("SANITY_USE_EVENTS", True) == "1": |
59 | bb.event.fire(bb.event.SanityCheckFailed(msg), d) | 59 | try: |
60 | bb.event.fire(bb.event.SanityCheckFailed(msg, network_error), d) | ||
61 | except TypeError: | ||
62 | bb.event.fire(bb.event.SanityCheckFailed(msg), d) | ||
60 | return | 63 | return |
61 | 64 | ||
62 | bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration. | 65 | bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration. |
@@ -169,8 +172,9 @@ def check_sanity_tmpdir_change(tmpdir, data): | |||
169 | # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) | 172 | # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) |
170 | testmsg = check_create_long_filename(tmpdir, "TMPDIR") | 173 | testmsg = check_create_long_filename(tmpdir, "TMPDIR") |
171 | # Check that we can fetch from various network transports | 174 | # Check that we can fetch from various network transports |
175 | errmsg = check_connectivity(data) | ||
172 | testmsg = testmsg + check_connectivity(data) | 176 | testmsg = testmsg + check_connectivity(data) |
173 | return testmsg | 177 | return testmsg, errmsg == "" |
174 | 178 | ||
175 | def check_sanity_version_change(data): | 179 | def check_sanity_version_change(data): |
176 | # Sanity checks to be done when SANITY_VERSION changes | 180 | # Sanity checks to be done when SANITY_VERSION changes |
@@ -534,16 +538,18 @@ def check_sanity(sanity_data): | |||
534 | last_sstate_dir = line.split()[1] | 538 | last_sstate_dir = line.split()[1] |
535 | 539 | ||
536 | sanity_version = int(sanity_data.getVar('SANITY_VERSION', True) or 1) | 540 | sanity_version = int(sanity_data.getVar('SANITY_VERSION', True) or 1) |
541 | network_error = False | ||
537 | if last_sanity_version < sanity_version: | 542 | if last_sanity_version < sanity_version: |
538 | messages = messages + check_sanity_version_change(sanity_data) | 543 | messages = messages + check_sanity_version_change(sanity_data) |
539 | messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data) | 544 | err, network_error = check_sanity_tmpdir_change(tmpdir, sanity_data) |
545 | messages = messages + err | ||
540 | messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data) | 546 | messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data) |
541 | else: | 547 | else: |
542 | if last_tmpdir != tmpdir: | 548 | if last_tmpdir != tmpdir: |
543 | messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data) | 549 | err, network_error = check_sanity_tmpdir_change(tmpdir, sanity_data) |
550 | messages = messages + err | ||
544 | if last_sstate_dir != sstate_dir: | 551 | if last_sstate_dir != sstate_dir: |
545 | messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data) | 552 | messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data) |
546 | |||
547 | if os.path.exists("conf") and not messages: | 553 | if os.path.exists("conf") and not messages: |
548 | f = file(sanityverfile, 'w') | 554 | f = file(sanityverfile, 'w') |
549 | f.write("SANITY_VERSION %s\n" % sanity_version) | 555 | f.write("SANITY_VERSION %s\n" % sanity_version) |
@@ -614,7 +620,7 @@ def check_sanity(sanity_data): | |||
614 | 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." | 620 | 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." |
615 | 621 | ||
616 | if messages != "": | 622 | if messages != "": |
617 | raise_sanity_error(sanity_data.expand(messages), sanity_data) | 623 | raise_sanity_error(sanity_data.expand(messages), sanity_data, network_error) |
618 | 624 | ||
619 | # Create a copy of the datastore and finalise it to ensure appends and | 625 | # Create a copy of the datastore and finalise it to ensure appends and |
620 | # overrides are set - the datastore has yet to be finalised at ConfigParsed | 626 | # overrides are set - the datastore has yet to be finalised at ConfigParsed |