[Buildroot] [PATCH 2/2] linux/linux.mk: fixed downloading kernel patches
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Jan 12 21:38:12 UTC 2015
Ivo, All,
On 2015-01-12 17:37 +0100, Ivo Slanina spake thusly:
> Patches located at ftp or http(s) URLs were downloaded using DOWNLOAD
> macro. For example, if linux source was located at external git
> repository, DOWNLOAD macro uses git scheme as well and buildroot
> tried to downlod a path using DOWNLOAD_GIT macro. As a result, nothing
> was downloaded and build siletly passes.
I had a hard time understanding how that would be possible. So I'll
write it here so we're sure we're speaking about the same thing. If you
set your options to:
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="http://foo/bar/buz.git"
BR2_LINUX_KERNEL_PATCH="http://foo/bar/buz.patch"
Then this is translated in the code as:
[linux/linux.mk]
else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y)
LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
LINUX_SITE_METHOD = git
else [...]
which means _SITE_METHOD is set to git, and thus our DOWNLOAD_INNER
macro relies on this to decide how to do the download:
[package/pkg-download]
if test -z "$($(PKG)_SITE_METHOD)" ; then \
scheme="$(call geturischeme,$(1))" ; \
else \
scheme="$($(PKG)_SITE_METHOD)" ; \
fi ; \
So, this sounds legit, indeed.
However, I'm not too fond that we directly use the internal download
macros. But I guess since we ecplicitly filter on schemes wget
understands, that's pretty OK.
Which still prompts a question: what if the user has patches he want to
download via scp? We do not handle this case for now, right. Should we?
Acked-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Regards,
Yann E. MORIN.
> Patches located at mentioned URLs is now downloaded directly with
> DOWNLOAD_WGET macro.
>
> Signed-off-by: Ivo Slanina <ivo.slanina at gmail.com>
> ---
> linux/linux.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index d02b02b..29f59e8 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -148,7 +148,7 @@ define LINUX_DOWNLOAD_PATCHES
> $(if $(LINUX_PATCHES),
> @$(call MESSAGE,"Download additional patches"))
> $(foreach patch,$(filter ftp://% http://% https://%,$(LINUX_PATCHES)),\
> - $(call DOWNLOAD,$(patch))$(sep))
> + $(call DOWNLOAD_WGET,$(patch),$(notdir $(patch)))$(sep))
> endef
>
> LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES
> --
> 1.7.10.4
>
> _______________________________________________
> 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 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list