bitbake: fetch2: Handle errors orruring when building mirror urls

When we build the mirror urls, its possible an error will occur. If it
does, it should just mean we don't attempt this mirror url. The current
code actually aborts *all* the mirrors, not just the failed url.

This patch catches and logs the exception allowing things to continue.

(Bitbake rev: c35cbd1a1403865cf4f59ec88e1881669868103c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2012-06-22 12:54:42 +01:00
parent a87aa7b7af
commit e63dada732

View File

@@ -494,9 +494,18 @@ def build_mirroruris(origud, mirrors, ld):
newuri = uri_replace(ud, find, replace, ld)
if not newuri or newuri in uris or newuri == origud.url:
continue
try:
newud = FetchData(newuri, ld)
newud.setup_localpath(ld)
except bb.fetch2.BBFetchException as e:
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
try:
ud.method.clean(ud, ld)
except UnboundLocalError:
pass
continue
uris.append(newuri)
newud = FetchData(newuri, ld)
newud.setup_localpath(ld)
uds.append(newud)
adduri(newuri, newud, uris, uds)