From 44527d419a3c61756af20e85f4009f2d3411830f Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Sun, 19 Apr 2020 03:23:58 -0400 Subject: [PATCH] build: fix inability to detect correct python command in configure The "which" utility is not guaranteed to be installed, and if it is, its behavior is not portable. Conversely, the "command -v" shell builtin is required to exist in all POSIX 2008 compliant shells, and is thus guaranteed to work everywhere. Examples of open-source shells likely to be installed as /bin/sh on Linux, which implement the 12-year-old standard: ash, bash, busybox, dash, ksh, mksh and zsh. Signed-off-by: Eli Schwartz --- configure | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 71c2fc87ca4cfc..7e8c4cff832ffd 100755 --- a/configure +++ b/configure @@ -5,11 +5,11 @@ # as is the fact that the ] goes on a new line. _=[ 'exec' '/bin/sh' '-c' ''' test ${FORCE_PYTHON2} && exec python2 "$0" "$@" # workaround for gclient -which python3.8 >/dev/null && exec python3.8 "$0" "$@" -which python3.7 >/dev/null && exec python3.7 "$0" "$@" -which python3.6 >/dev/null && exec python3.6 "$0" "$@" -which python3.5 >/dev/null && exec python3.5 "$0" "$@" -which python2.7 >/dev/null && exec python2.7 "$0" "$@" +command -v python3.8 >/dev/null && exec python3.8 "$0" "$@" +command -v python3.7 >/dev/null && exec python3.7 "$0" "$@" +command -v python3.6 >/dev/null && exec python3.6 "$0" "$@" +command -v python3.5 >/dev/null && exec python3.5 "$0" "$@" +command -v python2.7 >/dev/null && exec python2.7 "$0" "$@" exec python "$0" "$@" ''' "$0" "$@" ]