Makefile: correctly escape urls for amazon services

This commit is contained in:
Tony Theodore 2012-12-06 03:38:45 +11:00
parent cb623a2117
commit 419f67bacd
1 changed files with 7 additions and 4 deletions

View File

@ -63,16 +63,19 @@ PKG_CHECKSUM = \
CHECK_PKG_ARCHIVE = \
[ '$($(1)_CHECKSUM)' == "`$$(call PKG_CHECKSUM,$(1))`" ]
ESCAPE_PKG = \
echo '$($(1)_FILE)' | perl -lpe 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($$$$1))/seg'
DOWNLOAD_PKG_ARCHIVE = \
mkdir -p '$(PKG_DIR)' && \
$(if $($(1)_URL_2), \
( $(WGET) -T 30 -t 3 -O- '$($(1)_URL)' || \
$(WGET) -O- '$($(1)_URL_2)' || \
$(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
$(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' ), \
$(WGET) -O- $(PKG_MIRROR)/`$(call ESCAPE_PKG,$(1))` || \
$(WGET) -O- $(PKG_CDN)/`$(call ESCAPE_PKG,$(1))` ), \
( $(WGET) -O- '$($(1)_URL)' || \
$(WGET) -O- '$(PKG_MIRROR)/$($(1)_FILE)' || \
$(WGET) -O- '$(PKG_CDN)/$($(1)_FILE)' )) \
$(WGET) -O- $(PKG_MIRROR)/`$(call ESCAPE_PKG,$(1))` || \
$(WGET) -O- $(PKG_CDN)/`$(call ESCAPE_PKG,$(1))` )) \
$(if $($(1)_FIX_GZIP), \
| gzip -d | gzip -9n, \
) \