All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 next 1/5] support/download: silence git if it is a silent build
Date: Wed, 26 Nov 2014 22:35:34 +0100	[thread overview]
Message-ID: <20141126213534.GA4260@free.fr> (raw)
In-Reply-To: <1416837422-1977-2-git-send-email-fabio.porcedda@gmail.com>

Fabio, All,

On 2014-11-24 14:56 +0100, Fabio Porcedda spake thusly:
> If it is a silent build (make -s -> QUIET=-q) silence the git download
> helper using "git clone -q" just like others download helpers,
> e.g. wget.
> 
> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
> ---
> 
> Notes:
>     v3:
>      - add this patch
> 
>  package/pkg-download.mk |  3 ++-
>  support/download/git    | 14 ++++++++++----
>  2 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/package/pkg-download.mk b/package/pkg-download.mk
> index f3409bd..95175d6 100644
> --- a/package/pkg-download.mk
> +++ b/package/pkg-download.mk
> @@ -99,7 +99,8 @@ define DOWNLOAD_GIT
>  		$(DL_DIR)/$($(PKG)_SOURCE) \
>  		$($(PKG)_SITE) \
>  		$($(PKG)_DL_VERSION) \
> -		$($(PKG)_BASE_NAME)
> +		$($(PKG)_BASE_NAME) \
> +		$(QUIET)
>  endef
>  
>  # TODO: improve to check that the given PKG_DL_VERSION exists on the remote
> diff --git a/support/download/git b/support/download/git
> index 5d36ca4..4ce9030 100755
> --- a/support/download/git
> +++ b/support/download/git
> @@ -9,6 +9,7 @@ set -e
>  #   $2: git repo
>  #   $3: git cset
>  #   $4: package's basename (eg. foobar-1.2.3)
> +#   $5: "-q", optional quiet flag

I am not a big fan of this.

I would prefer we pass the quiet flag through the environment, something
like this, for example:

    diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
    index 9643a30..0399b73 100644
    --- a/package/pkg-generic.mk
    +++ b/package/pkg-generic.mk
    @@ -69,7 +69,7 @@ endif
     ################################################################################

     # Retrieve the archive
    -$(BUILD_DIR)/%/.stamp_downloaded:
    +$(BUILD_DIR)/%/.stamp_downloaded: export BR_QUIET=$(if $(QUIET),1,0)
        $(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
     ifeq ($(DL_MODE),DOWNLOAD)
     # Only show the download message if it isn't already downloaded

Then the scripts would just check if ${BR_QUIET} is non 0.

Also, in retrospect, QUIET was not a really good name for this variable
in the Makefile. It would have been better if it were named BR_QUIET.
But that was introduced way before we decided on a variable naming
convention... :-/

>  # And this environment:
>  #   GIT      : the git command to call
>  
> @@ -16,21 +17,26 @@ output="${1}"
>  repo="${2}"
>  cset="${3}"
>  basename="${4}"
> +quiet="${5}"
>  
>  # Try to see if we can do a shallow clone, since it is faster
>  # than a full clone.
>  git_done=0
>  if [ -n "$(${GIT} ls-remote "${repo}" "${cset}" 2>&1)" ]; then
> -    printf "Doing shallow clone\n"
> -    if ${GIT} clone --depth 1 -b "${cset}" --bare "${repo}" "${basename}"; then
> +    if [ -z "${quiet}" ]; then
> +	printf "Doing shallow clone\n";
> +    fi
> +    if ${GIT} clone ${quiet} --depth 1 -b "${cset}" --bare "${repo}" "${basename}"; then
>          git_done=1
>      else
>          printf "Shallow clone failed, falling back to doing a full clone\n"
>      fi
>  fi
>  if [ ${git_done} -eq 0 ]; then
> -    printf "Doing full clone\n"
> -    ${GIT} clone --bare "${repo}" "${basename}"
> +    if [ -z "${quiet}" ]; then
> +	printf "Doing full clone\n";
> +    fi
> +    ${GIT} clone ${quiet} --bare "${repo}" "${basename}"
>  fi
>  
>  GIT_DIR="${basename}" \
> -- 
> 2.1.3
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2014-11-26 21:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-24 13:56 [Buildroot] [PATCH v4 next 0/5] Improve silent builds Fabio Porcedda
2014-11-24 13:56 ` [Buildroot] [PATCH v4 next 1/5] support/download: silence git if it is a silent build Fabio Porcedda
2014-11-26 21:35   ` Yann E. MORIN [this message]
2014-11-26 21:38     ` Thomas Petazzoni
2014-11-26 21:44       ` Yann E. MORIN
2014-11-26 21:55         ` Thomas Petazzoni
2014-11-24 13:56 ` [Buildroot] [PATCH v4 next 2/5] support/download: silence svn " Fabio Porcedda
2014-11-24 13:57 ` [Buildroot] [PATCH v4 next 3/5] support/download: pass the quiet flag to the hg download helper Fabio Porcedda
2014-11-24 13:57 ` [Buildroot] [PATCH v4 next 4/5] support/download: pass the quiet flag to the wget " Fabio Porcedda
2014-11-24 13:57 ` [Buildroot] [PATCH v4 next 5/5] support/download: pass the quiet flag to the scp " Fabio Porcedda
2014-11-25 10:42 ` [Buildroot] [PATCH v4 next 0/5] Improve silent builds Jérôme Pouiller
2014-11-25 16:09   ` Jérôme Pouiller
2014-12-01 17:51   ` Fabio Porcedda
2014-12-07 21:51 ` Yann E. MORIN
2014-12-07 21:54   ` Fabio Porcedda
2014-12-07 22:03     ` Yann E. MORIN
2014-12-23  9:00       ` Fabio Porcedda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141126213534.GA4260@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.