From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC 1/2] non-versioned packages
Date: Tue, 19 Jan 2016 23:32:33 +0100 [thread overview]
Message-ID: <20160119223233.GH3360@free.fr> (raw)
In-Reply-To: <39cc9541d430e29d38dc07ef2c1d975687cf2af3.1443645945.git.alex.suykov@gmail.com>
Alex, All,
On 2015-10-01 00:12 +0300, Alex Suykov spake thusly:
> In case (PKG)_VERSION is empty, do not attempt to download sources
> for the package. Attempts to download (package)-undefined.tar.gz
> are pointless, the file is not likely to exist.
>
> Also, output/build/(package) looks better and makes more sense than
> output/build/(package)-undefined for such packages.
>
> Non-versioned packages within buildroot: skeleton and mke2img.
>
> Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
However, I'm still not convinced that the commit log is correct. What
about something like;
core: do not attempt to download when no _VERSION and no _SOURCE
Currently, when the package defines no _SOURCE and no _VERSION
variables, we end up trying to download <PACKAGE>-undefined.tar.gz.
This is utterly pointless.
Change the logic to not attempt a download when neither _SOURCE nor
_VERSION is set:
- do not set an indefined _VERSION to "undefined"
- do not append an empty (or "undefined") version to the package
rawname
- use the package rawname in the <ESSAGE macro
Consequently, for packages that have no _VERSION, the build
directory will be just the package name (which to some may look
nicer than the current "package-undefined").
Furthermore, the message trace is also a bit leaner (to the same
people that find "package" nicer than "package-undefined"). ;-)
Signed-off-by: You
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> package/pkg-generic.mk | 6 ++----
> package/pkg-utils.mk | 2 +-
> 2 files changed, 3 insertions(+), 5 deletions(-)
>
> The actual case the prompted me to do the change: I'm using buildroot
> as a test rig for building and running HEAD shapshots of a local git repo.
> "HEAD" is not a proper version, but without these changes I could only
> get "package-unknown" or "package-HEAD", and it took some effort to prevent
> download attempts.
>
> I'm not sure how common this is, but it's possible. And since no proper
> downloadable package should ever come without a version, changing the way
> empty VERSION is handled should affect them.
>
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 5201fca..cb5545b 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -332,8 +332,6 @@ ifndef $(2)_VERSION
> $(2)_DL_VERSION := $$($(3)_DL_VERSION)
> else ifdef $(3)_VERSION
> $(2)_DL_VERSION := $$($(3)_VERSION)
> - else
> - $(2)_DL_VERSION = undefined
> endif
> else
> $(2)_DL_VERSION := $$(strip $$($(2)_VERSION))
> @@ -344,7 +342,7 @@ ifdef $(3)_OVERRIDE_SRCDIR
> $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR)
> endif
>
> -$(2)_BASE_NAME = $(1)-$$($(2)_VERSION)
> +$(2)_BASE_NAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1))
> $(2)_DL_DIR = $$(DL_DIR)/$$($(2)_BASE_NAME)
> $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASE_NAME)
>
> @@ -374,7 +372,7 @@ endif
> ifndef $(2)_SOURCE
> ifdef $(3)_SOURCE
> $(2)_SOURCE = $$($(3)_SOURCE)
> - else
> + else ifdef $(2)_VERSION
> $(2)_SOURCE ?= $$($(2)_RAWNAME)-$$($(2)_VERSION).tar.gz
> endif
> endif
> diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
> index 44bd2c9..c098b55 100644
> --- a/package/pkg-utils.mk
> +++ b/package/pkg-utils.mk
> @@ -83,7 +83,7 @@ INFLATE.tar = cat
> suitable-extractor = $(INFLATE$(suffix $(1)))
>
> # MESSAGE Macro -- display a message in bold type
> -MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)_NAME) $($(PKG)_VERSION) $(call qstrip,$(1))$(TERM_RESET)"
> +MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)_BASE_NAME) $(call qstrip,$(1))$(TERM_RESET)"
> TERM_BOLD := $(shell tput smso)
> TERM_RESET := $(shell tput rmso)
>
> --
> 2.0.3
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2016-01-19 22:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-30 21:12 [Buildroot] [RFC 1/2] non-versioned packages Alex Suykov
2015-09-30 21:13 ` [Buildroot] [RFC 2/2] remove download suppression from mke2img and skeleton Alex Suykov
2016-01-19 22:33 ` Yann E. MORIN
2016-01-20 14:14 ` Thomas De Schampheleire
2016-01-25 0:16 ` Arnout Vandecappelle
2015-09-30 22:15 ` [Buildroot] [RFC 1/2] non-versioned packages Yann E. MORIN
2015-09-30 22:52 ` Alex Suykov
2015-10-15 20:41 ` Thomas Petazzoni
2015-10-15 22:31 ` Arnout Vandecappelle
2016-01-19 22:32 ` Yann E. MORIN [this message]
2016-01-24 22:33 ` Alex Suykov
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=20160119223233.GH3360@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.