git.py: split download to download() and build_mirror_data()

the download is to fetch the source from URL, the build_mirror_data is
to create the mirror tar ball. the original go() method mix them together,
it is more clean to split them.

Signed-off-by: Yu Ke <ke.yu@intel.com>
This commit is contained in:
Yu Ke 2011-01-18 23:35:30 +08:00 committed by Richard Purdie
parent e2ac26e7b1
commit ef918a72de
2 changed files with 9 additions and 3 deletions

View File

@ -294,6 +294,8 @@ def download(d, urls = None):
# Next try fetching from the original uri, u
try:
m.download(u, ud, d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(u, ud, d)
localpath = ud.localpath
except FetchError:
# Remove any incomplete file
@ -500,6 +502,8 @@ def try_mirrors(d, uri, mirrors, check = False, force = False):
return found
else:
ud.method.download(newuri, ud, ld)
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
return ud.localpath
except (bb.fetch2.MissingParameterError,
bb.fetch2.FetchError,

View File

@ -116,9 +116,6 @@ class Git(Fetch):
repofile = os.path.join(data.getVar("DL_DIR", d, 1), ud.mirrortarball)
coname = '%s' % (ud.tag)
codir = os.path.join(ud.clonedir, coname)
# If we have no existing clone and no mirror tarball, try and obtain one
if not os.path.exists(ud.clonedir) and not os.path.exists(repofile):
try:
@ -149,7 +146,12 @@ class Git(Fetch):
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
def build_mirror_data(self, url, ud, d):
# Generate a mirror tarball if needed
coname = '%s' % (ud.tag)
codir = os.path.join(ud.clonedir, coname)
repofile = os.path.join(data.getVar("DL_DIR", d, 1), ud.mirrortarball)
os.chdir(ud.clonedir)
mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
if mirror_tarballs != "0" or 'fullclone' in ud.parm: