Squash merge move_to_single_file_pkgs into main
This commit is contained in:
52
tasks/helpers/archive.yml
Normal file
52
tasks/helpers/archive.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
# vim: set filetype=yaml.ansible :
|
||||
#
|
||||
## Helpers: archive.yml
|
||||
## Description: extract and symlink archives
|
||||
## Variables: dict of key:value pairs
|
||||
## extract_to: path to extract archive to
|
||||
## name: filename of the archive
|
||||
## url: download url of the archive
|
||||
---
|
||||
- name: Ensure requirements met
|
||||
when:
|
||||
- archive.extract_to is defined
|
||||
- archive.name is defined
|
||||
- archive.url is defined
|
||||
block:
|
||||
- name: Extract archive to given path {{ archive.name }}
|
||||
block:
|
||||
- name: Ensure directory exists
|
||||
become: "{{ install_become }}"
|
||||
become_user: "{{ install_become_user }}"
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: "{{ archive.extract_to }}"
|
||||
mode: "{{ archive.mode | default('0755') }}"
|
||||
owner: "{{ archive.owner | default(ansible_facts['user_id']) }}"
|
||||
group: "{{ archive.group | default(ansible_facts['user_gid']) }}"
|
||||
|
||||
- name: Download archive to cache {{ archive.name }}
|
||||
ansible.builtin.get_url:
|
||||
dest: "{{ d_cache.path }}/{{ archive.name }}"
|
||||
url: "{{ archive.url }}"
|
||||
checksum: "{{ archive.checksum | default(omit) }}"
|
||||
decompress: false
|
||||
mode: '0644'
|
||||
|
||||
- name: Extract archive {{ archive.name }}
|
||||
become: "{{ install_become }}"
|
||||
become_user: "{{ install_become_user }}"
|
||||
ansible.builtin.unarchive:
|
||||
dest: "{{ archive.extract_to }}"
|
||||
src: "{{ d_cache.path }}/{{ archive.name }}"
|
||||
remote_src: true
|
||||
include: "{{ archive.include | default(omit) }}"
|
||||
exclude: "{{ archive.exclude | default(omit) }}"
|
||||
|
||||
- name: Symlink archive files {{ archive.name }}
|
||||
when:
|
||||
- archive.links is defined
|
||||
- archive.links | length > 0
|
||||
vars:
|
||||
links: "{{ archive.links }}"
|
||||
ansible.builtin.include_tasks: helpers/symlink.yml
|
||||
Reference in New Issue
Block a user