Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox