- 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 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:'Include', value:'/etc/pacman.d/repo-local-aur.conf', exclusive:false, purpose_human_readable:'adds our local AUR repo'}
community.general.ini_file:
path:'/etc/pacman.conf'
section:'options'
option:'{{ pacman_opt.name }}'
value:'{{ pacman_opt.value }}'
exclusive:'{{ pacman_opt.exclusive }}'
- 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 }}'
- {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', allow_no_value:false, purpose_human_readable:'this builds AUR packages in a clean chroot'}