summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/fetch/__init__.py')
-rw-r--r--bitbake/lib/bb/fetch/__init__.py35
1 files changed, 32 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index da5b10c4b6..0515f2a5e9 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -158,18 +158,47 @@ class Fetch(object):
158 return data.getVar("SRCDATE", d, 1) or data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1 ) 158 return data.getVar("SRCDATE", d, 1) or data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1 )
159 getSRCDate = staticmethod(getSRCDate) 159 getSRCDate = staticmethod(getSRCDate)
160 160
161#if __name__ == "__main__": 161 def try_mirror(d, tarfn):
162 """
163 Try to use a mirrored version of the sources. We do this
164 to avoid massive loads on foreign cvs and svn servers.
165 This method will be used by the different fetcher
166 implementations.
167
168 d Is a bb.data instance
169 tarfn is the name of the tarball
170 """
171 tarpath = os.path.join(data.getVar("DL_DIR", d, 1), tarfn)
172 if os.access(tarpath, os.R_OK):
173 return True
174
175 pn = data.getVar('PN', d, True)
176 src_tarball_stash = None
177 if pn:
178 src_tarball_stash = (data.getVar('SRC_TARBALL_STASH_%s' % pn, d, True) or data.getVar('CVS_TARBALL_STASH_%s' % pn, d, True) or data.getVar('SRC_TARBALL_STASH', d, True) or data.getVar('CVS_TARBALL_STASH', d, True) or "").split()
179
180 for stash in src_tarball_stash:
181 fetchcmd = data.getVar("FETCHCOMMAND_mirror", d, True) or data.getVar("FETCHCOMMAND_wget", d, True)
182 uri = stash + tarfn
183 bb.note("fetch " + uri)
184 fetchcmd = fetchcmd.replace("${URI}", uri)
185 ret = os.system(fetchcmd)
186 if ret == 0:
187 bb.note("Fetched %s from tarball stash, skipping checkout" % tarfn)
188 return True
189 return False
190 try_mirror = staticmethod(try_mirror)
162 191
163import bk
164import cvs 192import cvs
165import git 193import git
166import local 194import local
167import svn 195import svn
168import wget 196import wget
197import svk
169 198
170methods.append(bk.Bk())
171methods.append(cvs.Cvs()) 199methods.append(cvs.Cvs())
172methods.append(git.Git()) 200methods.append(git.Git())
173methods.append(local.Local()) 201methods.append(local.Local())
174methods.append(svn.Svn()) 202methods.append(svn.Svn())
175methods.append(wget.Wget()) 203methods.append(wget.Wget())
204methods.append(svk.Svk())