From 419f67bacd223f64fa9a6a5419d5e890aa90dc48 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Thu, 6 Dec 2012 03:38:45 +1100 Subject: [PATCH] Makefile: correctly escape urls for amazon services --- Makefile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index afa52371..4c8fef7c 100644 --- a/Makefile +++ b/Makefile @@ -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, \ ) \