diff options
author | zuul <zuul@gerrit.asterisk.org> | 2016-11-21 06:22:07 -0600 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-11-21 06:22:07 -0600 |
commit | aa9d91c290e9efebff8702fa2d262560c5e8dd2e (patch) | |
tree | 7e067bbcc97f0038c7719739aa714dedc70f71ba /third-party/pjproject/Makefile | |
parent | 84e508c999718c822626466accbfafa7cdaec83c (diff) | |
parent | d3f070c7a26a79e1f02a745288c5b66e41324146 (diff) |
Merge "pjproject_bundled: Improve reliability of pjproject download"
Diffstat (limited to 'third-party/pjproject/Makefile')
-rw-r--r-- | third-party/pjproject/Makefile | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/third-party/pjproject/Makefile b/third-party/pjproject/Makefile index 5a4c2d1b6..3f50a89b9 100644 --- a/third-party/pjproject/Makefile +++ b/third-party/pjproject/Makefile @@ -75,14 +75,31 @@ include ../Makefile.rules include Makefile.rules ECHO_PREFIX := $(ECHO_PREFIX) echo '[pjproject] ' +SHELL_ECHO_PREFIX := echo '[pjproject] ' _all: $(TARGETS) +define download_from_pjproject + ($(SHELL_ECHO_PREFIX) Downloading $(PJPROJECT_URL)/$(@F) to $@ ;\ + $(DOWNLOAD_TO_STDOUT) $(call DOWNLOAD_TIMEOUT,5,10) $(PJPROJECT_URL)/$(@F) > $@ &&\ + $(SHELL_ECHO_PREFIX) Downloading $(PJPROJECT_URL)/MD5SUM to $(PJMD5SUM) &&\ + $(DOWNLOAD_TO_STDOUT) $(call DOWNLOAD_TIMEOUT,5,10) $(PJPROJECT_URL)/MD5SUM.TXT > $(PJMD5SUM) &&\ + ($(SHELL_ECHO_PREFIX) Verifying $@ &&\ + tarball_sum=$$($(CAT) $@ | $(MD5) | $(SED) -n -r -e "s/^([^ ]+)\s+.*/\1/gp") ;\ + required_sum=$$($(SED) -n -r -e "s/^([^ ]+)\s+$(@F)/\1/gp" $(PJMD5SUM)) ;\ + if [ "$$tarball_sum" != "$$required_sum" ] ; then $(SHELL_ECHO_PREFIX) Verify failed ; exit 1 ; fi) &&\ + $(SHELL_ECHO_PREFIX) Verify successful ; exit 0) +endef + +.DELETE_ON_ERROR: + DOWNLOAD_DIR := $(or $(EXTERNALS_CACHE_DIR),$(TMPDIR),$(wildcard /tmp),.) +TARBALL = $(DOWNLOAD_DIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2 +PJMD5SUM = $(patsubst %.tar.bz2,%.md5,$(TARBALL)) -$(DOWNLOAD_DIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2: ../versions.mak - $(ECHO_PREFIX) Downloading $(PJPROJECT_URL)/$(@F) to $@ - $(CMD_PREFIX) $(DOWNLOAD_TO_STDOUT) $(PJPROJECT_URL)/$(@F) > $@ +$(TARBALL): ../versions.mak + $(CMD_PREFIX) $(download_from_pjproject) || (rm -rf $@ ;\ + $(SHELL_ECHO_PREFIX) Retrying download ; sleep 3 ; $(download_from_pjproject)) source/.unpacked: $(DOWNLOAD_DIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2 $(ECHO_PREFIX) Unpacking $< |