summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-09-09 17:29:23 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-10 18:36:35 +0100
commitc01e8760ba5552e91f3af764c1233c2462494213 (patch)
treedb37ec44fbcc560757daf9251f01fa28b184352f /bitbake
parentdc4d33cf0fb8636ffee63ed9d478173cadb34e54 (diff)
downloadopenembedded-core-contrib-c01e8760ba5552e91f3af764c1233c2462494213.tar.gz
bitbake/fetch: ensure the go() method completes when not using premirrors
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/fetch/__init__.py16
1 files changed, 10 insertions, 6 deletions
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: