29 lines
1.1 KiB
Django/Jinja
29 lines
1.1 KiB
Django/Jinja
{% set default_version = '4.2.0' %}
|
|
|
|
{% set version_parts = default_version.split('.') %}
|
|
{% set default_major = version_parts[0] ~ '.' ~ version_parts[1] %}
|
|
|
|
{# Map distro-specific package names using grains #}
|
|
{% set xz_pkg = 'xz-utils' if grains['os_family'] == 'Debian' else 'xz' %}
|
|
|
|
{% set defaults = {
|
|
'version': default_version,
|
|
'install_root': '/opt',
|
|
'bin_dir': '/usr/local/bin',
|
|
'desktop_dir': '/usr/share/applications',
|
|
'download_url_base': 'https://download.blender.org/release',
|
|
'pkgs': [xz_pkg, 'tar', 'curl']
|
|
} %}
|
|
|
|
{# Merge pillar data under the 'blender' key over defaults #}
|
|
{% set blender = salt['pillar.get']('blender', default=defaults, merge=True) %}
|
|
|
|
{# Derived variables #}
|
|
{% set major_version = blender.version.split('.')[0] ~ '.' ~ blender.version.split('.')[1] %}
|
|
{% set archive_name = 'blender-' ~ blender.version ~ '-linux-x64.tar.xz' %}
|
|
|
|
{% do blender.update({
|
|
'archive_dir': blender.install_root ~ '/blender-' ~ blender.version ~ '-linux-x64',
|
|
'symlink_dir': blender.install_root ~ '/blender',
|
|
'download_url': blender.download_url_base ~ '/Blender' ~ major_version ~ '/' ~ archive_name
|
|
}) %} |