[Buildroot] [PATCH] core: do not attempt downloads with no _VERSION set

Arnout Vandecappelle arnout at mind.be
Tue Feb 23 23:28:34 UTC 2016


On 01/24/16 23:33, Alex Suykov wrote:
> 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 undefined _VERSION to "undefined"
>   - do not append an empty (or "undefined") version to the package
>     rawname
>   - use the package rawname in the MESSAGE 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: Alex Suykov <alex.suykov at gmail.com>
> Tested-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

 Note that we could also remove the _SOURCE and _VERSION definitions in
pkg-virtual.mk.

 Some additional comments below.

> ---
>  package/pkg-generic.mk | 6 ++----
>  package/pkg-utils.mk   | 2 +-
>  2 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 1e024d3..a5ee023 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -380,8 +380,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))
> @@ -392,7 +390,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)
>  
> @@ -422,7 +420,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

 Maybe we should also fix this whitespace gibberish.

>   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)"

 This part I don't like much. I did like it that the package name and the
version were separated in the messages. The idea of this change is to avoid a
double space when PKG_VERSION is empty, but in fact we already have that for the
finalizing steps.

 So, to eliminate all spaces, I'd make it

MESSAGE = echo "$(TERM_BOLD)>>>" $($(PKG)_NAME) $($(PKG)_VERSION) "$(call
qstrip,$(1))$(TERM_RESET)"

this way, empty package name and version will be eliminated by shell parsing.

 But that's a separate patch, so I propose to eliminate just this bit from the
patch and apply.

 Regards,
 Arnout


>  TERM_BOLD := $(shell tput smso)
>  TERM_RESET := $(shell tput rmso)
>  
> 


-- 
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF


More information about the buildroot mailing list