bitbake/fetch2: improve error formatting for fetcher errors

* The "name" argument to FuncFailed is rarely used as a name in actual
  usage within bitbake, so don't treat it as one in the output.
* Don't print URL for FetchError if it was not specified (i.e. don't
  output "Fetcher failure for URL 'None'")
* Don't include URL in "unable to fetch from any source" message since
  we supply it to FetchError and it will be printed anyway.
* Don't include URL in "checksum failed" message for the same reason

(Bitbake rev: 86811bd85e2e453ee92a05fe60160d9b49ac69e8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2012-01-13 17:01:46 +00:00 committed by Richard Purdie
parent 98a610b3db
commit dcf6b641fe
2 changed files with 8 additions and 5 deletions

View File

@ -53,7 +53,7 @@ class FuncFailed(Exception):
self.logfile = logfile
self.name = name
if name:
self.msg = "Function '%s' failed" % name
self.msg = 'Function failed: %s' % name
else:
self.msg = "Function failed"

View File

@ -55,7 +55,10 @@ class MalformedUrl(BBFetchException):
class FetchError(BBFetchException):
"""General fetcher exception when something happens incorrectly"""
def __init__(self, message, url = None):
msg = "Fetcher failure for URL: '%s'. %s" % (url, message)
if url:
msg = "Fetcher failure for URL: '%s'. %s" % (url, message)
else:
msg = "Fetcher failure: %s" % message
self.url = url
BBFetchException.__init__(self, msg)
self.args = (message, url)
@ -302,10 +305,10 @@ def verify_checksum(u, ud, d):
# it does not match.
msg = ""
if md5mismatch and ud.md5_expected:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected (from URL: '%s')" % (ud.localpath, 'md5', md5data, ud.md5_expected, u)
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
if sha256mismatch and ud.sha256_expected:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected (from URL: '%s')" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected, u)
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
if len(msg):
raise FetchError('Checksum mismatch!%s' % msg, u)
@ -983,7 +986,7 @@ class Fetch(object):
localpath = try_mirrors (self.d, ud, mirrors)
if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
raise FetchError("Unable to fetch URL %s from any source." % u, u)
raise FetchError("Unable to fetch URL from any source.", u)
update_stamp(u, ud, self.d)