Browse code

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

Federico Ressi authored on 2020/02/05 19:29:51
Showing 2 changed files
... ...
@@ -457,7 +457,11 @@ function install_python3 {
457 457
     elif is_suse; then
458 458
         install_package python3-devel python3-dbm
459 459
     elif is_fedora; then
460
-        install_package python3 python3-devel
460
+        if [ "$os_VENDOR" = "Fedora" ]; then
461
+            install_package python${PYTHON3_VERSION//.}
462
+        else
463
+            install_package python${PYTHON3_VERSION//.} python${PYTHON3_VERSION//.}-devel
464
+        fi
461 465
     fi
462 466
 }
463 467
 
... ...
@@ -142,7 +142,7 @@ export USE_PYTHON3=$(trueorfalse True USE_PYTHON3)
142 142
 # version of Python 3 to this variable will install the app using that
143 143
 # version of the interpreter instead of 2.7.
144 144
 _DEFAULT_PYTHON3_VERSION="$(_get_python_version python3)"
145
-export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION:-3.6}}
145
+export PYTHON3_VERSION=${PYTHON3_VERSION:-${_DEFAULT_PYTHON3_VERSION:-3}}
146 146
 
147 147
 # Just to be more explicit on the Python 2 version to use.
148 148
 _DEFAULT_PYTHON2_VERSION="$(_get_python_version python2)"