[Buildroot] [PATCH] pkg-infra: Fix wget -O

Arnout Vandecappelle (Essensium/Mind) arnout at mind.be
Sun Mar 4 21:10:23 UTC 2012


wget -O always creates its output file, so we need a different way to
detect if the download succeeded or not.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
Ideally, wget should have an option to name the downloaded file.
-O <filename> is in fact fully equivalent to -O - > <filename>...
Maybe we should move to curl after all? :-)

 package/Makefile.package.in |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/package/Makefile.package.in b/package/Makefile.package.in
index ea44c6c..da6aee0 100644
--- a/package/Makefile.package.in
+++ b/package/Makefile.package.in
@@ -236,9 +236,13 @@ define SHOW_EXTERNAL_DEPS_HG
 endef
 
 
+# wget -O ... creates the output file before downloading it, so
+# it will essentially always succeed.  As a workaround, test that
+# it is non-empty both before and after.
 define DOWNLOAD_WGET
-	test -e $(DL_DIR)/$(2) || \
-	$(WGET) -O $(DL_DIR)/$(2) $(call qstrip,$(1))/$(2)
+	test -s $(DL_DIR)/$(2) || \
+	$(WGET) -O $(DL_DIR)/$(2) $(call qstrip,$(1))/$(2) && \
+	test -s $(DL_DIR)/$(2)
 endef
 
 define SOURCE_CHECK_WGET
-- 
tg: (dca6e03..) t/wget (depends on: master)


More information about the buildroot mailing list