pkg-download.mk: support detection of URI schemes in DOWNLOAD
authorThomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>
Fri, 22 Jun 2012 05:42:36 +0000 (07:42 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 22 Jul 2012 14:53:24 +0000 (16:53 +0200)
When using one of the package infrastructures, the DOWNLOAD function
uses $(PKG)_SITE_METHOD to determine the appropriate download method,
which is autodetected based on the URI if none was explicitly set.

When the DOWNLOAD function is called directly, for example when
downloading a toolchain, or from a package that does not use one of
the package infrastructures, the SITE_METHOD is not autodetected,
and thus the download defaults to wget.

This patch adds URI scheme detection directly to the DOWNLOAD method,
in case no SITE_METHOD was detected yet.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/pkg-download.mk

index ca5b40466a26ce38172f5822f32db0957fc120f0..e93875988fbd7bea1c08c1a59fa547f654347725 100644 (file)
@@ -214,7 +214,12 @@ define DOWNLOAD_INNER
                esac ; \
        fi ; \
        if test -n "$(1)" ; then \
-               case "$($(PKG)_SITE_METHOD)" in \
+               if test -z "$($(PKG)_SITE_METHOD)" ; then \
+                       scheme="$(call geturischeme,$(1))" ; \
+               else \
+                       scheme="$($(PKG)_SITE_METHOD)" ; \
+               fi ; \
+               case "$$scheme" in \
                        git) $($(DL_MODE)_GIT) && exit ;; \
                        svn) $($(DL_MODE)_SVN) && exit ;; \
                        bzr) $($(DL_MODE)_BZR) && exit ;; \