Fix up some EL10 compatibility
* EL9 has python3.9 as system Python * EL10 has bumped up this to python3.12 * Added a short novel for future archaeologists. Change-Id: Ie9ee25207cee5b5aed773c2dc89a05bf6243069e
This commit is contained in:
@@ -36,18 +36,49 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Install specified version of python interpreter and development files (RPM)
|
- name: Install specified version of python interpreter and development files (RPM)
|
||||||
|
# NOTE(jan.gutter): this section has many pitfalls, and lacks test
|
||||||
|
# coverage. Rather than rewrite the logic to be more pleasing, and risk
|
||||||
|
# changing the behavior for folks who depend on edge cases, it has been
|
||||||
|
# preferrable to amend this with special cases, for the time being.
|
||||||
|
#
|
||||||
|
# RPM distros have diverged in behavior: packages and aliases are not
|
||||||
|
# consistent. The following example illustrates some known behavior for
|
||||||
|
# python_version "3.12"
|
||||||
|
#
|
||||||
|
# Fedora/EL9/EL10 (manually tested):
|
||||||
|
# working:
|
||||||
|
# - python312
|
||||||
|
# - python3.12
|
||||||
|
# - python3.12-devel
|
||||||
|
# not working:
|
||||||
|
# - python312-devel
|
||||||
|
#
|
||||||
|
# OpenSuSE (inferred from rpmfind.net):
|
||||||
|
# working:
|
||||||
|
# - python312
|
||||||
|
# - python312-devel
|
||||||
|
# not working:
|
||||||
|
# - python3.12
|
||||||
|
# - python3.12-devel
|
||||||
when:
|
when:
|
||||||
- ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat'
|
- ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat'
|
||||||
block:
|
block:
|
||||||
- name: Set default RPM package name
|
- name: Set default RPM package name
|
||||||
|
# NOTE(jan.gutter): this is likely faulty - but, without testing,
|
||||||
|
# touching it would taunt Hyrum's law. EL9/EL10 paths override the
|
||||||
|
# exception below this task for system python versions.
|
||||||
set_fact:
|
set_fact:
|
||||||
rpm_python_pkg_name: python{{ python_version | replace('.', '') }}-devel
|
rpm_python_pkg_name: python{{ python_version | replace('.', '') }}-devel
|
||||||
- name: Set RPM package name for CentOS/RHEL 9 and Python 3.9
|
- name: Set RPM package name for CentOS/RHEL 9/10
|
||||||
|
# Special case when the default system python is being used.
|
||||||
set_fact:
|
set_fact:
|
||||||
rpm_python_pkg_name: python3-devel
|
rpm_python_pkg_name: python3-devel
|
||||||
when:
|
when: >-
|
||||||
- ansible_distribution_major_version == '9'
|
(ansible_distribution_major_version == '9' and
|
||||||
- python_version|string == '3.9'
|
python_version|string == '3.9')
|
||||||
|
or
|
||||||
|
(ansible_distribution_major_version == '10' and
|
||||||
|
python_version|string == '3.12')
|
||||||
- name: Install RPM package
|
- name: Install RPM package
|
||||||
package:
|
package:
|
||||||
name: "{{ rpm_python_pkg_name }}"
|
name: "{{ rpm_python_pkg_name }}"
|
||||||
|
Reference in New Issue
Block a user