All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC] package: Redownload HEAD packages every build
Date: Tue, 01 Oct 2013 18:08:23 +0200	[thread overview]
Message-ID: <524AF377.50909@mind.be> (raw)
In-Reply-To: <1380293015-20331-1-git-send-email-clshotwe@rockwellcollins.com>

On 09/27/13 16:43, Clayton Shotwell wrote:
> Adding a check to remove a downloaded package if the version is HEAD. This causes the package to be re-downloaded with updated software. This feature is very useful during package development.
>
> Signed-off-by: Clayton Shotwell <clshotwe@rockwellcollins.com>
> ---
>   package/pkg-generic.mk |    7 +++++++
>   1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index bfc4dc1..859c4a9 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -27,6 +27,13 @@
>   # Retrieve the archive
>   $(BUILD_DIR)/%/.stamp_downloaded:
>   ifeq ($(DL_MODE),DOWNLOAD)
> +# Remove the pre-downloaded tar file if the package is a HEAD version
> +	$(Q)( \
> +	if test $($(PKG)_VERSION) == HEAD -a -e $(DL_DIR)/$($(PKG)_SOURCE); then \
> +		rm $(DL_DIR)/$($(PKG)_SOURCE); \

  Use $(RM) instead of rm, then you don't need to check for existence.

> +		$(call MESSAGE,"Removing $(PKG) HEAD source file"); \

  I don't think this extra message is needed.

> +	fi; \
> +	)
>   # Only show the download message if it isn't already downloaded
>   	$(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \
>   		$(call MESSAGE,"Downloading") ; \
>

  You'll also need to avoid touching the stamp file after the download, 
otherwise the rule is not even evaluated.

  Also I think I would prefer instead to have an explicit variable to 
indicate that it should be re-downloaded, e.g.

ifneq ($($(PKG)_FORCE_DOWNLOAD),)
	$(Q)$(RM) $(DL_DIR)/$($(PKG)_SOURCE)
endif

  This variable can be set either from the package's .mk file or from the 
local override file.


  And finally, the documentation should be updated as well.


  Regards,
  Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2013-10-01 16:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-27 14:43 [Buildroot] [RFC] package: Redownload HEAD packages every build Clayton Shotwell
2013-09-27 14:51 ` Clayton Shotwell
2013-09-27 15:11 ` Thomas De Schampheleire
2013-10-01 16:08 ` Arnout Vandecappelle [this message]
2013-10-01 18:51 ` Thomas Petazzoni
2013-10-01 20:01   ` clshotwe at rockwellcollins.com
2013-10-01 21:37     ` Thomas Petazzoni
2013-10-01 21:54       ` Ryan Barnett
2013-10-02  7:13         ` Thomas Petazzoni
2013-10-02 18:34           ` clshotwe at rockwellcollins.com

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=524AF377.50909@mind.be \
    --to=arnout@mind.be \
    --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.