aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2025-11-15 20:29:13 +0100
committerEgor Tensin <egor@tensin.name>2025-11-15 20:41:17 +0100
commit787cd47223b3f00920a25361bec53bd61239e72d (patch)
treef35fddff5abc6f2f915d01711765211dec41d6ce
parentpacman: set installed packages as explicit (diff)
downloadinfra-ansible-787cd47223b3f00920a25361bec53bd61239e72d.tar.gz
infra-ansible-787cd47223b3f00920a25361bec53bd61239e72d.zip
pacman: remove unneeded dependencies
-rw-r--r--roles/pacman/tasks/main.yml25
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