From c01e8760ba5552e91f3af764c1233c2462494213 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 9 Sep 2010 17:29:23 +0100 Subject: bitbake/fetch: ensure the go() method completes when not using premirrors Signed-off-by: Joshua Lock --- bitbake/lib/bb/fetch/__init__.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py index d0931ec9c3..e04c3df335 100644 --- a/bitbake/lib/bb/fetch/__init__.py +++ b/bitbake/lib/bb/fetch/__init__.py @@ -234,8 +234,12 @@ def go(d, urls = None): for u in urls: ud = urldata[u] m = ud.method + premirror_fetch = True + localpath = "" + if ud.localfile: if not m.try_premirror(u, ud, d): + premirror_fetch = False # File already present along with md5 stamp file # Touch md5 file to show activity try: @@ -243,9 +247,10 @@ def go(d, urls = None): except: # Errors aren't fatal here pass - continue + lf = bb.utils.lockfile(ud.lockfile) if not m.try_premirror(u, ud, d): + premirror_fetch = False # If someone else fetched this before we got the lock, # notice and don't try again try: @@ -253,12 +258,11 @@ def go(d, urls = None): except: # Errors aren't fatal here pass - bb.utils.unlockfile(lf) - continue - # First try fetching uri, u, from PREMIRRORS - mirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', d, 1) or "").split('\n') if i ] - localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d)) + if premirror_fetch: + # First try fetching uri, u, from PREMIRRORS + mirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', d, 1) or "").split('\n') if i ] + localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d)) # Need to re-test forcefetch() which will return true if our copy is too old if m.forcefetch(u, ud, d) or not localpath: -- cgit v1.2.3