From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [RFCv3 08/15] package/pkg-generic: handle host-xz as an extract dependency
Date: Sat, 2 Dec 2017 16:08:43 +0100 [thread overview]
Message-ID: <20171202150843.GD2988@scaer> (raw)
In-Reply-To: <20171201205352.24287-9-thomas.petazzoni@free-electrons.com>
Thomas, All,
On 2017-12-01 21:53 +0100, Thomas Petazzoni spake thusly:
> This moves the host-xz dependency handling from
> DEPENDENCY_HOST_PREREQ to an extract dependency.
>
> To achieve that, check-host-xz.mk fills in the
> BR2_XZ_HOST_DEPENDENCY with host-tar if building a host-tar is
> needed. The name BR2_XZ_HOST_DEPENDENCY has been chosen because it
> matches the name BR2_CMAKE_HOST_DEPENDENCY already used in
> check-host-cmake.mk.
>
> The BR2_XZ_HOST_DEPENDENCY is added to all packages, except:
>
> - host-xz, because we would otherwise depend on ourself.
>
> - host-tar, because xz itself is delivered as a tarball, so we need
> to have host-xz depend on host-tar, and not host-tar depend on
> host-xz
>
> - host-skeleton, because we need to have host-xz depend on
> host-skeleton, and not the opposite.
>
> In addition, we modify xz.mk to explicitly build host-xz without
> ccache. We generally took the approach of building host-ccache *after*
> all the extractors have been built.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> Changes since v2:
> - New patch
> ---
> package/pkg-generic.mk | 4 ++++
> package/xz/xz.mk | 5 +++++
> support/dependencies/check-host-xzcat.mk | 2 +-
> 3 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 86dd2561d4..dfd4719d29 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -591,6 +591,10 @@ ifeq ($(filter host-tar host-skeleton,$(1)),)
> $(2)_EXTRACT_DEPENDENCIES += $(BR2_TAR_HOST_DEPENDENCY)
> endif
>
> +ifeq ($(filter host-tar host-skeleton host-xz,$(1)),)
> +$(2)_EXTRACT_DEPENDENCIES += $(BR2_XZCAT_HOST_DEPENDENCY)
> +endif
So, all packages will now depend on this, even those that are not
compressed with xz?
Currently, filesystems that want to compress with xz all depend on
host-xz unconditioanlly. Do we want to change that as well, so they only
depend on it if needed?
Regards,
Yann E. MORIN.
> # Eliminate duplicates in dependencies
> $(2)_FINAL_DEPENDENCIES = $$(sort $$($(2)_DEPENDENCIES))
> $(2)_FINAL_EXTRACT_DEPENDENCIES = $$(sort $$($(2)_EXTRACT_DEPENDENCIES))
> diff --git a/package/xz/xz.mk b/package/xz/xz.mk
> index e8116f24ae..bcdac13ee3 100644
> --- a/package/xz/xz.mk
> +++ b/package/xz/xz.mk
> @@ -18,5 +18,10 @@ else
> XZ_CONF_OPTS = --disable-threads
> endif
>
> +# we are built before ccache
> +HOST_XZ_CONF_ENV = \
> + CC="$(HOSTCC_NOCCACHE)" \
> + CXX="$(HOSTCXX_NOCCACHE)"
> +
> $(eval $(autotools-package))
> $(eval $(host-autotools-package))
> diff --git a/support/dependencies/check-host-xzcat.mk b/support/dependencies/check-host-xzcat.mk
> index 9be75c7311..e5d72f95dd 100644
> --- a/support/dependencies/check-host-xzcat.mk
> +++ b/support/dependencies/check-host-xzcat.mk
> @@ -2,7 +2,7 @@
> # If it is not present, build our own host-xzcat
>
> ifeq (,$(call suitable-host-package,xzcat,$(XZCAT)))
> -DEPENDENCIES_HOST_PREREQ += host-xz
> +BR2_XZCAT_HOST_DEPENDENCY = host-xz
> EXTRACTOR_DEPENDENCY_PRECHECKED_EXTENSIONS += .xz .lzma
> XZCAT = $(HOST_DIR)/bin/xzcat
> endif
> --
> 2.13.6
>
--
.-----------------.--------------------.------------------.--------------------.
| 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:[~2017-12-02 15:08 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 20:53 [Buildroot] [RFCv3 00/15] Per-package host/target directory support Thomas Petazzoni
2017-12-01 20:53 ` [Buildroot] [RFCv3 01/15] pkgconf: use relative path to STAGING_DIR instead of absolute path Thomas Petazzoni
2017-12-29 15:22 ` Yann E. MORIN
2017-12-31 17:24 ` Thomas Petazzoni
2017-12-01 20:53 ` [Buildroot] [RFCv3 02/15] toolchain: post-pone evaluation of TOOLCHAIN_EXTERNAL_BIN Thomas Petazzoni
2017-12-29 15:22 ` Yann E. MORIN
2017-12-31 17:24 ` Thomas Petazzoni
2017-12-01 20:53 ` [Buildroot] [RFCv3 03/15] Makefile, skeleton: move the host skeleton logic to host-skeleton package Thomas Petazzoni
2017-12-03 22:22 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 04/15] pkg-cmake: install CMake files as part of a package Thomas Petazzoni
2017-12-03 22:34 ` Yann E. MORIN
2017-12-03 22:55 ` Thomas Petazzoni
2017-12-29 15:27 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 05/15] pkg-generic: add .stamp_installed step Thomas Petazzoni
2017-12-29 15:30 ` Yann E. MORIN
2018-02-22 21:48 ` Matthew Weber
2018-02-22 22:27 ` Thomas Petazzoni
2017-12-01 20:53 ` [Buildroot] [RFCv3 06/15] package/pkg-generic: add the concept of extract dependency Thomas Petazzoni
2017-12-29 15:33 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 07/15] package/pkg-generic: handle host-tar as an " Thomas Petazzoni
2017-12-02 15:06 ` Yann E. MORIN
2017-12-02 20:19 ` Thomas Petazzoni
2017-12-29 15:34 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 08/15] package/pkg-generic: handle host-xz " Thomas Petazzoni
2017-12-02 15:08 ` Yann E. MORIN [this message]
2017-12-02 20:16 ` Thomas Petazzoni
2017-12-03 8:32 ` Yann E. MORIN
2017-12-03 9:29 ` Thomas Petazzoni
2017-12-03 9:34 ` Yann E. MORIN
2017-12-29 15:36 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 09/15] package/pkg-generic: handle host-lzip " Thomas Petazzoni
2017-12-02 15:12 ` Yann E. MORIN
2017-12-02 20:13 ` Thomas Petazzoni
2017-12-29 15:36 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 10/15] package/pkg-generic: handle host-ccache as a regular dependency Thomas Petazzoni
2017-12-29 15:42 ` Yann E. MORIN
2017-12-29 15:48 ` Thomas Petazzoni
2017-12-01 20:53 ` [Buildroot] [RFCv3 11/15] package/pkg-generic: handle host-fakedate " Thomas Petazzoni
2017-12-29 15:50 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 12/15] core: kill DEPENDENCIES_HOST_PREREQ Thomas Petazzoni
2017-12-29 15:53 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 13/15] core: change host RPATH handling Thomas Petazzoni
2017-12-29 17:31 ` Yann E. MORIN
2017-12-29 20:20 ` Thomas Petazzoni
2017-12-30 13:56 ` Yann E. MORIN
2018-02-06 0:00 ` Matthew Weber
2018-02-06 22:04 ` Matthew Weber
2018-02-06 23:19 ` Arnout Vandecappelle
2018-02-07 6:30 ` Matthew Weber
2017-12-01 20:53 ` [Buildroot] [RFCv3 14/15] Makefile: evaluate CCACHE and HOST{CC, CXX} at time of use Thomas Petazzoni
2017-12-29 17:32 ` Yann E. MORIN
2017-12-01 20:53 ` [Buildroot] [RFCv3 15/15] core: implement per-package SDK and target Thomas Petazzoni
2018-02-06 14:45 ` Matthew Weber
2018-02-06 22:00 ` Arnout Vandecappelle
2018-02-06 22:39 ` Matthew Weber
2018-01-08 22:41 ` [Buildroot] [RFCv3 00/15] Per-package host/target directory support Thomas Petazzoni
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=20171202150843.GD2988@scaer \
--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.