[Buildroot] [PATCH 1/7] Add <PKG>_STRIP_COMPONENTS for packages with non-standard tarballs
Arnout Vandecappelle
arnout at mind.be
Sat Jul 11 22:28:18 UTC 2015
On 07/11/15 16:15, Luca Ceresoli wrote:
> Usually package tarballs contain only a directory named
> "<pkg-name>-<pkg-version>" which contains the actual source tree. To properly
> extract the source files in $(BUILD_DIR), Buildroot passes the
> --strip-components=1 option to tar.
>
> Unfortunately a few packages ship in a non-standard way, with no root
> directory or with more than one. In Buildroot these packages must be handled by
> overriding the <PKG>_DOWNLOAD_CMDS.
>
> As the number of such packages is growing, introduce a <PKG>_STRIP_COMPONENTS
> variable for packages to request a number of components to strip different
> from 1.
>
> Signed-off-by: Luca Ceresoli <luca at lucaceresoli.net>
> Cc: Arnout Vandecappelle <arnout at mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Regards,
Arnout
> ---
> package/pkg-generic.mk | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 9fe01b8d4d12..8aad1b4acc23 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -322,6 +322,14 @@ ifndef $(2)_SUBDIR
> endif
> endif
>
> +ifndef $(2)_STRIP_COMPONENTS
> + ifdef $(3)_STRIP_COMPONENTS
> + $(2)_STRIP_COMPONENTS = $$($(3)_STRIP_COMPONENTS)
> + else
> + $(2)_STRIP_COMPONENTS ?= 1
> + endif
> +endif
> +
> $(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR)
> $(2)_BUILDDIR ?= $$($(2)_SRCDIR)
>
> @@ -431,7 +439,7 @@ $(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned
> # default extract command
> $(2)_EXTRACT_CMDS ?= \
> $$(if $$($(2)_SOURCE),$$(INFLATE$$(suffix $$($(2)_SOURCE))) $$(DL_DIR)/$$($(2)_SOURCE) | \
> - $$(TAR) $$(TAR_STRIP_COMPONENTS)=1 -C $$($(2)_DIR) $$(TAR_OPTIONS) -)
> + $$(TAR) $$(TAR_STRIP_COMPONENTS)=$$($(2)_STRIP_COMPONENTS) -C $$($(2)_DIR) $$(TAR_OPTIONS) -)
>
> # pre/post-steps hooks
> $(2)_PRE_DOWNLOAD_HOOKS ?=
>
--
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