kumquat-buildroot/support/dependencies/check-host-python3.sh
Yann E. MORIN 556a0a1104 Revert "make: support: use command -v' instead of which'"
This reverts commit ca6a2907c2.

Switching to using 'command -v' instead of 'which', opened a can of
worms that is hard to fix in a timely manner:

  - recursive call to 'make' from a post-build, post-iamge script, fails
    because of a redefinition of HOSTCC_NOCCACHE (a bug on its own that
    needs a separate fix anyway) [0];

  - 'make' believeing it can call "simple" commands with execve() et al.
    instead of passing them through a shell via system(), and thus
    failing to find 'command' in the PATH [1].

[0] https://lore.kernel.org/buildroot/20211001175329.GA1973888@lbrmn-mmayer.ric.broadcom.net/T/#m95c17eb8374e4e3dd6eee700d397aa12cca0739e
[1] https://lore.kernel.org/buildroot/20211001180304.GV1504958@scaer/T/#m3a8f36bd76ec7d8e5038a6c8932bb6ffe23ea268

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-10-01 20:09:58 +02:00

32 lines
756 B
Bash
Executable File

#!/bin/sh
# prevent shift error
[ $# -lt 2 ] && exit 1
version_min="$(echo ${1} | awk '{ split($1, v, "."); print v[1] v[2] }')"
shift
# The host python interpreter is already checked by dependencies.sh but
# it only check if the version is at least 2.7.
# We want to check the version number of the python3 interpreter even
# if Buildroot is able to use any version but some packages may require
# a more recent version.
for candidate in "${@}" ; do
python3=`which $candidate 2>/dev/null`
if [ ! -x "$python3" ]; then
continue
fi
version=`$python3 -V 2>&1 | awk '{ split($2, v, "."); print v[1] v[2] }'`
if [ $version -lt $version_min ]; then
# no suitable python3 found
continue
fi
# suitable python3 found
echo $python3
break
done