bitbake/fetch: if mirror fetching fails, ensure exception is raised
We catch any exception raised by the fetchers go() method and attempt to work around it by trying any (post) mirrors which are configured. However, should the mirrors fail the exception is lost and the fetch is assumed to have completed successfully. Instead, save the exception and if the local file does not exist after trying the mirrors re-raise the exception. Fixes [BUGID #362] Signed-off-by: Joshua Lock <josh@linux.intel.com>
This commit is contained in:
parent
8e5c0841ea
commit
0ee7a9e6bd
|
@ -272,10 +272,12 @@ def go(d, urls = None):
|
|||
try:
|
||||
m.go(u, ud, d)
|
||||
localpath = ud.localpath
|
||||
except:
|
||||
except FetchError:
|
||||
# Finally, try fetching uri, u, from MIRRORS
|
||||
mirrors = [ i.split() for i in (bb.data.getVar('MIRRORS', d, 1) or "").split('\n') if i ]
|
||||
localpath = try_mirrors (d, u, mirrors)
|
||||
if not localpath or not os.path.exists(localpath):
|
||||
raise FetchError("Unable to fetch URL %s from any source." % u)
|
||||
|
||||
if localpath:
|
||||
ud.localpath = localpath
|
||||
|
|
Loading…
Reference in New Issue