diff options
| author | Egor Tensin <egor@tensin.name> | 2025-11-15 20:29:13 +0100 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2025-11-15 20:41:17 +0100 |
| commit | 787cd47223b3f00920a25361bec53bd61239e72d (patch) | |
| tree | f35fddff5abc6f2f915d01711765211dec41d6ce /roles | |
| parent | pacman: set installed packages as explicit (diff) | |
| download | infra-ansible-787cd47223b3f00920a25361bec53bd61239e72d.tar.gz infra-ansible-787cd47223b3f00920a25361bec53bd61239e72d.zip | |
pacman: remove unneeded dependencies
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/pacman/tasks/main.yml | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/roles/pacman/tasks/main.yml b/roles/pacman/tasks/main.yml index 0c354eb..bd1ab77 100644 --- a/roles/pacman/tasks/main.yml +++ b/roles/pacman/tasks/main.yml @@ -28,7 +28,30 @@ when: pacman_packages | length > 0 register: pacman_result -- name: Print installed packages +- name: Show installed packages + ansible.builtin.debug: + var: pacman_result.packages + when: pacman_result.packages is defined and (pacman_result.packages | length > 0) + +- name: Get list of unneeded dependencies + ansible.builtin.command: pacman -Qqdt + register: pacman_result + changed_when: false + failed_when: | + pacman_result.rc != 0 + and not (pacman_result.rc == 1 and (pacman_result.stdout_lines | length == 0)) + +- name: Remove unneeded dependencies + become: true + community.general.pacman: + name: '{{ pacman_result.stdout_lines }}' + state: absent + extra_args: --recursive + remove_nosave: true + when: pacman_result.stdout_lines | length > 0 + register: pacman_result + +- name: Show removed packages ansible.builtin.debug: var: pacman_result.packages when: pacman_result.packages is defined |
