2018-02-12 08:16:03 -03:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# vim: ft=sls
|
|
|
|
|
2021-06-14 16:59:19 +02:00
|
|
|
{%- from "./map.jinja" import packages with context %}
|
2018-02-12 08:16:03 -03:00
|
|
|
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- set req_states = packages.pkgs.required.states %}
|
|
|
|
{%- set req_packages = packages.pkgs.required.pkgs %}
|
|
|
|
{%- set held_packages = packages.pkgs.held %}
|
|
|
|
{%- set wanted_packages = packages.pkgs.wanted %}
|
|
|
|
{%- set unwanted_packages = packages.pkgs.unwanted %}
|
2018-02-12 08:16:03 -03:00
|
|
|
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if held_packages or wanted_packages %}
|
|
|
|
{%- if req_states %}
|
2019-03-10 22:47:54 -03:00
|
|
|
include:
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- for dep in req_states %}
|
2019-03-10 22:47:54 -03:00
|
|
|
- {{ dep }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endfor %}
|
|
|
|
{%- endif %}
|
2019-03-10 22:47:54 -03:00
|
|
|
|
2018-02-12 08:16:03 -03:00
|
|
|
### PRE-REQ PKGS (without these, some of the WANTED PKGS will fail to install)
|
2018-03-02 20:33:31 -03:00
|
|
|
pkg_req_pkgs:
|
2018-02-12 08:16:03 -03:00
|
|
|
pkg.installed:
|
2019-03-05 20:12:25 -03:00
|
|
|
- pkgs: {{ req_packages | json }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if req_states %}
|
2018-02-12 08:16:03 -03:00
|
|
|
- require:
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- for dep in req_states %}
|
2018-02-12 08:16:03 -03:00
|
|
|
- sls: {{ dep }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endfor %}
|
|
|
|
{%- endif %}
|
2019-06-24 12:21:47 +01:00
|
|
|
- retry: {{ packages.retry_options|json }}
|
2018-03-02 20:33:31 -03:00
|
|
|
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if held_packages != {} %}
|
2018-03-02 20:33:31 -03:00
|
|
|
held_pkgs:
|
|
|
|
pkg.installed:
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if held_packages is mapping %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- pkgs:
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- for p, v in held_packages.items() %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- {{ p }}: {{ v }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endfor %}
|
|
|
|
{%- else %}
|
2019-03-05 20:12:25 -03:00
|
|
|
- pkgs: {{ held_packages | json }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endif %}
|
|
|
|
{%- if grains['os_family'] not in ['Suse'] %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- hold: true
|
|
|
|
- update_holds: true
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endif %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- require:
|
|
|
|
- pkg: pkg_req_pkgs
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- for dep in req_states %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- sls: {{ dep }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endfor %}
|
2019-06-24 12:21:47 +01:00
|
|
|
- retry: {{ packages.retry_options|json }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endif %}
|
2018-02-12 08:16:03 -03:00
|
|
|
|
2018-03-02 20:33:31 -03:00
|
|
|
wanted_pkgs:
|
2018-02-12 08:16:03 -03:00
|
|
|
pkg.installed:
|
2019-03-05 20:12:25 -03:00
|
|
|
- pkgs: {{ wanted_packages | json }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if grains['os_family'] not in ['Suse'] %}
|
2018-03-02 20:33:31 -03:00
|
|
|
- hold: false
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endif %}
|
2018-02-12 08:16:03 -03:00
|
|
|
- require:
|
2018-03-02 20:33:31 -03:00
|
|
|
- pkg: pkg_req_pkgs
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- if req_states %}
|
|
|
|
{%- for dep in req_states %}
|
2018-02-12 08:16:03 -03:00
|
|
|
- sls: {{ dep }}
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endfor %}
|
|
|
|
{%- endif %}
|
2019-06-24 12:21:47 +01:00
|
|
|
- retry: {{ packages.retry_options|json }}
|
2018-02-12 08:16:03 -03:00
|
|
|
|
2018-03-02 20:33:31 -03:00
|
|
|
unwanted_pkgs:
|
2018-02-12 08:16:03 -03:00
|
|
|
pkg.purged:
|
2019-03-05 20:12:25 -03:00
|
|
|
- pkgs: {{ unwanted_packages | json }}
|
2018-02-12 08:16:03 -03:00
|
|
|
|
2020-10-21 12:28:28 -03:00
|
|
|
{%- endif %}
|