From c35cbd1a1403865cf4f59ec88e1881669868103c Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 22 Jun 2012 12:54:42 +0100 Subject: 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 --- lib/bb/fetch2/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 1b99a0fe4..88c92c0b0 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) -- cgit 1.2.3-korg