- name:'If Arch Linux and if a paru chroot dir exists move it out of the way'
when:'(role_common_packages__archlinux_zfs_paru_chroot_dataset_present.rc > 0) and (role_common_packages__archlinux_zfs_paru_chroot_dir_stat.stat.isdir is defined and role_common_packages__archlinux_zfs_paru_chroot_dir_stat.stat.isdir)'
- name:'If Arch Linux and if a paru chroot dataset now exists and if paru chroot dir was moved out of the way move it back in place'
when:'(role_common_packages__archlinux_zfs_paru_chroot_dir_was_moved.rc is defined and role_common_packages__archlinux_zfs_paru_chroot_dir_was_moved.rc == 0) and (role_common_packages__archlinux_zfs_paru_chroot_dataset_was_created.rc == 0)'
ansible.builtin.shell:
cmd:|
rsync -a --remove-source-files ''/var/cache/paru/chroot''{''.bak'',}''/'' && \
find ''/var/cache/paru/chroot.bak'' -type d -empty -delete
removes:'/var/cache/paru/chroot.bak'
- name:'If Arch Linux and if ZFS functional check if AUR package cache dataset exists'
- name:'If Arch Linux and if an AUR package cache dir exists move it out of the way'
when:'(role_common_packages__archlinux_zfs_aur_pkg_cache_dataset_present.rc > 0) and (role_common_packages__archlinux_zfs_aur_pkg_cache_dir_stat.stat.isdir is defined and role_common_packages__archlinux_zfs_aur_pkg_cache_dir_stat.stat.isdir)'
if ! zfs list zpool/root/archlinux/var &>/dev/null; then zfs create -o canmount=off -o space.quico:auto-snapshot=- zpool/root/archlinux/var; fi && \
if ! zfs list zpool/root/archlinux/var/cache &>/dev/null; then zfs create -o canmount=off zpool/root/archlinux/var/cache; fi && \
if ! zfs list zpool/root/archlinux/var/cache/aur &>/dev/null; then zfs create -o canmount=off zpool/root/archlinux/var/cache/aur; fi && \
zfs create zpool/root/archlinux/var/cache/aur/pkg
- name:'If Arch Linux and if a AUR package cache dataset now exists and if AUR package cache dir was moved out of the way move it back in place'
when:'(role_common_packages__archlinux_zfs_aur_pkg_cache_dir_was_moved.rc is defined and role_common_packages__archlinux_zfs_aur_pkg_cache_dir_was_moved.rc == 0) and (role_common_packages__archlinux_zfs_aur_pkg_cache_dataset_was_created.rc == 0)'
ansible.builtin.shell:
cmd:|
rsync -a --remove-source-files ''/var/cache/aur/pkg''{''.bak'',}''/'' && \
find ''/var/cache/aur/pkg.bak'' -type d -empty -delete
removes:'/var/cache/aur/pkg.bak'
- name:'If Arch Linux set global write perms (0777) on AUR package cache dir ''/var/cache/aur/pkg'''
ansible.builtin.file:
path:'/var/cache/aur/pkg'
mode:'0777'
- name:'If Arch Linux copy local AUR repo config file'
ansible.builtin.copy:
src:'etc/pacman.d/repo-local-aur.conf'
dest:'/etc/pacman.d/repo-local-aur.conf'
- name:'If Arch Linux include local AUR repo config in main pacman config'
- {name: 'CacheDir', value: '/var/cache/pacman/pkg/', exclusive: false, purpose_human_readable:'adds an AUR-specific cache dir (since we make this one user-writable)'}
- name:'If Arch Linux set ''/etc/paru.conf'' settings for local repo chroot AUR builds'
loop_control:
loop_var:'paru_option'
index_var:'i'
label:'Set ''{{ paru_option.name }}'' {% if paru_option.value %}to ''{{ paru_option.value }}''{% else %}without a value{% endif %}, {{ paru_option.purpose_human_readable }}'
loop:
- {name: 'LocalRepo', value: '', allow_no_value: true, purpose_human_readable:'this builds AUR packages into the local repo(s) specified in ''/etc/pacman.conf'''}
- {name: 'Chroot', value: '/var/cache/paru/chroot/root', allow_no_value: false, purpose_human_readable:'this builds AUR packages in a clean chroot'}
community.general.ini_file:
path:'/etc/paru.conf'
section:'options'
option:'{{ paru_option.name }}'
value:'{{ paru_option.value }}'
allow_no_value:'{{ paru_option.allow_no_value }}'
- name:'If Arch Linux initialize local AUR repo'
changed_when:false
failed_when:false
ansible.builtin.shell:
cmd:|
paru -Ly
- name:'If Arch Linux remove package ''paru-bin-debug'''
ansible.builtin.package:
name:'paru-bin-debug'
state:'absent'
- name:'If Arch Linux check if any non-local AUR packages remain to be moved into our local AUR repo'