From 4ec5ee9ad76259747aa5d6b3d337a44d5c4c7a2f Mon Sep 17 00:00:00 2001 From: uumas Date: Fri, 7 Jan 2022 22:11:17 +0200 Subject: [PATCH] Made packages role compatible with other package managers --- roles/packages/tasks/apt.yml | 23 +++++++++++++++++++++++ roles/packages/tasks/main.yml | 29 ++++++++--------------------- roles/packages/tasks/other.yml | 7 +++++++ 3 files changed, 38 insertions(+), 21 deletions(-) create mode 100644 roles/packages/tasks/apt.yml create mode 100644 roles/packages/tasks/other.yml diff --git a/roles/packages/tasks/apt.yml b/roles/packages/tasks/apt.yml new file mode 100644 index 0000000..c732f0d --- /dev/null +++ b/roles/packages/tasks/apt.yml @@ -0,0 +1,23 @@ +--- + +- name: Ensure packages defined in install_packages are installed + apt: + name: "{{ install_packages }}" + state: present + update_cache: yes + +- block: + + - name: Enable backports + apt_repository: + repo: "deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main" + filename: backports + + - name: Install backports packages + apt: + name: "{{ backports_packages }}" + state: present + default_release: "{{ ansible_distribution_release }}-backports" + + when: backports_packages is defined + diff --git a/roles/packages/tasks/main.yml b/roles/packages/tasks/main.yml index b5e6742..958a83f 100644 --- a/roles/packages/tasks/main.yml +++ b/roles/packages/tasks/main.yml @@ -1,28 +1,15 @@ --- -- name: Install packages - apt: - name: "{{ install_packages }}" - state: present - update_cache: yes +- name: Include tasks for apt as package manager + include_tasks: apt.yml + when: ansible_pkg_mgr == 'apt' -- block: +- name: Include tasks for other package manager + include_tasks: other.yml + when: ansible_pkg_mgr != 'apt' - - name: Enable backports - apt_repository: - repo: "deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main" - filename: backports - - - name: Install backports packages - apt: - name: "{{ backports_packages }}" - state: present - default_release: "{{ ansible_distribution_release }}-backports" - - when: backports_packages is defined - -- name: Delete packages - apt: +- name: Ensure packages defined in delete_packages not installed + package: name: "{{ delete_packages }}" state: absent when: delete_packages is defined diff --git a/roles/packages/tasks/other.yml b/roles/packages/tasks/other.yml new file mode 100644 index 0000000..5abdea2 --- /dev/null +++ b/roles/packages/tasks/other.yml @@ -0,0 +1,7 @@ +--- + +- name: Ensure packages defined in install_packages are installed + package: + name: "{{ install_packages }}" + state: present +