From ef918a72de97fd2189e1c8487e371d13e18088fd Mon Sep 17 00:00:00 2001 From: Yu Ke Date: Tue, 18 Jan 2011 23:35:30 +0800 Subject: [PATCH] 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 --- bitbake/lib/bb/fetch2/__init__.py | 4 ++++ bitbake/lib/bb/fetch2/git.py | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 9df91001d5..886d49afa2 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -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, diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index c962acb106..d47191e57f 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py @@ -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: