[Buildroot] [PATCH] fetch/git: Allow fetching from git using ssh

Cory Fields FOSS at AtlasTechnologiesInc.com
Wed Jul 27 06:09:17 UTC 2011


On Wed, Jul 27, 2011 at 5:58 AM, Thomas De Schampheleire
<patrickdepinguin+buildroot at gmail.com> wrote:
> Hi Cory,
>
> On Tue, Jul 26, 2011 at 9:17 PM, Cory Fields
> <FOSS at atlastechnologiesinc.com> wrote:
>> My apologies for not doing a proper git-send-email, my git install is
>> somewhat broken at the moment. See attached.
>>
>> The patch is against the 2011.02 branch, but it's very simple and
>> should be easy enough to apply to master.
>
> Copying here for convenience:
>
>> [PATCH] fetch/git: Allow fetching from git using ssh://
>>
>> This is especially useful for private repositories. For example,
>> github allows fetching from ssh:// git:// and https://. However, for
>> private repos (due to the need to authenticate) only https and ssh are
>> allowed. The protocol is transparent as far as git is concerned. For
>> now, just assume any ssh:// URI is a git repository. Since we would
>> just fallback to wget anyway, this should be a safe assumption
>
> I don't think this is a safe assumption. Also other version control
> systems allow ssh URLs, at least Mercurial does. By hardcoding ssh ->
> git, you break these other version control systems.

Well, my logic was that ssh falls through to wget, it wouldn't make
things worse for any others, only better for git.

>
> But why do you need this patch at all?
> If you explicitly specify <PACKAGE>_SITE_METHOD to git, you can pass
> in an ssh url without problem.
>
> Have you tried that?

No I didn't, but it makes perfect sense now. This is clearly the
correct answer. Perhaps some documentation would help, as it is
becoming quite common to grab a release from a tagged repo rather than
tarballs these days.

Thank you for the help, and quick response. Disregard patch.

Regards,
Cory

>
>>
>> Signed-off-by: Cory Fields <foss at atlastechnologiesinc.com>
>> ---
>>  package/Makefile.package.in |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
>> index 92ce4e2..1936786 100644
>> --- a/package/Makefile.package.in
>> +++ b/package/Makefile.package.in
>> @@ -189,7 +189,7 @@ define DOWNLOAD
>>       fi ; \
>>       if test -n "$(1)" ; then \
>>               case "$($(PKG)_SITE_METHOD)" in \
>> -                     git) $($(DL_MODE)_GIT) && exit ;; \
>> +                     git | ssh) $($(DL_MODE)_GIT) && exit ;; \
>>                       svn) $($(DL_MODE)_SVN) && exit ;; \
>>                       bzr) $($(DL_MODE)_BZR) && exit ;; \
>>                       *) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \
>> @@ -511,6 +511,8 @@ ifeq ($$($(2)_SITE_METHOD),svn)
>>  DL_TOOLS_DEPENDENCIES += svn
>>  else ifeq ($$($(2)_SITE_METHOD),git)
>>  DL_TOOLS_DEPENDENCIES += git
>> +else ifeq ($$($(2)_SITE_METHOD),ssh)
>> +DL_TOOLS_DEPENDENCIES += git
>>  else ifeq ($$($(2)_SITE_METHOD),bzr)
>>  DL_TOOLS_DEPENDENCIES += bzr
>>  endif # SITE_METHOD
>> --
>> 1.7.3.4
>
> Best regards,
> Thomas
>



More information about the buildroot mailing list