--- {%- from "kopia/map.jinja" import kopia with context %} {% set archive_exclude_dir = './kopia-' + kopia.version + '-' + kopia.os + '-' + kopia.arch %} kopia-archive-extract: archive.extracted: - name: {{ kopia.release_dir }}/kopia-{{ kopia.version }} - source: {{ kopia.mirror }}/v{{ kopia.version }}/kopia-{{ kopia.version }}-{{ kopia.os }}-{{ kopia.arch }}.tar.gz - enforce_toplevel: false - options: > --transform 's|^\{{ archive_exclude_dir }}|/|g' --transform 's|LICENSE||g' --transform 's|README.md||g' --strip 1 - skip_verify: true - archive_format: tar - if_missing: {{ kopia.release_dir }}/kopia-{{ kopia.version }}/kopia kopia-bin-perm: file.managed: - name: {{ kopia.release_dir }}/kopia-{{ kopia.version }}/kopia - user: root - group: root - replace: False - require: - archive: kopia-archive-extract kopia-bin-symlink: file.symlink: - name: /usr/local/bin/kopia - target: {{ kopia.release_dir }}/kopia-{{ kopia.version }}/kopia - force: true - require: - archive: kopia-archive-extract kopia-cleanup: software.cleanup: - name: kopia - path: {{ kopia.release_dir }} - version: "{{ kopia.version }}"