package/pkg-generic.mk: legal-info: make sure host-tar is available

Commit aacca7f063 introduced the
possibility to also create tarballs for packages that are local or
overridden (i.e., with a custom version). However, it doesn't work
correctly for PPD, because the PPD-host-tar and gzip are not available.

This failure was silent because the mk_tar_gz function doesn't exit on
error. The following error was printed but ignored:

    support/download/helpers: line 62: .../per-package/busybox/host/bin/tar: No such file or directory

Call prepare-per-package-directory before calling mk_tar_gz which uses
it. Note that we use only tar and gzip here, not all of
DOWNLOAD_DEPENDENCIES, because tar and gzip are the only ones we really
use.

Also add this dependency to the legal-info target. We use an order-only
dependency even though that makes not difference for a phony target, but
this makes it similar to how it's done for the stamp targets. Note also
that this dependency is redundant, because there is already a dependency
on the foo-rsync target which does depend on DOWNLOAD_DEPENDENCIES. We
still add the dependency explicitly in case things change with the
foo-rsync target in the future.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Cc: Nicolas Carrier <carrier.nicolas0@gmail.com>
Reported-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit f4681fc417)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Arnout Vandecappelle
2024-09-14 11:54:59 +02:00
committed by Peter Korsgaard
parent f70be8d584
commit edde5c1a44

View File

@@ -1008,6 +1008,9 @@ $(1)-rsync: $$($(2)_TARGET_RSYNC)
$(1)-source:
$(1)-legal-source:
# For override, legal-info uses host-tar and host-gzip
$(1)-legal-info: | $(BR2_GZIP_HOST_DEPENDENCY) $(BR2_TAR_HOST_DEPENDENCY)
$(1)-external-deps:
@echo "file://$$($(2)_OVERRIDE_SRCDIR)"
@@ -1163,6 +1166,7 @@ ifneq ($$($(2)_OVERRIDE_SRCDIR),)
$$(Q)rsync -au --chmod=u=rwX,go=rX $$(RSYNC_VCS_EXCLUSIONS) \
$(call qstrip,$$($(2)_OVERRIDE_SRCDIR))/ \
$$($(2)_BUILDDIR)/.legal-info-rsync/
$$(call prepare-per-package-directory,$$(BR2_GZIP_HOST_DEPENDENCY) $$(BR2_TAR_HOST_DEPENDENCY))
$$(Q)mkdir -p $$($(2)_REDIST_SOURCES_DIR)
$$(Q). support/download/helpers; set -x; cd $$($(2)_BUILDDIR); TAR=$$(TAR) mk_tar_gz \
$$($(2)_BUILDDIR)/.legal-info-rsync/ \