pkg-download: silence downloads if make is silent
authorFabio Porcedda <fabio.porcedda@gmail.com>
Fri, 2 Jan 2015 15:53:40 +0000 (16:53 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 4 Jan 2015 17:39:46 +0000 (18:39 +0100)
If doing a silent build (make -s -> QUIET=-q), silence all downloads,
by passing the -q flag downward to backends as well as to check-hash.

Change a printf to use the trace functions.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/pkg-download.mk
support/download/dl-wrapper

index ba72fc1f0e18ab3240684f5cf4032b9c5ab547e4..9c782fea8f8fe2edf0cf47d38b9296fc61a309b9 100644 (file)
@@ -88,6 +88,7 @@ define DOWNLOAD_GIT
        $(EXTRA_ENV) $(DL_WRAPPER) -b git \
                -o $(DL_DIR)/$($(PKG)_SOURCE) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $($(PKG)_SITE) \
                $($(PKG)_DL_VERSION) \
@@ -109,6 +110,7 @@ define DOWNLOAD_BZR
        $(EXTRA_ENV) $(DL_WRAPPER) -b bzr \
                -o $(DL_DIR)/$($(PKG)_SOURCE) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $($(PKG)_SITE) \
                $($(PKG)_DL_VERSION) \
@@ -127,6 +129,7 @@ define DOWNLOAD_CVS
        $(EXTRA_ENV) $(DL_WRAPPER) -b cvs \
                -o $(DL_DIR)/$($(PKG)_SOURCE) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $(call stripurischeme,$(call qstrip,$($(PKG)_SITE))) \
                $($(PKG)_DL_VERSION) \
@@ -147,6 +150,7 @@ define DOWNLOAD_SVN
        $(EXTRA_ENV) $(DL_WRAPPER) -b svn \
                -o $(DL_DIR)/$($(PKG)_SOURCE) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $($(PKG)_SITE) \
                $($(PKG)_DL_VERSION) \
@@ -168,6 +172,7 @@ define DOWNLOAD_SCP
        $(EXTRA_ENV) $(DL_WRAPPER) -b scp \
                -o $(DL_DIR)/$(2) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                '$(call stripurischeme,$(call qstrip,$(1)))'
 endef
@@ -185,6 +190,7 @@ define DOWNLOAD_HG
        $(EXTRA_ENV) $(DL_WRAPPER) -b hg \
                -o $(DL_DIR)/$($(PKG)_SOURCE) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $($(PKG)_SITE) \
                $($(PKG)_DL_VERSION) \
@@ -206,6 +212,7 @@ define DOWNLOAD_WGET
        $(EXTRA_ENV) $(DL_WRAPPER) -b wget \
                -o $(DL_DIR)/$(2) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                '$(call qstrip,$(1))'
 endef
@@ -222,6 +229,7 @@ define DOWNLOAD_LOCALFILES
        $(EXTRA_ENV) $(DL_WRAPPER) -b cp \
                -o $(DL_DIR)/$(2) \
                -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \
+               $(QUIET) \
                -- \
                $(call stripurischeme,$(call qstrip,$(1)))
 endef
index cced8f6a4c7cbe08317cc860cb1b4243c0413e33..3b30840a0c84bfca1be05ef1810e51222b56d853 100755 (executable)
@@ -21,15 +21,16 @@ set -e
 
 main() {
     local OPT OPTARG
-    local backend output hfile
+    local backend output hfile quiet
 
     # Parse our options; anything after '--' is for the backend
-    while getopts :hb:o:H: OPT; do
+    while getopts :hb:o:H:q OPT; do
         case "${OPT}" in
         h)  help; exit 0;;
         b)  backend="${OPTARG}";;
         o)  output="${OPTARG}";;
         H)  hfile="${OPTARG}";;
+        q)  quiet="-q";;
         :)  error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
         \?) error "unknown option '%s'\n" "${OPTARG}";;
         esac
@@ -49,11 +50,11 @@ main() {
 
     # If the output file already exists, do not download it again
     if [ -e "${output}" ]; then
-        if support/download/check-hash "${hfile}" "${output}" "${output##*/}"; then
+        if support/download/check-hash ${quiet} "${hfile}" "${output}" "${output##*/}"; then
             exit 0
         fi
         rm -f "${output}"
-        printf "Re-downloading '%s'...\n" "${output##*/}"
+        warn "Re-downloading '%s'...\n" "${output##*/}"
     fi
 
     # tmpd is a temporary directory in which backends may store intermediate
@@ -75,7 +76,7 @@ main() {
     # If the backend fails, we can just remove the temporary directory to
     # remove all the cruft it may have left behind. Then we just exit in
     # error too.
-    if ! "${OLDPWD}/support/download/${backend}" "${tmpf}" "${@}"; then
+    if ! "${OLDPWD}/support/download/${backend}" ${quiet} "${tmpf}" "${@}"; then
         rm -rf "${tmpd}"
         exit 1
     fi
@@ -85,7 +86,7 @@ main() {
 
     # Check if the downloaded file is sane, and matches the stored hashes
     # for that file
-    if ! support/download/check-hash "${hfile}" "${tmpf}" "${output##*/}"; then
+    if ! support/download/check-hash ${quiet} "${hfile}" "${tmpf}" "${output##*/}"; then
         rm -rf "${tmpd}"
         exit 1
     fi