[edk2-devel] [PATCH 5/6] edksetup.sh: Simplify SetupPython3 and SetupPython functions.
rebecca at bsdio.com
rebecca at bsdio.com
Mon Jul 15 22:25:15 UTC 2019
On Linux, "whereis" matches python3, python3.7, as well as
man pages, libs etc. While on macOS it only matches the specified
name, and so misses python3.7. Improve this by looping over
potential version numbers and seeing if such a binary exists and
can be executed.
Signed-off-by: Rebecca Cran <rebecca at bsdio.com>
---
edksetup.sh | 48 +++++++++---------------------------------------
1 file changed, 9 insertions(+), 39 deletions(-)
diff --git a/edksetup.sh b/edksetup.sh
index 06d2f041e6..e2f116f8bc 100755
--- a/edksetup.sh
+++ b/edksetup.sh
@@ -107,24 +107,10 @@ function SetupEnv()
function SetupPython3()
{
- if [ $origin_version ];then
- origin_version=
- fi
- for python in $(whereis python3)
- do
- python=$(echo $python | grep "[[:digit:]]$" || true)
- python_version=${python##*python}
- if [ -z "${python_version}" ] || (! command -v $python >/dev/null 2>&1);then
- continue
- fi
- if [ -z $origin_version ];then
- origin_version=$python_version
- export PYTHON_COMMAND=$python
- continue
- fi
- if [[ "$origin_version" < "$python_version" ]]; then
- origin_version=$python_version
- export PYTHON_COMMAND=$python
+ for python in $(seq -f "python3.%g" 15 -1 1) python3; do
+ if command -v $python >/dev/null 2>&1; then
+ export PYTHON_COMMAND=$(which $python)
+ break
fi
done
return 0
@@ -146,27 +132,11 @@ function SetupPython()
SetupPython3
fi
- if [ $PYTHON3_ENABLE ] && [ $PYTHON3_ENABLE != TRUE ]
- then
- if [ $origin_version ];then
- origin_version=
- fi
- for python in $(whereis python2)
- do
- python=$(echo $python | grep "[[:digit:]]$" || true)
- python_version=${python##*python}
- if [ -z "${python_version}" ] || (! command -v $python >/dev/null 2>&1);then
- continue
- fi
- if [ -z $origin_version ]
- then
- origin_version=$python_version
- export PYTHON_COMMAND=$python
- continue
- fi
- if [[ "$origin_version" < "$python_version" ]]; then
- origin_version=$python_version
- export PYTHON_COMMAND=$python
+ if [ -n "$PYTHON3_ENABLE" ] && [ "$PYTHON3_ENABLE" != "TRUE" ]; then
+ for python in $(seq -f "python2.%g" 10 -1 1) python2; do
+ if command -v $python >/dev/null 2>&1; then
+ export PYTHON_COMMAND=$(which $python)
+ break
fi
done
return 0
--
2.22.0
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#43747): https://edk2.groups.io/g/devel/message/43747
Mute This Topic: https://groups.io/mt/32483827/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list