[Buildroot] [PATCH] DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
Arnout Vandecappelle
arnout at mind.be
Thu Feb 16 22:38:41 UTC 2012
On Thursday 16 February 2012 19:15:07 Alvaro G. M wrote:
> @@ -290,11 +295,11 @@ define DOWNLOAD
> file) $($(DL_MODE)_LOCALFILES) && exit ;; \
> scp) $($(DL_MODE)_SCP) && exit ;; \
> hg) $($(DL_MODE)_HG) && exit ;; \
> - *) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \
> + *) if test -n "$(2)" ; then $(call $(DL_MODE)_WGET,$(1)/$(2),$(2)); else $(call $(DL_MODE)_WGET,$(1)); fi && exit ;; \
> esac ; \
> fi ; \
> if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \
> - $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE),$(2)) && exit ; \
> + $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \
> fi ; \
> exit 1
No, I still don't like it I'm afraid. It feels too complicated. And I
don't think it works for the PRIMARY and BACKUP site if $(2) is empty.
How about this:
define DOWNLOAD_WGET
test -e $(DL_DIR)/$(2) || \
$(WGET) -O $(DL_DIR)/$(2) '$(call qstrip,$(1))'
endef
...
define DOWNLOAD
$(call DOWNLOAD_INNER,$(1),$(if $(2),$(2),$(notdir $(1))))
endef
define DOWNLOAD_INNER
$(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \
case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \
scp) $(call $(DL_MODE)_SCP,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
*) $(call $(DL_MODE)_WGET,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
esac ; \
fi ; \
if test -n "$(1)" ; then \
case "$($(PKG)_SITE_METHOD)" in \
git) $($(DL_MODE)_GIT) && exit ;; \
svn) $($(DL_MODE)_SVN) && exit ;; \
bzr) $($(DL_MODE)_BZR) && exit ;; \
file) $($(DL_MODE)_LOCALFILES) && exit ;; \
scp) $($(DL_MODE)_SCP) && exit ;; \
hg) $($(DL_MODE)_HG) && exit ;; \
*) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \
esac ; \
fi ; \
if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \
$(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \
fi ; \
exit 1
endef
Regards,
Arnout
PS. If you do take this over, you probably better add my
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list