From fd10b42ab8db0cd5d2f3c9076d54244c6e0e60a8 Mon Sep 17 00:00:00 2001 From: Thomas De Schampheleire Date: Wed, 8 Feb 2012 17:22:20 +0100 Subject: dependencies: build a host-tar if no suitable tar can be found Some toolchains, like the one built with buildroot itself, use hardlinks (for example to link between the c++ and g++ binary). Unpacking such a toolchain with the --strip-components options does not work correctly if the system tar is too old (<1.17). Even recent releases of RedHat/CentOS still ship with tar 1.15. This patch checks for a suitable tar version (tar 1.17+) on the host system, and adds host-tar to the host dependencies if none can be found. host-tar is download and extracted as cpio.gz instead of tar.gz, to prevent chicken-egg problem. Signed-off-by: Thomas De Schampheleire v4 Acked-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Peter Korsgaard --- support/dependencies/check-host-tar.mk | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 support/dependencies/check-host-tar.mk (limited to 'support/dependencies/check-host-tar.mk') diff --git a/support/dependencies/check-host-tar.mk b/support/dependencies/check-host-tar.mk new file mode 100644 index 000000000..010bde7a5 --- /dev/null +++ b/support/dependencies/check-host-tar.mk @@ -0,0 +1,9 @@ +TAR ?= tar + +ifeq (,$(call suitable-host-package,tar,$(TAR))) + DEPENDENCIES_HOST_PREREQ += host-tar + TAR = $(HOST_DIR)/usr/bin/tar +endif + +# Since TAR is at least 1.17, it will certainly support --strip-components +TAR_STRIP_COMPONENTS = --strip-components -- cgit v1.2.3