Comments
Patch
@@ -202,7 +202,13 @@ def uri_replace(ud, uri_find, uri_replace, d):
if uri_find_decoded.index(i) == 2:
basename = None
if ud.mirrortarball:
- basename = os.path.basename(ud.mirrortarball)
+ # Transpose a git uri to a file uri and check if there
+ # is a local mirror durring the premirror checks
+ if ud.mirror and uri_find_decoded[0] == "git":
+ result_decoded[0] = "file"
+ basename = os.path.basename(ud.mirror)
+ else:
+ basename = os.path.basename(ud.mirrortarball)
elif ud.localpath:
basename = os.path.basename(ud.localpath)
if basename and result_decoded[loc].endswith("/"):
@@ -138,9 +138,11 @@ class Git(FetchMethod):
if ud.rebaseable:
for name in ud.names:
gitsrcname = gitsrcname + '_' + ud.revisions[name]
+ ud.mirror = gitsrcname
ud.mirrortarball = 'git2_%s.tar.gz' % (gitsrcname)
ud.fullmirror = os.path.join(d.getVar("DL_DIR", True), ud.mirrortarball)
gitdir = d.getVar("GITDIR", True) or (d.getVar("DL_DIR", True) + "/git2/")
+ ud.gitdir = gitdir
ud.clonedir = os.path.join(gitdir, gitsrcname)
ud.localfile = ud.clonedir
@@ -166,6 +168,8 @@ class Git(FetchMethod):
return True
if os.path.exists(ud.clonedir):
return False
+ if not os.path.exists(ud.gitdir):
+ bb.utils.mkdirhier(ud.gitdir)
return True
def download(self, loc, ud, d):
There is a strong desire to store the raw git trees in a pre-mirror such that they can easily get updated externally as well as to contain local branches. This patch adds another type of pre-mirror rule that is "git" based. The syntax looks like: PREMIRRORS_append := "\ git://.*/.* git://${LAYERDIR}/downloads/git/ \n" The syntax for typical tar.gz compressed git tree is: PREMIRRORS_append := "\ git://.*/.* file://${LAYERDIR}/downloads/git/ \n" The new pre-mirror type also requires the creation of the GITDIR at the pre-mirror check time or the git clone and git checks will fail with obscure errors. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- lib/bb/fetch2/__init__.py | 8 +++++++- lib/bb/fetch2/git.py | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-)