All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/12] Ensure extractor dependencies are taken into account
@ 2019-12-10 21:59 Thomas Petazzoni
  2019-12-10 21:59 ` [Buildroot] [PATCH 01/12] package/pkg-utils.mk: rename extractor-dependency to extractor-system-dependency Thomas Petazzoni
                   ` (12 more replies)
  0 siblings, 13 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2019-12-10 21:59 UTC (permalink / raw)
  To: buildroot

Hello,

The starting point for this series is to fix the following build
failure:

  http://autobuild.buildroot.net/results/83c/83c6d47c06334bef27791a59bdd491b1de124c49/build-end.log

The problem is the following:

 - The _SOURCE for gettext-tiny is a .tar.gz

 - In addition to this _SOURCE tarball, we also extract the
   gettext-gnu source code, which is a .tar.xz

 - Extracting .tar.xz may require building host-xzcat, is xzcat is not
   available system-wide

 - The build fails because host-xzcat is not added in the dependencies
   of gettext-tiny. Indeed, while generic-package takes care of adding
   the extract dependencies needed for _SOURCE, it does not know about
   other extract dependencies.

This issue appears in
http://autobuild.buildroot.net/results/83c/83c6d47c06334bef27791a59bdd491b1de124c49/build-end.log
because BR2_PER_PACKAGE_DIRECTORIES=y and therefore any missing
dependency is immediately visible. But in theory, it could appear
without per-package support.

This series solves that by introducing an extractor-pkg-dependency
that returns the list of packages that must be added to
<pkg>_EXTRACT_DEPENDENCIES to extract the archive passed as
argument. It is then used in package/pkg-generic.mk to replace the
existing logic to calculate <pkg>_EXTRACT_DEPENDENCIES, and then in
the several places where suitable-extractor was used to manually
extract a tarball.

We also rename extractor-dependency to extractor-system-dependency to
clarify its difference from extractor-pkg-dependency, and we rework
the implementation of extractor-system-dependency.

Best regards,

Thomas Petazzoni

Thomas Petazzoni (12):
  package/pkg-utils.mk: rename extractor-dependency to
    extractor-system-dependency
  package/pkg-utils.mk: add extractor-pkg-dependency macro
  package/pkg-utils.mk: rework implementation of
    extractor-system-dependency
  package/pkg-generic.mk: use extractor-pkg-dependency macro
  arch/arch.mk.xtensa: fix usage of arch-xtensa-overlay-extract
  package/android-tools: add missing extract dependencies
  package/cargo: add missing extract dependencies
  package/gettext-tiny: add missing extract dependencies
  package/murata-cyw-fw: add missing extract dependencies
  package/nvidia-tegra23/nvidia-tegra32-binaries: add missing extract
    dependencies
  package/perl: add missing extract dependencies
  package/rust-bin: add missing extract dependencies

 arch/arch.mk.xtensa                           |  2 ++
 boot/uboot/uboot.mk                           |  1 +
 linux/linux.mk                                |  1 +
 package/android-tools/android-tools.mk        |  2 ++
 package/binutils/binutils.mk                  |  2 ++
 package/cargo/cargo.mk                        |  2 ++
 package/gcc/gcc-final/gcc-final.mk            |  1 +
 package/gcc/gcc-initial/gcc-initial.mk        |  1 +
 package/gdb/gdb.mk                            |  2 ++
 package/gettext-tiny/gettext-tiny.mk          |  1 +
 package/murata-cyw-fw/murata-cyw-fw.mk        |  3 +++
 .../nvidia-tegra23-binaries.mk                |  1 +
 package/perl/perl.mk                          |  1 +
 package/pkg-generic.mk                        | 12 ++--------
 package/pkg-utils.mk                          | 24 ++++++++++++++-----
 package/rust-bin/rust-bin.mk                  |  4 +++-
 support/dependencies/check-host-lzip.mk       |  1 -
 support/dependencies/check-host-xzcat.mk      |  1 -
 18 files changed, 43 insertions(+), 19 deletions(-)

-- 
2.23.0

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2019-12-17 20:49 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-10 21:59 [Buildroot] [PATCH 00/12] Ensure extractor dependencies are taken into account Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 01/12] package/pkg-utils.mk: rename extractor-dependency to extractor-system-dependency Thomas Petazzoni
2019-12-14 21:12   ` Romain Naour
2019-12-10 21:59 ` [Buildroot] [PATCH 02/12] package/pkg-utils.mk: add extractor-pkg-dependency macro Thomas Petazzoni
2019-12-14 21:20   ` Romain Naour
2019-12-14 21:42     ` Thomas Petazzoni
2019-12-17 20:49       ` Yann E. MORIN
2019-12-10 21:59 ` [Buildroot] [PATCH 03/12] package/pkg-utils.mk: rework implementation of extractor-system-dependency Thomas Petazzoni
2019-12-14 21:37   ` Romain Naour
2019-12-14 21:43     ` Thomas Petazzoni
2019-12-14 21:45     ` Yann E. MORIN
2019-12-14 21:53       ` Romain Naour
2019-12-10 21:59 ` [Buildroot] [PATCH 04/12] package/pkg-generic.mk: use extractor-pkg-dependency macro Thomas Petazzoni
2019-12-14 21:55   ` Romain Naour
2019-12-10 21:59 ` [Buildroot] [PATCH 05/12] arch/arch.mk.xtensa: fix usage of arch-xtensa-overlay-extract Thomas Petazzoni
2019-12-10 22:09   ` Max Filippov
2019-12-10 21:59 ` [Buildroot] [PATCH 06/12] package/android-tools: add missing extract dependencies Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 07/12] package/cargo: " Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 08/12] package/gettext-tiny: " Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 09/12] package/murata-cyw-fw: " Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 10/12] package/nvidia-tegra23/nvidia-tegra32-binaries: " Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 11/12] package/perl: " Thomas Petazzoni
2019-12-10 21:59 ` [Buildroot] [PATCH 12/12] package/rust-bin: " Thomas Petazzoni
2019-12-14 22:10 ` [Buildroot] [PATCH 00/12] Ensure extractor dependencies are taken into account Yann E. MORIN

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.