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: package_facts:
manager: pacman manager: pacman
- import_tasks: 'tasks/aur.yml' - import_tasks: 'tasks/aur.yml'
when: aur_packages|map(attribute='package_name')|list is not subset(ansible_facts.packages)
- import_tasks: 'tasks/docker.yml' - import_tasks: 'tasks/docker.yml'
- name: setup python versions - name: setup python versions
include_tasks: 'tasks/python.yml' include_tasks: 'tasks/python.yml'

View file

@ -1,22 +1,52 @@
- name: 'build package {{ item.name }}' - name: set package directory
command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' set_fact:
args: build_dir: '{{ aur_build_dir }}/{{ item.name }}'
chdir: '{{ aur_build_dir }}/{{ item.name }}'
- name: 'retrieve package name for {{ 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 register: pkg_name
- name: 'retrieve package version for {{ item.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 register: pkg_version
- name: 'retrieve package release for {{ item.name }}' - 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 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 }}' - name: 'install {{ item.name }}'
become: true become: true
pacman: 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 state: present
when: package_build.changed

View file

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

View file

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