bitbake/fetch2: When using BB_FETCH_PREMIRRORONLY, set BB_NO_NETWORK after premirrors as there could be data processing needed by the real fetcher

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-02-08 12:44:06 +00:00
parent 91eeb9b0d3
commit c4e66a7fe0
1 changed files with 14 additions and 12 deletions

View File

@ -843,19 +843,21 @@ class Fetch(object):
os.symlink(mirrorpath, os.path.join(self.d.getVar("DL_DIR", True), os.path.basename(mirrorpath)))
if bb.data.getVar("BB_FETCH_PREMIRRORONLY", self.d, True) is None:
if not localpath and m.need_update(u, ud, self.d):
try:
m.download(u, ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(u, ud, self.d)
localpath = ud.localpath
bb.data.setVar("BB_NO_NETWORK", "1", self.d)
except BBFetchException:
# Remove any incomplete fetch
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
localpath = try_mirrors (self.d, ud, mirrors)
if not localpath and m.need_update(u, ud, self.d):
try:
m.download(u, ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(u, ud, self.d)
localpath = ud.localpath
except BBFetchException:
# Remove any incomplete fetch
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
localpath = try_mirrors (self.d, ud, mirrors)
if not localpath or not os.path.exists(localpath):
raise FetchError("Unable to fetch URL %s from any source." % u, u)