45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
{% from "blender/map.jinja" import blender with context %}
|
|
|
|
# 1. Download and extract archive
|
|
blender_extract_tarball:
|
|
archive.extracted:
|
|
- name: {{ blender.archive_dir }}
|
|
- source: {{ blender.download_url }}
|
|
- skip_verify: True
|
|
- enforce_ownership_on: {{ blender.archive_dir }}
|
|
- options: '--strip-components=1'
|
|
- if_missing: {{ blender.archive_dir }}/blender
|
|
|
|
# 2. Maintain generic symlink pointing to active version
|
|
blender_opt_symlink:
|
|
file.symlink:
|
|
- name: {{ blender.symlink_dir }}
|
|
- target: {{ blender.archive_dir }}
|
|
- force: True
|
|
- require:
|
|
- archive: blender_extract_tarball
|
|
|
|
# 3. Create CLI launcher symlink
|
|
blender_bin_symlink:
|
|
file.symlink:
|
|
- name: {{ blender.bin_dir }}/blender
|
|
- target: {{ blender.symlink_dir }}/blender
|
|
- force: True
|
|
- require:
|
|
- file: blender_opt_symlink
|
|
|
|
# 4. Deploy desktop menu shortcut
|
|
blender_desktop_entry:
|
|
file.managed:
|
|
- name: {{ blender.desktop_dir }}/blender.desktop
|
|
- source: salt://blender/templates/blender.desktop.jinja
|
|
- template: jinja
|
|
- mode: '0644'
|
|
- user: root
|
|
- group: root
|
|
- context:
|
|
version: "{{ blender.version }}"
|
|
exec_path: "{{ blender.symlink_dir }}/blender %f"
|
|
icon_path: "{{ blender.symlink_dir }}/blender.svg"
|
|
- require:
|
|
- file: blender_opt_symlink |