aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-22 12:54:42 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-25 14:15:41 +0100
commitc35cbd1a1403865cf4f59ec88e1881669868103c (patch)
tree746265bcb1f92523ee2670f233c33ed8afc5740b
parent361fb71e907aa84c28ecec79fefc6ca39c39172f (diff)
downloadbitbake-c35cbd1a1403865cf4f59ec88e1881669868103c.tar.gz
bitbake-c35cbd1a1403865cf4f59ec88e1881669868103c.tar.bz2
bitbake-c35cbd1a1403865cf4f59ec88e1881669868103c.zip
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/fetch2/__init__.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py
index 1b99a0fe..88c92c0b 100644
--- a/lib/bb/fetch2/__init__.py
+++ b/lib/bb/fetch2/__init__.py
@@ -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)