From 8ed25eda60b0ff022c1eb7dcbc82a29cf17a98ef 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 PR-URL: https://github.com/nodejs/node/pull/32925 Reviewed-By: Richard Lau Reviewed-By: Matheus Marchini Reviewed-By: Ruben Bridgewater --- 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" "$@" ]