From ced6cd132f204eb8db80359abac0c93412db5bd9 Mon Sep 17 00:00:00 2001 From: Szymon Datko Date: Tue, 18 Jan 2022 15:55:00 +0100 Subject: [PATCH] Add support for RPM packages This commit extends the installation of Python interpreter from system packages to also support RPM packages (assuming the playbook is run in an environment with proper repositories). Also the obsolete note about supporting only Debian distribution is removed, as the `ensure-python` role already supports other platforms (via pyenv and stow). Change-Id: Id6ef8ec3537952348e0a7b233bd26b57613da327 --- roles/ensure-python/README.rst | 5 +---- roles/ensure-python/tasks/main.yaml | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/roles/ensure-python/README.rst b/roles/ensure-python/README.rst index efb74f48f..26c0cdc03 100644 --- a/roles/ensure-python/README.rst +++ b/roles/ensure-python/README.rst @@ -1,12 +1,9 @@ Ensure specified python interpreter and development files are installed -.. note:: This role is only available for Debian based platforms - currently. - There are three ways to install the python interpreter: 1. Using distribution packages: This is the default (``python_use_pyenv`` and - ``python_use_stow`` are both false``). + ``python_use_stow`` are both ``false``). 2. Install using ``pyenv``. diff --git a/roles/ensure-python/tasks/main.yaml b/roles/ensure-python/tasks/main.yaml index fbcf4032e..b7b153a3b 100644 --- a/roles/ensure-python/tasks/main.yaml +++ b/roles/ensure-python/tasks/main.yaml @@ -6,16 +6,27 @@ - (python_version|string).split(".")[1] when: python_version is defined -- name: Install specified version of python interpreter and development files +- name: Install python using system packages when: - python_version is defined - - ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' - not python_use_pyenv - not python_use_stow - package: - name: python{{ python_version }}-dev - state: present - become: yes + block: + - name: Install specified version of python interpreter and development files (DEB) + when: + - ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' + package: + name: python{{ python_version }}-dev + state: present + become: yes + + - name: Install specified version of python interpreter and development files (RPM) + when: + - ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat' + package: + name: python{{ python_version | replace('.', '') }}-devel + state: present + become: yes - name: Install python using pyenv when: