Update AUR packages
This commit is contained in:
parent
aef5ca8138
commit
ae424f066d
4 changed files with 48 additions and 17 deletions
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue