Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox