X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Fdownload.mk;h=33141910fce8179c3e595badc6f271d6e7cfd41b;hb=9725aa271a800747b46ad36b65f7765d04ec711b;hp=3634e777c9248c2199b3de8fba10c33bfc9ad220;hpb=e15565a01cea6a61c537f5fb91c4e4d27fb7b290;p=openwrt%2Fopenwrt.git diff --git a/include/download.mk b/include/download.mk index 3634e777c9..33141910fc 100644 --- a/include/download.mk +++ b/include/download.mk @@ -19,17 +19,23 @@ endif DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED) +define dl_method_git +$(if $(filter https://github.com/% git://github.com/%,$(1)),github_archive,git) +endef + # Try to guess the download method from the URL define dl_method $(strip \ - $(if $(2),$(2), \ - $(if $(filter @APACHE/% @GITHUB/% @GNOME/% @GNU/% @KERNEL/% @SF/% @SAVANNAH/% ftp://% http://% https://% file://%,$(1)),default, \ - $(if $(filter git://%,$(1)),git, \ - $(if $(filter svn://%,$(1)),svn, \ - $(if $(filter cvs://%,$(1)),cvs, \ - $(if $(filter hg://%,$(1)),hg, \ - $(if $(filter sftp://%,$(1)),bzr, \ - unknown \ + $(if $(filter git,$(2)),$(call dl_method_git,$(1),$(2)), + $(if $(2),$(2), \ + $(if $(filter @APACHE/% @GITHUB/% @GNOME/% @GNU/% @KERNEL/% @SF/% @SAVANNAH/% ftp://% http://% https://% file://%,$(1)),default, \ + $(if $(filter git://%,$(1)),$(call dl_method_git,$(1),$(2)), \ + $(if $(filter svn://%,$(1)),svn, \ + $(if $(filter cvs://%,$(1)),cvs, \ + $(if $(filter hg://%,$(1)),hg, \ + $(if $(filter sftp://%,$(1)),bzr, \ + unknown \ + ) \ ) \ ) \ ) \ @@ -59,7 +65,7 @@ check_escape=$(subst ','\'',$(1)) # $(1): suffix of the F_, C_ variables, e.g. hash_deprecated, hash_mismatch, etc. # $(2): filename # $(3): expected hash value -# $(4): hash var name: MD5SUM, HASH +# $(4): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} check_warn_nofix = $(info $(shell printf "$(_R)WARNING: %s$(_N)" '$(call check_escape,$(call C_$(1),$(2),$(3),$(4)))')) ifndef FIXUP check_warn = $(check_warn_nofix) @@ -77,12 +83,15 @@ endif # $(1): filename # $(2): expected hash value -# $(3): hash var name: MD5SUM, HASH +# $(3): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} C_download_missing = $(1) is missing, please run make download before re-running this check C_hash_mismatch = $(3) does not match $(1) hash $(call gen_sha256sum,$(1)) C_hash_deprecated = $(3) uses deprecated hash, set to $(call gen_sha256sum,$(1)) C_hash_missing = $(3) is missing, set to $(call gen_sha256sum,$(1)) +# $(1): filename +# $(2): expected hash value +# $(3): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} check_hash = \ $(if $(wildcard $(DL_DIR)/$(1)), \ $(if $(filter-out x,$(2)), \ @@ -169,25 +178,25 @@ endef define DownloadMethod/git $(call wrap_mirror,$(1),$(2), \ - $(call DownloadMethod/git-raw) \ + $(call DownloadMethod/rawgit) \ ) endef -define DownloadMethod/github-tarball +define DownloadMethod/github_archive $(call wrap_mirror,$(1),$(2), \ - $(SCRIPT_DIR)/download.py dl \ + $(SCRIPT_DIR)/dl_github_archive.py \ --dl-dir="$(DL_DIR)" \ - --url $(foreach url,$(URL),"$(url)") \ - --proto="$(PROTO)" \ + --url="$(URL)" \ --version="$(VERSION)" \ --subdir="$(SUBDIR)" \ --source="$(FILE)" \ - || ( $(call DownloadMethod/git-raw) ); \ + --hash="$(MIRROR_HASH)" \ + || ( $(call DownloadMethod/rawgit) ); \ ) endef # Only intends to be called as a submethod from other DownloadMethod -define DownloadMethod/git-raw +define DownloadMethod/rawgit echo "Checking out files from the git repository..."; \ mkdir -p $(TMP_DIR)/dl && \ cd $(TMP_DIR)/dl && \