Update AUR packages

This commit is contained in:
Sonny Bakker 2024-08-16 09:02:52 +02:00
parent aef5ca8138
commit ae424f066d
4 changed files with 48 additions and 17 deletions

View file

@ -23,7 +23,6 @@
package_facts:
manager: pacman
- import_tasks: 'tasks/aur.yml'
when: aur_packages|map(attribute='package_name')|list is not subset(ansible_facts.packages)
- import_tasks: 'tasks/docker.yml'
- name: setup python versions
include_tasks: 'tasks/python.yml'

View file

@ -1,22 +1,52 @@
- name: 'build package {{ item.name }}'
command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force'
args:
chdir: '{{ aur_build_dir }}/{{ item.name }}'
- name: set package directory
set_fact:
build_dir: '{{ aur_build_dir }}/{{ item.name }}'
- name: 'retrieve package name for {{ item.name }}'
command: 'grep -oP "(?<=pkgname=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD'
command:
argv:
- grep
- --only-matching
- --perl-regexp
- "(?<=pkgname=).*"
- "{{ build_dir }}/PKGBUILD"
register: pkg_name
- name: 'retrieve package version for {{ item.name }}'
command: 'grep -oP "(?<=pkgver=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD'
command:
argv:
- grep
- --only-matching
- --perl-regexp
- "(?<=pkgver=).*"
- "{{ build_dir }}/PKGBUILD"
register: pkg_version
- name: 'retrieve package release for {{ item.name }}'
command: 'grep -oP "(?<=pkgrel=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD'
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[item.package_name].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: item.version != installed_version
- name: 'install {{ item.name }}'
become: true
pacman:
name: '{{ aur_build_dir }}/{{ item.name }}/{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-x86_64.pkg.tar.zst'
name: '{{ build_dir }}/{{ package_filename }}'
state: present
when: package_build.changed

View file

@ -1,10 +1,8 @@
- name: retrieve directory stats
stat:
path: '{{ aur_build_dir }}/{{ item.name }}'
register: build_dir_stats
loop: '{{ aur_packages }}'
# TODO become based on the directories stats
- name: clone aur packages
become: true
git:

View file

@ -18,14 +18,18 @@ packages:
aur_packages:
- {
url: 'https://aur.archlinux.org/rootlesskit.git',
name: 'rootlesskit',
package_name: 'rootlesskit',
url: 'https://aur.archlinux.org/docker-rootless-extras.git',
name: 'docker-rootless',
package_name: 'docker-rootless-extras',
version: '27.1.2-1',
arch: 'x86_64',
}
- {
url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git',
name: 'docker-rootless',
package_name: 'docker-rootless-extras-bin',
url: 'https://aur.archlinux.org/nvm.git',
name: 'nvm',
package_name: 'nvm',
version: '0.40.0-1',
arch: 'any',
}
aur_build_dir: '/usr/local/src'