Commit 4bee7629 authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

pkg-infra: move the wget download helper to a script



Maintaining the download helpers in the Makefile has proved to be a bit
complex, so move it to a shell script.

Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: default avatarSamuel Martin <s.martin49@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 2fd4b959
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
################################################################################

# Download method commands
WGET := $(call qstrip,$(BR2_WGET)) $(QUIET)
export WGET := $(call qstrip,$(BR2_WGET)) $(QUIET)
export SVN := $(call qstrip,$(BR2_SVN))
export CVS := $(call qstrip,$(BR2_CVS))
BZR := $(call qstrip,$(BR2_BZR))
@@ -175,17 +175,10 @@ define SHOW_EXTERNAL_DEPS_HG
  echo $($(PKG)_SOURCE)
endef

# Download a file using wget. Only download the file if it doesn't
# already exist in the download directory. If the download fails,
# remove the file (because wget -O creates a 0-byte file even if the
# download fails).  To handle an interrupted download as well, download
# to a temporary file first.  The temporary file will be overwritten
# the next time the download is tried.

define DOWNLOAD_WGET
	test -e $(DL_DIR)/$(2) || \
	($(WGET) -O $(DL_DIR)/$(2).tmp '$(call qstrip,$(1))' && \
	 mv $(DL_DIR)/$(2).tmp $(DL_DIR)/$(2)) || \
	(rm -f $(DL_DIR)/$(2).tmp ; exit 1)
	$(EXTRA_ENV) support/download/wget '$(call qstrip,$(1))' $(DL_DIR)/$(2)
endef

define SOURCE_CHECK_WGET

support/download/wget

0 → 100755
+21 −0
Original line number Diff line number Diff line
#!/bin/bash

# We want to catch any command failure, and exit immediately
set -e

# Download helper for wget
# Call it with:
#   $1: URL
#   $2: output file
# And this environment:
#   WGET      : the wget command to call

url="${1}"
output="${2}"

if ${WGET} -O "${output}.tmp" "${url}"; then
    mv "${output}.tmp" "${output}"
else
    rm -f "${output}.tmp"
    exit 1
fi