[Buildroot] [PATCH 2/2 v8] pkg-download: silence downloads if make is silent

Fabio Porcedda fabio.porcedda at gmail.com
Thu Jan 1 17:54:35 UTC 2015


On Thu, Jan 1, 2015 at 5:50 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> From: Fabio Porcedda <fabio.porcedda at gmail.com>
>
> If it is a silent build (make -s -> QUIET=-q) silence all downloads, as
> well as the check-hash. Only stdout is redirected, stderr is still
> visible, for errors and warning.

Hi Yann,
nice idea, i tried this patch but even if it works for check-hash and
svn it does not works for the git backend (e.g. libubox) and the wget
bakend (try it without the QUIET flags in the WGET variable).

I don't understand the reason for this behavior.
Do you have an idea for this strange behavior?

> Signed-off-by: Fabio Porcedda <fabio.porcedda at gmail.com>
> [yann.morin.1998 at free.fr: greatly simplify by simply consigning stdout
>  to oblivion]
> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
> ---
>  package/pkg-download.mk     | 8 ++++++++
>  support/download/dl-wrapper | 3 ++-
>  2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/package/pkg-download.mk b/package/pkg-download.mk
> index ba72fc1..9c782fe 100644
> --- a/package/pkg-download.mk
> +++ b/package/pkg-download.mk
> @@ -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
> diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper
> index cced8f6..57a799e 100755
> --- a/support/download/dl-wrapper
> +++ b/support/download/dl-wrapper
> @@ -24,12 +24,13 @@ main() {
>      local backend output hfile
>
>      # 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)  exec >/dev/null;;
>          :)  error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
>          \?) error "unknown option '%s'\n" "${OPTARG}";;
>          esac
> --
> 1.9.1
>



-- 
Fabio Porcedda


More information about the buildroot mailing list