| Submitter | Paul Eggleton |
|---|---|
| Date | Oct. 3, 2012, 12:27 p.m. |
| Message ID | <1349267277-1380-1-git-send-email-paul.eggleton@linux.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/37689/ |
| State | New |
| Headers | show |
Comments
On Wed, Oct 3, 2012 at 5:27 AM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote: > It is a common mistake to use http:// and protocol=git when attempting > to fetch from a git repository using the http protocol; if this is > detected then throw an error explaining that you need to use git:// with > protocol=http instead. > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Perhaps this should check the protocol= value against the protocols supported by wget (ftp, http, https, etc), if the parameter is passed, rather than hardcoding the exceptions.
On Saturday 06 October 2012 15:27:42 Chris Larson wrote: > On Wed, Oct 3, 2012 at 5:27 AM, Paul Eggleton > > <paul.eggleton@linux.intel.com> wrote: > > It is a common mistake to use http:// and protocol=git when attempting > > to fetch from a git repository using the http protocol; if this is > > detected then throw an error explaining that you need to use git:// with > > protocol=http instead. > > > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> > > Perhaps this should check the protocol= value against the protocols > supported by wget (ftp, http, https, etc), if the parameter is passed, > rather than hardcoding the exceptions. I don't think protocol= is currently used with the wget fetcher is it? Cheers, Paul
On Sat, Oct 6, 2012 at 3:32 PM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote: > On Saturday 06 October 2012 15:27:42 Chris Larson wrote: >> On Wed, Oct 3, 2012 at 5:27 AM, Paul Eggleton >> >> <paul.eggleton@linux.intel.com> wrote: >> > It is a common mistake to use http:// and protocol=git when attempting >> > to fetch from a git repository using the http protocol; if this is >> > detected then throw an error explaining that you need to use git:// with >> > protocol=http instead. >> > >> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> >> >> Perhaps this should check the protocol= value against the protocols >> supported by wget (ftp, http, https, etc), if the parameter is passed, >> rather than hardcoding the exceptions. > > I don't think protocol= is currently used with the wget fetcher is it? It isn't, but it also doesn't seem ideal to hardcode knowledge of the git fetcher in the wget one. Either way, I just wanted to make sure both options were considered.
On Saturday 06 October 2012 15:38:45 Chris Larson wrote: > On Sat, Oct 6, 2012 at 3:32 PM, Paul Eggleton > <paul.eggleton@linux.intel.com> wrote: > > On Saturday 06 October 2012 15:27:42 Chris Larson wrote: > >> On Wed, Oct 3, 2012 at 5:27 AM, Paul Eggleton > >> > >> <paul.eggleton@linux.intel.com> wrote: > >> > It is a common mistake to use http:// and protocol=git when attempting > >> > to fetch from a git repository using the http protocol; if this is > >> > detected then throw an error explaining that you need to use git:// > >> > with > >> > protocol=http instead. > >> > > >> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> > >> > >> Perhaps this should check the protocol= value against the protocols > >> supported by wget (ftp, http, https, etc), if the parameter is passed, > >> rather than hardcoding the exceptions. > > > > I don't think protocol= is currently used with the wget fetcher is it? > > It isn't, but it also doesn't seem ideal to hardcode knowledge of the > git fetcher in the wget one. Either way, I just wanted to make sure > both options were considered. I did consider checking for any use of protocol= and failing if any value is specified; perhaps we should still do that; for the purposes of helping people avoid a common pitfall however, it seems reasonable to me to check explicitly for protocol=git and I would still advocate leaving that check and message in even if we did add a general check on protocol. Cheers, Paul
Patch
diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py index 9affa0d..ea99198 100644 --- a/bitbake/lib/bb/fetch2/wget.py +++ b/bitbake/lib/bb/fetch2/wget.py @@ -49,6 +49,9 @@ class Wget(FetchMethod): return True def urldata_init(self, ud, d): + if 'protocol' in ud.parm: + if ud.parm['protocol'] == 'git': + raise bb.fetch2.ParameterError("Invalid protocol - if you wish to fetch from a git repository using http, you need to instead use the git:// prefix with protocol=http", ud.url) if 'downloadfilename' in ud.parm: ud.basename = ud.parm['downloadfilename']
It is a common mistake to use http:// and protocol=git when attempting to fetch from a git repository using the http protocol; if this is detected then throw an error explaining that you need to use git:// with protocol=http instead. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> --- bitbake/lib/bb/fetch2/wget.py | 3 +++ 1 file changed, 3 insertions(+)