xzcat: treat as host prerequisite and build if needed
If xzcat is not present on the host system, buildroot bails out early asking the developer to install it (xzcat is now a DL_TOOLS_DEPENDENCY) Conversely, when BR2_TARGET_ROOTFS_CPIO_XZ is enabled, then host-xz is a build dependency, and no manual action is required from the developer. Because the second approach is nicer, also build host-xz when xzcat is not available, using the host-prerequisite and suitable-host-pkg mechanisms, already used for tar. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
f8d89f0510
commit
d1f325f554
@ -541,7 +541,11 @@ endif # SITE_METHOD
|
|||||||
|
|
||||||
# $(firstword) is used here because the extractor can have arguments, like
|
# $(firstword) is used here because the extractor can have arguments, like
|
||||||
# ZCAT="gzip -d -c", and to check for the dependency we only want 'gzip'.
|
# ZCAT="gzip -d -c", and to check for the dependency we only want 'gzip'.
|
||||||
|
# Do not add xzcat to the list of required dependencies, as it gets built
|
||||||
|
# automatically if it isn't found.
|
||||||
|
ifneq ($(call suitable-extractor,$($(2)_SOURCE)),$(XZCAT))
|
||||||
DL_TOOLS_DEPENDENCIES += $(firstword $(call suitable-extractor,$($(2)_SOURCE)))
|
DL_TOOLS_DEPENDENCIES += $(firstword $(call suitable-extractor,$($(2)_SOURCE)))
|
||||||
|
endif
|
||||||
|
|
||||||
endif # $(2)_KCONFIG_VAR
|
endif # $(2)_KCONFIG_VAR
|
||||||
endef # inner-generic-package
|
endef # inner-generic-package
|
||||||
|
7
support/dependencies/check-host-xzcat.mk
Normal file
7
support/dependencies/check-host-xzcat.mk
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# XZCAT is taken from BR2_XZCAT (defaults to 'xzcat') (see Makefile)
|
||||||
|
# If it is not present, build our own host-xzcat
|
||||||
|
|
||||||
|
ifeq (,$(call suitable-host-package,xzcat,$(XZCAT)))
|
||||||
|
DEPENDENCIES_HOST_PREREQ += host-xz
|
||||||
|
XZCAT = $(HOST_DIR)/usr/bin/xzcat
|
||||||
|
endif
|
14
support/dependencies/check-host-xzcat.sh
Executable file
14
support/dependencies/check-host-xzcat.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
candidate="$1"
|
||||||
|
|
||||||
|
xzcat=`which $candidate 2>/dev/null`
|
||||||
|
if [ ! -x "$xzcat" ]; then
|
||||||
|
xzcat=`which xzcat 2>/dev/null`
|
||||||
|
if [ ! -x "$xzcat" ]; then
|
||||||
|
# echo nothing: no suitable xzcat found
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $xzcat
|
Loading…
Reference in New Issue
Block a user