diff options
author | Petr Štetiar <ynezz@true.cz> | 2020-12-22 10:33:02 +0100 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2021-01-04 19:32:25 +0100 |
commit | c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb (patch) | |
tree | 5c7cce185683c1f467fb5de54b6acaee06d7f89b | |
parent | 6773bee10753ae181257b544371101646822e80e (diff) | |
download | upstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.tar.gz upstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.tar.bz2 upstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.zip |
build: replace which with Bash command built-in
`which` utility is not shipped by default for example on recent Arch
Linux and then any steps relying on its presence fails, like for example
following Python3 prereq build check:
$ python3 --version
Python 3.9.1
$ make
/bin/sh: line 1: which: command not found
/bin/sh: line 1: which: command not found
/bin/sh: line 1: which: command not found
...
Checking 'python3'... failed.
...
Fix this by switching to Bash builtin `command` which should provide
same functionality.
Fixes: FS#3525
Signed-off-by: Petr Štetiar <ynezz@true.cz>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | include/cmake.mk | 2 | ||||
-rw-r--r-- | include/prereq.mk | 4 |
3 files changed, 4 insertions, 4 deletions
@@ -18,7 +18,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir world: -DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1) +DISTRO_PKG_CONFIG:=$(shell command -pv pkg-config | grep -E '\/usr' | head -n 1) export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH) ifneq ($(OPENWRT_BUILD),1) diff --git a/include/cmake.mk b/include/cmake.mk index 96c4d7df34..de8022ca57 100644 --- a/include/cmake.mk +++ b/include/cmake.mk @@ -15,7 +15,7 @@ MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .) ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1) else - cmake_tool=$(shell which $(1)) + cmake_tool=$(shell command -v $(1)) endif ifeq ($(CONFIG_CCACHE),) diff --git a/include/prereq.mk b/include/prereq.mk index 83ac21242c..6d14140792 100644 --- a/include/prereq.mk +++ b/include/prereq.mk @@ -52,7 +52,7 @@ endef define RequireCommand define Require/$(1) - which $(1) + command -pv $(1) endef $$(eval $$(call Require,$(1),$(2))) @@ -106,7 +106,7 @@ define SetupHostCommand $(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \ if [ -n "$$$$$$$$cmd" ]; then \ bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \ - which "$$$$$$$${cmd%% *}")"; \ + command -pv "$$$$$$$${cmd%% *}")"; \ if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \ mkdir -p "$(STAGING_DIR_HOST)/bin"; \ ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \ |