From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Christopher Larson <clarson@kergoth.com>
Cc: "bitbake-devel@lists.openembedded.org"
<bitbake-devel@lists.openembedded.org>
Subject: Re: [PATCH] wget.py: support for semi-colons in URL
Date: Mon, 27 Jul 2015 21:01:43 +0100 [thread overview]
Message-ID: <1438027303.821.279.camel@linuxfoundation.org> (raw)
In-Reply-To: <CABcZAN=pWRrz2NQ8=fChBo4MBgfZHjA=weY-=588HfQRgisdSw@mail.gmail.com>
On Mon, 2015-07-27 at 10:58 -0700, Christopher Larson wrote:
>
> On Mon, Jul 27, 2015 at 9:10 AM, Bystricky, Juro
> <juro.bystricky@intel.com> wrote:
> I agree that a generic solution is preferable. I also I think
> it is only prudent to support all valid URLs.
>
> The situation is complicated by the fact that at present it
> may not be possible to determine how to interpret the ‘;’ in
> SRC_URI.
>
> It can be part of the URL or it can be a SRC_URI
> delimiter/separator.
>
> As I don’t suppose changing the delimiter character from
> semi-colon to something else (i.e. an unsafe URL character)
>
> is an option, some other changes to the SRC_URI syntax are
> needed, for example:
>
>
>
> 1. Some form of escape sequence (i.e. ‘;;’ means treat as
> ‘;’) in URL, i.e.
>
> SRC_URI =
> "http://abc123.com/git/?p=gcc/gcc.git;;a=snapshot;;h=a5dd47;downloadfilename=abc.tar"
>
>
>
> This is probably the only sane bet to retain compatibility, at least
> as far as I can tell, but perhaps someone else has an idea.
>
> 2. Quoted string implementation, using one of the
> “unsafe” URL characters such as ‘`’, to delimit the URL
>
> SRC_URI = "’
> http://abc123.com/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47`;downloadfilename=abc.tar"
>
> Clearly this would be ideal, and is what we should have done, but it’s
> a bit late now :) It’s not the only questionable choice we made in the
> URL handling back when we wrote the original fetcher (e.g. file://
> rather than file:, but afaik one should only use the former if there’s
> a netloc/host).
Yes, horse has bolted now. A bit like a lot of bitbake, hindsight is
great! :}.
There is an alternative I've been mulling over the weekend:
http://abc123.com/git/?p=gcc/gcc.git;extraparams=`;a=snapshot;h=a5dd47`;downloadfilename=abc.tar"
or
http://abc123.com/git/?p=gcc/gcc.git;extraparams=a=snapshot%3Bh=a5dd47;downloadfilename=abc.tar"
(or some variant of that, pick your favourite quote characters and ;
placement is for discussion). We'd then just pull out extraparams and
unescape it somehow. Each fetcher could then deal with it as
appropriate, or its just a wget fetcher specific option.
Just thinking out loud really...
Cheers,
Richard
next prev parent reply other threads:[~2015-07-27 20:02 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-25 18:32 [PATCH] wget.py: support for semi-colons in URL Juro Bystricky
2015-07-25 19:14 ` Christopher Larson
2015-07-27 16:10 ` Bystricky, Juro
2015-07-27 17:58 ` Christopher Larson
2015-07-27 20:01 ` Richard Purdie [this message]
2015-07-28 5:47 ` Peter Urbanec
2015-07-28 10:57 ` Olof Johansson
2015-07-28 11:00 ` Olof Johansson
2015-07-28 16:06 ` Bystricky, Juro
2015-07-28 19:38 ` Richard Purdie
2015-07-29 18:12 ` Bystricky, Juro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438027303.821.279.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=bitbake-devel@lists.openembedded.org \
--cc=clarson@kergoth.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.