Add tasks to install AUR packages
This commit is contained in:
parent
ecc95d0c96
commit
0fd1bd553e
1 changed files with 56 additions and 0 deletions
56
tasks/arch_linux/aur.yml
Normal file
56
tasks/arch_linux/aur.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
- name: set aur build directory
|
||||
set_fact:
|
||||
aur_build_dir: '{{ aur_build_dir | /usr/local/src }}'
|
||||
|
||||
- name: set build directory
|
||||
set_fact:
|
||||
build_dir: '{{ aur_build_dir }}/{{ item.name }}'
|
||||
|
||||
- name: retrieve package name for {{ item.name }}
|
||||
command:
|
||||
argv: |
|
||||
grep
|
||||
--only-matching
|
||||
--perl-regexp
|
||||
"(?<=pkgname=).*"
|
||||
"{{ build_dir }}/PKGBUILD"
|
||||
register: pkg_name
|
||||
|
||||
- name: retrieve package version for {{ item.name }}
|
||||
command:
|
||||
argv: |
|
||||
grep
|
||||
--only-matching
|
||||
--perl-regexp
|
||||
"(?<=pkgver=).*"
|
||||
"{{ build_dir }}/PKGBUILD"
|
||||
register: pkg_version
|
||||
|
||||
- name: retrieve package release for {{ item.name }}
|
||||
command:
|
||||
argv: |
|
||||
grep
|
||||
--only-matching
|
||||
--perl-regexp
|
||||
"(?<=pkgrel=).*"
|
||||
"{{ build_dir }}/PKGBUILD"
|
||||
register: pkg_release
|
||||
|
||||
- set_fact:
|
||||
package_filename: '{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-{{ item.arch }}.pkg.tar.zst'
|
||||
installed_version: ansible_facts.packages[pkg_name.stdout].version|default('')
|
||||
|
||||
- name: build package {{ item.name }}
|
||||
command: makepkg --syncdeps --rmdeps --clean --noconfirm --force
|
||||
args:
|
||||
chdir: '{{ build_dir }}'
|
||||
creates: '{{ build_dir }}/{{ package_filename }}'
|
||||
register: package_build
|
||||
when: pkg_version.stdout != installed_version
|
||||
|
||||
- name: install {{ item.name }}
|
||||
become: true
|
||||
pacman:
|
||||
name: '{{ build_dir }}/{{ package_filename }}'
|
||||
state: present
|
||||
when: pkg_version.stdout != installed_version
|
||||
Reference in a new issue