|
new file 100644
|
|
|
---
|
|
|
# https://gist.github.com/cahna/45bb9eee92c5f1fce66f
|
|
|
- name: AUR | get metadata from AurJson api
|
|
|
connection: local
|
|
|
sudo: no
|
|
|
uri: >
|
|
|
url=https://aur.archlinux.org/rpc.php?type=info&arg={{ pkg_name | mandatory }}
|
|
|
return_content=yes
|
|
|
timeout=6
|
|
|
register: api_info
|
|
|
|
|
|
- assert:
|
|
|
that:
|
|
|
- api_info.status == 200
|
|
|
- api_info.json is defined
|
|
|
- api_info.json.type == 'info'
|
|
|
- api_info.json.resultcount == 1
|
|
|
- api_info.json.results is defined
|
|
|
|
|
|
- name: AUR | {{ pkg_name }} | download tarball
|
|
|
sudo: no
|
|
|
connection: local
|
|
|
get_url: >
|
|
|
url='https://aur.archlinux.org{{ api_info.json.results.URLPath }}'
|
|
|
dest='/tmp/'
|
|
|
register: aur_tarball
|
|
|
|
|
|
- name: AUR | {{ pkg_name }} | upload tarball to host and extract it
|
|
|
sudo: yes
|
|
|
sudo_user: "{{ makepkg_nonroot_user }}"
|
|
|
unarchive: >
|
|
|
src={{ aur_tarball.dest }}
|
|
|
dest=/tmp/
|
|
|
register: extracted_pkg
|
|
|
|
|
|
# This will break if run as root. Set user to use with makepkg with 'makepkg_user' var
|
|
|
- name: AUR | {{ pkg_name }} | build package, including missing dependencies
|
|
|
when: extracted_pkg | changed
|
|
|
sudo: yes
|
|
|
sudo_user: "{{ makepkg_nonroot_user }}"
|
|
|
command: >
|
|
|
makepkg --noconfirm --noprogressbar -mfs
|
|
|
chdir=/tmp/{{ pkg_name }}
|
|
|
register: aur_makepkg_result
|
|
|
|
|
|
# Shameless variable declaration hack
|
|
|
- shell: ls -1 /tmp/{{ pkg_name | quote }} | grep pkg.tar
|
|
|
register: compiled_package_name
|
|
|
|
|
|
- name: AUR | {{ pkg_name }} | install newly-built aur package with pacman
|
|
|
when: aur_makepkg_result | changed
|
|
|
sudo: yes
|
|
|
shell: >
|
|
|
pacman --noconfirm --noprogressbar --needed -U {{ compiled_package_name.stdout | quote }}
|
|
|
chdir=/tmp/{{ pkg_name }}
|
|
|
register: pacman_install_result
|
|
|
changed_when: pacman_install_result.stdout is defined and pacman_install_result.stdout.find('there is nothing to do') == -1
|