/branches/18.06.1/include/download.mk |
@@ -19,23 +19,17 @@ |
|
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 $(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 \ |
) \ |
$(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 \ |
) \ |
) \ |
) \ |
@@ -62,10 +56,6 @@ |
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): var name of the the form: {PKG_,Download/<name>:}{,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) |
@@ -81,17 +71,11 @@ |
F_hash_missing = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile add-hash $(3) $(call gen_sha256sum,$(1)) |
endif |
|
# $(1): filename |
# $(2): expected hash value |
# $(3): var name of the the form: {PKG_,Download/<name>:}{,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/<name>:}{,MIRROR_}{HASH,MIRROR_HASH} |
check_hash = \ |
$(if $(wildcard $(DL_DIR)/$(1)), \ |
$(if $(filter-out x,$(2)), \ |
@@ -132,9 +116,6 @@ |
) |
endef |
|
# $(1): "check" |
# $(2): "PKG_" if <name> as in Download/<name> is "default", otherwise "Download/<name>:" |
# $(3): shell command sequence to do the download |
define wrap_mirror |
$(if $(if $(MIRROR),$(filter-out x,$(MIRROR_HASH))),$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_HASH)" "" || ( $(3) ),$(3)) \ |
$(if $(filter check,$(1)), \ |
@@ -178,41 +159,23 @@ |
|
define DownloadMethod/git |
$(call wrap_mirror,$(1),$(2), \ |
$(call DownloadMethod/rawgit) \ |
echo "Checking out files from the git repository..."; \ |
mkdir -p $(TMP_DIR)/dl && \ |
cd $(TMP_DIR)/dl && \ |
rm -rf $(SUBDIR) && \ |
[ \! -d $(SUBDIR) ] && \ |
git clone $(OPTS) $(URL) $(SUBDIR) && \ |
(cd $(SUBDIR) && git checkout $(VERSION) && \ |
git submodule update --init --recursive) && \ |
echo "Packing checkout..." && \ |
export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \ |
rm -rf $(SUBDIR)/.git && \ |
$(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ |
mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ |
rm -rf $(SUBDIR); \ |
) |
endef |
|
define DownloadMethod/github_archive |
$(call wrap_mirror,$(1),$(2), \ |
$(SCRIPT_DIR)/dl_github_archive.py \ |
--dl-dir="$(DL_DIR)" \ |
--url="$(URL)" \ |
--version="$(VERSION)" \ |
--subdir="$(SUBDIR)" \ |
--source="$(FILE)" \ |
--hash="$(MIRROR_HASH)" \ |
|| ( $(call DownloadMethod/rawgit) ); \ |
) |
endef |
|
# Only intends to be called as a submethod from other DownloadMethod |
define DownloadMethod/rawgit |
echo "Checking out files from the git repository..."; \ |
mkdir -p $(TMP_DIR)/dl && \ |
cd $(TMP_DIR)/dl && \ |
rm -rf $(SUBDIR) && \ |
[ \! -d $(SUBDIR) ] && \ |
git clone $(OPTS) $(URL) $(SUBDIR) && \ |
(cd $(SUBDIR) && git checkout $(VERSION) && \ |
git submodule update --init --recursive) && \ |
echo "Packing checkout..." && \ |
export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \ |
rm -rf $(SUBDIR)/.git && \ |
$(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ |
mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ |
rm -rf $(SUBDIR); |
endef |
|
define DownloadMethod/bzr |
$(call wrap_mirror,$(1),$(2), \ |
echo "Checking out files from the bzr repository..."; \ |