diff options
author | Robert Bragg <robert@linux.intel.com> | 2008-12-03 16:01:39 +0000 |
---|---|---|
committer | Robert Bragg <robert@linux.intel.com> | 2008-12-03 16:21:45 +0000 |
commit | c1a12b7d20c95391f8d56962fafb1f0bfe7d1918 (patch) | |
tree | 557099703f303042a5e7988734410a3e1a486cab /bitbake/lib/bb/fetch/git.py | |
parent | a8b0e8a0342e4bc5bc05203793aaf56cfc445d2f (diff) | |
download | poky-c1a12b7d20c95391f8d56962fafb1f0bfe7d1918.tar.gz |
Adds username support to the git fetcher, and exports SSH_AGENT_PID + SSH_AUTH_SOCK
The SSH_AGENT_PID + SSH_AUTH_SOCK environment variables are needed if you
are using ssh-agent to hold passwords for your ssh keys.
Diffstat (limited to 'bitbake/lib/bb/fetch/git.py')
-rw-r--r-- | bitbake/lib/bb/fetch/git.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py index aa26a500c7..26f2b47f2a 100644 --- a/bitbake/lib/bb/fetch/git.py +++ b/bitbake/lib/bb/fetch/git.py | |||
@@ -66,6 +66,11 @@ class Git(Fetch): | |||
66 | bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists (or was stashed). Skipping git checkout." % ud.localpath) | 66 | bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists (or was stashed). Skipping git checkout." % ud.localpath) |
67 | return | 67 | return |
68 | 68 | ||
69 | if ud.user: | ||
70 | username = ud.user + '@' | ||
71 | else: | ||
72 | username = "" | ||
73 | |||
69 | gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.')) | 74 | gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.')) |
70 | 75 | ||
71 | repofilename = 'git_%s.tar.gz' % (gitsrcname) | 76 | repofilename = 'git_%s.tar.gz' % (gitsrcname) |
@@ -81,13 +86,13 @@ class Git(Fetch): | |||
81 | os.chdir(repodir) | 86 | os.chdir(repodir) |
82 | runfetchcmd("tar -xzf %s" % (repofile), d) | 87 | runfetchcmd("tar -xzf %s" % (repofile), d) |
83 | else: | 88 | else: |
84 | runfetchcmd("git clone -n %s://%s%s %s" % (ud.proto, ud.host, ud.path, repodir), d) | 89 | runfetchcmd("git clone -n %s://%s%s%s %s" % (ud.proto, username, ud.host, ud.path, repodir), d) |
85 | 90 | ||
86 | os.chdir(repodir) | 91 | os.chdir(repodir) |
87 | # Remove all but the .git directory | 92 | # Remove all but the .git directory |
88 | runfetchcmd("rm * -Rf", d) | 93 | runfetchcmd("rm * -Rf", d) |
89 | runfetchcmd("git fetch %s://%s%s %s" % (ud.proto, ud.host, ud.path, ud.branch), d) | 94 | runfetchcmd("git fetch %s://%s%s%s %s" % (ud.proto, username, ud.host, ud.path, ud.branch), d) |
90 | runfetchcmd("git fetch --tags %s://%s%s" % (ud.proto, ud.host, ud.path), d) | 95 | runfetchcmd("git fetch --tags %s://%s%s%s" % (ud.proto, username, ud.host, ud.path), d) |
91 | runfetchcmd("git prune-packed", d) | 96 | runfetchcmd("git prune-packed", d) |
92 | runfetchcmd("git pack-redundant --all | xargs -r rm", d) | 97 | runfetchcmd("git pack-redundant --all | xargs -r rm", d) |
93 | 98 | ||