Install versioned python RPMs on RedHat distros

Set default python3 version as 3 for cases python3
is not installed before running DevStack.

Implements installation of required python3x package
for RedHat family distros with package name depending on
configurable ${PYTHON3_VERSION}. Examples:

  3 => python3 python3-devel (default one)
  3.6 => python36 python36-devel
  3.7 => python37 python37-devel

This should help in situations where there are more
than one python available for given platform and
DevStack is asked to pick one by its full 3.x version

Change-Id: I49d86bc9193165e0a41e8e8720be37d81a4e7ee0
This commit is contained in:
Federico Ressi 2020-02-05 11:29:51 +01:00 committed by Dr. Jens Harbott
parent 93d22d8298
commit 2dcbc28aba
2 changed files with 6 additions and 2 deletions

View File

@ -457,7 +457,11 @@ function install_python3 {
elif is_suse; then
install_package python3-devel python3-dbm
elif is_fedora; then
install_package python3 python3-devel
if [ "$os_VENDOR" = "Fedora" ]; then
install_package python${PYTHON3_VERSION//.}
else
install_package python${PYTHON3_VERSION//.} python${PYTHON3_VERSION//.}-devel
fi
fi
}

View File

@ -142,7 +142,7 @@ export USE_PYTHON3=$(trueorfalse True USE_PYTHON3)
# version of Python 3 to this variable will install the app using that
# version of the interpreter instead of 2.7.
_DEFAULT_PYTHON3_VERSION="$(_get_python_version python3)"
export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION:-3.6}}
export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION:-3}}
# Just to be more explicit on the Python 2 version to use.
_DEFAULT_PYTHON2_VERSION="$(_get_python_version python2)"