blob: bbcdddc9e3b988750b4cd4afd9bb717c764ae388 (
plain) (
tree)
|
|
- name: Check if pacman is installed
command: pacman --version
register: pacman_version
changed_when: no
failed_when: no
- when: pacman_version.rc == 0
become: yes
block:
- name: Upgrade packages
community.general.pacman:
update_cache: yes
upgrade: yes
register: pacman_result
notify: reboot
- debug:
var: pacman_result.packages
when: pacman_result.changed
- name: Flush handlers
meta: flush_handlers
rescue:
- fail:
msg: Upgrading packages failed for an unknown reason!
when: not etc_versioned
- name: Check for changes in /etc
command: git status --porcelain=v1
args:
chdir: /etc
register: git_status
changed_when: no
failed_when: no
- fail:
msg: Upgrading packages failed for an unknown reason!
when: not git_status.stdout
- name: All changes in /etc are in pacman.d/gnupg?
shell: git status --porcelain=v1 | cut -c 4- | grep -G -v '^pacman.d/gnupg/'
args:
chdir: /etc
register: only_gnupg
changed_when: no
failed_when: no
- name: Commit changes in /etc
command: |
etckeeper commit 'pacman: GPG keys'
when: git_status.stdout and only_gnupg.rc != 0
- name: Upgrade packages after GPG keys
community.general.pacman:
update_cache: yes
upgrade: yes
register: pacman_result
notify: reboot
- debug:
var: pacman_result.packages
when: pacman_result.changed
- name: Flush handlers
meta: flush_handlers
|