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>
This commit is contained in:
parent
6773bee107
commit
c7aec47e5e
2
Makefile
2
Makefile
|
@ -18,7 +18,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
|
||||||
|
|
||||||
world:
|
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)
|
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
|
||||||
|
|
||||||
ifneq ($(OPENWRT_BUILD),1)
|
ifneq ($(OPENWRT_BUILD),1)
|
||||||
|
|
|
@ -15,7 +15,7 @@ MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .)
|
||||||
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
||||||
cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1)
|
cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1)
|
||||||
else
|
else
|
||||||
cmake_tool=$(shell which $(1))
|
cmake_tool=$(shell command -v $(1))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_CCACHE),)
|
ifeq ($(CONFIG_CCACHE),)
|
||||||
|
|
|
@ -52,7 +52,7 @@ endef
|
||||||
|
|
||||||
define RequireCommand
|
define RequireCommand
|
||||||
define Require/$(1)
|
define Require/$(1)
|
||||||
which $(1)
|
command -pv $(1)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$$(eval $$(call Require,$(1),$(2)))
|
$$(eval $$(call Require,$(1),$(2)))
|
||||||
|
@ -106,7 +106,7 @@ define SetupHostCommand
|
||||||
$(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \
|
$(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \
|
||||||
if [ -n "$$$$$$$$cmd" ]; then \
|
if [ -n "$$$$$$$$cmd" ]; then \
|
||||||
bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \
|
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 \
|
if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \
|
||||||
mkdir -p "$(STAGING_DIR_HOST)/bin"; \
|
mkdir -p "$(STAGING_DIR_HOST)/bin"; \
|
||||||
ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \
|
ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \
|
||||||
|
|
Loading…
Reference in New Issue