* [Buildroot] [PATCH 0/1] download url broken if url include '+'
@ 2019-11-05 9:04 jemy.zhang at gmail.com
2019-11-05 9:04 ` [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages jemy.zhang at gmail.com
0 siblings, 1 reply; 4+ messages in thread
From: jemy.zhang at gmail.com @ 2019-11-05 9:04 UTC (permalink / raw)
To: buildroot
From: "Jemy Zhang" <jemy.zhang@gmail.com>
While downloading pacakges, the `SITE_METHOD` will be prefixed to the download url of the main package, but the extra download url would not be. If the `SITE URL` accidentally includes '+', url link before '+' would be parsed as `SITE METHOD` by dl-wrapper, and the url broken.
Take `android-tools` package for example:
```
ANDROID_TOOLS_SITE = https://launchpad.net/ubuntu/+archive/primary/+files
ANDROID_TOOLS_EXTRA_DOWNLOADS = android-tools_$(ANDROID_TOOLS_VERSION)-3ubuntu41.debian.tar.gz
```
while build the android-tools package, `ALL_DOWNLOADS` will be expended as:
```
for p in https+https://launchpad.net/ubuntu/+archive/primary/+files/android-tools_4.2.2+git20130218.orig.tar.xz https://launchpad.ne
t/ubuntu/+archive/primary/+files/android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz; do \
if test ! -e /mnt/fileroot/jun.zhang/buildroot-git/buildroot/dl/android-tools/`basename $p` ; then \
echo ">>> android-tools 4.2.2+git20130218 Downloading" ; \
break ; \
fi ; \
done
```
Notice that there's no 'https+' prefixed to the url, `SITE_METHOD` missing.
and while downloading package, url corrupted:
>--2019-11-05 14:10:29-- http://archive/primary/+files/android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz
Jemy Zhang (1):
fix corrupted download url of extra packages
package/pkg-generic.mk | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--
2.22.0
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages 2019-11-05 9:04 [Buildroot] [PATCH 0/1] download url broken if url include '+' jemy.zhang at gmail.com @ 2019-11-05 9:04 ` jemy.zhang at gmail.com 2019-11-08 17:28 ` Yann E. MORIN 0 siblings, 1 reply; 4+ messages in thread From: jemy.zhang at gmail.com @ 2019-11-05 9:04 UTC (permalink / raw) To: buildroot From: "Jemy Zhang" <jemy.zhang@gmail.com> If the download url of extra packages contains '+', the contents before '+' will be parsed as SITE_METHOD, the original download url corrupted. check with android-tools package. Signed-off-by: Jemy Zhang <jemy.zhang@gmail.com> --- package/pkg-generic.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 893faba22a..bb0ca939a3 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -523,8 +523,9 @@ endif $(2)_ALL_DOWNLOADS = \ $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ - $$(if $$(findstring ://,$$(p)),$$(p),\ - $$($(2)_SITE)/$$(p))) + $$(call getschemeplusuri,$$(call qstrip,\ + $$(if $$(findstring ://,$$(p)),$$(p),\ + $$($(2)_SITE)/$$(p))),urlencode)) ifndef $(2)_SITE ifdef $(3)_SITE -- 2.22.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages 2019-11-05 9:04 ` [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages jemy.zhang at gmail.com @ 2019-11-08 17:28 ` Yann E. MORIN 2019-11-08 22:26 ` jemy zhang 0 siblings, 1 reply; 4+ messages in thread From: Yann E. MORIN @ 2019-11-08 17:28 UTC (permalink / raw) To: buildroot Jemy, All, On 2019-11-05 17:04 +0800, jemy.zhang at gmail.com spake thusly: > From: "Jemy Zhang" <jemy.zhang@gmail.com> > > If the download url of extra packages contains '+', the contents before > '+' will be parsed as SITE_METHOD, the original download url corrupted. > > check with android-tools package. Indeed this is broken. Thank you very much for noticing the issue. > Signed-off-by: Jemy Zhang <jemy.zhang@gmail.com> > --- > package/pkg-generic.mk | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > index 893faba22a..bb0ca939a3 100644 > --- a/package/pkg-generic.mk > +++ b/package/pkg-generic.mk > @@ -523,8 +523,9 @@ endif > $(2)_ALL_DOWNLOADS = \ > $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ > $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ > - $$(if $$(findstring ://,$$(p)),$$(p),\ > - $$($(2)_SITE)/$$(p))) > + $$(call getschemeplusuri,$$(call qstrip,\ > + $$(if $$(findstring ://,$$(p)),$$(p),\ > + $$($(2)_SITE)/$$(p))),urlencode)) I am not certain that we want to unconditionally enforce urlencode on all additional downloads... Instead, I think we should just replicate the site method for extra downloads that use the same site as the main download. I've sent a patch that does just that: https://patchwork.ozlabs.org/patch/1192073/ Can you see if that fixes it for you (it did for me, but if you have an alternate test-case, that'd be nice to have feedback on it too). Thanks again for the report! :-) Regards, Yann E. MORIN. > ifndef $(2)_SITE > ifdef $(3)_SITE > -- > 2.22.0 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages 2019-11-08 17:28 ` Yann E. MORIN @ 2019-11-08 22:26 ` jemy zhang 0 siblings, 0 replies; 4+ messages in thread From: jemy zhang @ 2019-11-08 22:26 UTC (permalink / raw) To: buildroot Correct, if the extra download url is relative to the main, only SITE_METHOD prefix is needed. Thanks for your reviews. Yann E. MORIN <yann.morin.1998@free.fr> ? 2019?11?9??? ??1:28??? > Jemy, All, > > On 2019-11-05 17:04 +0800, jemy.zhang at gmail.com spake thusly: > > From: "Jemy Zhang" <jemy.zhang@gmail.com> > > > > If the download url of extra packages contains '+', the contents before > > '+' will be parsed as SITE_METHOD, the original download url corrupted. > > > > check with android-tools package. > > Indeed this is broken. Thank you very much for noticing the issue. > > > Signed-off-by: Jemy Zhang <jemy.zhang@gmail.com> > > --- > > package/pkg-generic.mk | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > > index 893faba22a..bb0ca939a3 100644 > > --- a/package/pkg-generic.mk > > +++ b/package/pkg-generic.mk > > @@ -523,8 +523,9 @@ endif > > $(2)_ALL_DOWNLOADS = \ > > $$(if > $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ > > $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ > > - $$(if $$(findstring ://,$$(p)),$$(p),\ > > - $$($(2)_SITE)/$$(p))) > > + $$(call getschemeplusuri,$$(call qstrip,\ > > + $$(if $$(findstring ://,$$(p)),$$(p),\ > > + $$($(2)_SITE)/$$(p))),urlencode)) > > I am not certain that we want to unconditionally enforce urlencode on > all additional downloads... > > Instead, I think we should just replicate the site method for extra > downloads that use the same site as the main download. > > I've sent a patch that does just that: > https://patchwork.ozlabs.org/patch/1192073/ > > Can you see if that fixes it for you (it did for me, but if you have an > alternate test-case, that'd be nice to have feedback on it too). > > Thanks again for the report! :-) > > Regards, > Yann E. MORIN. > > > ifndef $(2)_SITE > > ifdef $(3)_SITE > > -- > > 2.22.0 > > > > _______________________________________________ > > buildroot mailing list > > buildroot at busybox.net > > http://lists.busybox.net/mailman/listinfo/buildroot > > -- > > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' > conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ > | > | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is > no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v > conspiracy. | > > '------------------------------^-------^------------------^--------------------' > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20191109/5535bf9a/attachment-0001.html> ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-11-08 22:26 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-11-05 9:04 [Buildroot] [PATCH 0/1] download url broken if url include '+' jemy.zhang at gmail.com 2019-11-05 9:04 ` [Buildroot] [PATCH 1/1] fix corrupted download url of extra packages jemy.zhang at gmail.com 2019-11-08 17:28 ` Yann E. MORIN 2019-11-08 22:26 ` jemy zhang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox