# SPDX-License-Identifier: MIT - name: 'If Arch Linux create dir to Git clone repo for restart detection' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' ansible.builtin.file: path: '{{ genvm_os_needs_restart_git_clone_dir }}' state: 'directory' - name: 'If Arch Linux Git clone repo for restart detection' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' ansible.builtin.git: repo: '{{ genvm_os_needs_restart_git_repo }}' dest: '{{ genvm_os_needs_restart_git_clone_dir }}' version: '{{ genvm_os_needs_restart_git_branch }}' - name: 'If Arch Linux create symlinks to repo for restart detection' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' loop_control: loop_var: 'genvm_os_needs_restart_symlink' label: 'Create symlink to ''{{ genvm_os_needs_restart_symlink.target | basename }}''' loop: - { target: '{{ genvm_os_needs_restart_git_clone_dir }}/arch-needs-restart.sh', symlink: '/usr/local/bin/arch-needs-restart' } - { target: '{{ genvm_os_needs_restart_git_clone_dir }}/arch-needs-restart.hook', symlink: '/usr/share/libalpm/hooks/arch-needs-restart.hook' } ansible.builtin.file: src: '{{ genvm_os_needs_restart_symlink.target }}' dest: '{{ genvm_os_needs_restart_symlink.symlink }}' state: 'link' force: true - name: 'If Arch Linux create dir to Git clone repo for OS auto-upgrades' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' ansible.builtin.file: path: '{{ genvm_os_auto_upgrades_git_clone_dir }}' state: 'directory' - name: 'If Arch Linux Git clone repo for OS auto-upgrades' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' ansible.builtin.git: repo: '{{ genvm_os_auto_upgrades_git_repo }}' dest: '{{ genvm_os_auto_upgrades_git_clone_dir }}' version: '{{ genvm_os_auto_upgrades_git_branch }}' notify: - 'Reload systemd unit configs' - name: 'If Arch Linux create symlinks to repo for OS auto-upgrades' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' loop_control: loop_var: 'genvm_os_auto_upgrades_symlink' label: 'Create symlink to ''{{ genvm_os_auto_upgrades_symlink.target | basename }}''' loop: - { target: '{{ genvm_os_auto_upgrades_git_clone_dir }}/arch-linux-update-and-restart.service', symlink: '/etc/systemd/system/arch-linux-update-and-restart.service' } - { target: '{{ genvm_os_auto_upgrades_git_clone_dir }}/arch-linux-update-and-restart.timer', symlink: '/etc/systemd/system/arch-linux-update-and-restart.timer' } ansible.builtin.file: src: '{{ genvm_os_auto_upgrades_symlink.target }}' dest: '{{ genvm_os_auto_upgrades_symlink.symlink }}' state: 'link' force: true notify: - 'Reload systemd unit configs' - name: 'If Arch Linux enable systemd timer for OS auto-upgrades' ansible.builtin.systemd_service: name: 'arch-linux-update-and-restart.timer' state: 'started' enabled: true - name: 'If Arch Linux make sure pacman ignores kernel updates (our zfs-dkms may not always be compatible)' when: 'ansible_facts[''os_family''] | lower == ''archlinux''' community.general.ini_file: path: '/etc/pacman.conf' section: 'options' option: 'IgnorePkg' value: 'linux linux-headers'