diff options
author | Joshua Lock <josh@linux.intel.com> | 2010-09-09 17:29:23 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-09-10 18:36:35 +0100 |
commit | c01e8760ba5552e91f3af764c1233c2462494213 (patch) | |
tree | db37ec44fbcc560757daf9251f01fa28b184352f /bitbake/lib/bb | |
parent | dc4d33cf0fb8636ffee63ed9d478173cadb34e54 (diff) | |
download | openembedded-core-c01e8760ba5552e91f3af764c1233c2462494213.tar.gz openembedded-core-c01e8760ba5552e91f3af764c1233c2462494213.tar.bz2 openembedded-core-c01e8760ba5552e91f3af764c1233c2462494213.tar.xz openembedded-core-c01e8760ba5552e91f3af764c1233c2462494213.zip |
bitbake/fetch: ensure the go() method completes when not using premirrors
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/fetch/__init__.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py index d0931ec9c..e04c3df33 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: |