On Thu, Mar 07, 2024 at 02:16:37PM +0000, Sam James wrote:
> 'python' on some systems (e.g. SLES 15) might be Python 2. Prefer ${EPYTHON}
> if defined (used by Gentoo's python-exec wrapping), then python3, then python.
I'd say EPYTHON is too distro specific, just use for python in python3 python ?
Other scripts just have
#!/usr/bin/env python3
as the first line and go with that.
> contrib/ChangeLog:
>
> * dg-extract-results.sh: Check for python3 before python.
> ---
> contrib/dg-extract-results.sh | 17 ++++++++++-------
> 1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh
> index 00ef80046f74..2d1cd76fe255 100755
> --- a/contrib/dg-extract-results.sh
> +++ b/contrib/dg-extract-results.sh
> @@ -28,14 +28,17 @@
>
> PROGNAME=dg-extract-results.sh
>
> -# Try to use the python version if possible, since it tends to be faster.
> +# Try to use the python version if possible, since it tends to be faster and
> +# produces more stable results.
> PYTHON_VER=`echo "$0" | sed 's/sh$/py/'`
> -if test "$PYTHON_VER" != "$0" &&
> - test -f "$PYTHON_VER" &&
> - python -c 'import sys, getopt, re, io, datetime, operator; sys.exit (0 if
> sys.version_info >= (2, 6) else 1)' \
> - > /dev/null 2> /dev/null; then
> - exec python $PYTHON_VER "$@"
> -fi
> +for python in ${EPYTHON:-python3} python ; do
> + if test "$PYTHON_VER" != "$0" &&
> + test -f "$PYTHON_VER" &&
> + ${python} -c 'import sys, getopt, re, io, datetime, operator;
> sys.exit (0 if sys.version_info >= (2, 6) else 1)' \
> + > /dev/null 2> /dev/null; then
> + exec ${python} $PYTHON_VER "$@"
> + fi
> +done
>
> usage() {
> cat <<EOF >&2
> --
> 2.44.0
Jakub