[bitbake-devel] [PATCH] fetch/git: Change to use clearer ssh url syntax for broken servers

Peter Kjellerstedt peter.kjellerstedt at axis.com
Thu Jan 14 17:50:02 UTC 2016


> -----Original Message-----
> From: Olof Johansson
> Sent: den 14 januari 2016 18:08
> To: Andre McCurdy; Richard Purdie; bitbake-devel
> Cc: Peter Kjellerstedt
> Subject: Re: [bitbake-devel] [PATCH] fetch/git: Change to use clearer
> ssh url syntax for broken servers
> 
> On 16-01-14 08:51 -0800, Andre McCurdy wrote:
> > > I'm not sure there is one other than special casing bitbucket urls
> in
> > > the fetcher.
> >
> > But I don't think there is any problem with BitBucket. The original
> > bug report was caused by trying to use a URL with a ':' between the
> > host and the repo path. A URL like that does not work when prefixed
> by
> > ssh://, it's the same for GitHub URLs too.
> 
> Indeed, the reported URL is not an RFC 3986 comformant URI. While
> 
>   ssh://example.com:/username/project.git
> 
> would be a kind of valid URI (the RFC doesn't forbid having an
> empty port, see section 3.2.3), not having a path delimiter at
> all however is not allowed. And fixing this by breaking RFC
> comformant use cases is very suprising to me.
> 
> --
> olofjn

I have now looked at the ticket [YOCTO #8864] and actually created an 
account on bitbucket.org to actually verify what is happening, and I 
can only come to the conclusion that the ticket is gibberish. I have 
tried the following two URL:s with bitbucket.org, and they both work 
as expected:

git at bitbucket.org:Saur2000/test1.git
ssh://git@bitbucket.org/Saur2000/test1.git

The real error to the SRC_URI given in the ticket:

SRC_URI = "git://git@bitbucket.org:<username>/<repository>.git;rev=foo"

is that it is missing the protocol argument. Changing it to:

SRC_URI = "git://git@bitbucket.org/<username>/<repository>.git;protocol=ssh;rev=foo"

should make everything work as expected.

The ticket author obviously did not realize that the git:// scheme 
used in the SRC_URI is for BitBake and not for Git, and that when 
the protocol=ssh argument is added, then the rest of the URI must 
be changed to match the syntax expected by an ssh:// URI even though 
the scheme in SRC_URI is git://.

//Peter




More information about the bitbake-devel mailing list