mirror of
https://github.com/saltstack-formulas/packages-formula.git
synced 2025-04-10 14:51:42 +00:00
54 lines
1.4 KiB
Text
54 lines
1.4 KiB
Text
# -*- coding: utf-8 -*-
|
|
# vim: ft=sls
|
|
|
|
{#- Get the `tplroot` from `tpldir` #}
|
|
{%- set tplroot = tpldir.split('/')[0] %}
|
|
{%- from tplroot ~ "/map.jinja" import packages with context %}
|
|
|
|
{%- set req_states = packages.gems.required.states %}
|
|
{%- set req_pkgs = packages.gems.required.pkgs %}
|
|
{%- set wanted_gems = packages.gems.wanted %}
|
|
{%- set unwanted_gems = packages.gems.unwanted %}
|
|
|
|
{%- if wanted_gems or unwanted_gems %}
|
|
{%- if req_states %}
|
|
include:
|
|
{%- for dep in req_states %}
|
|
- {{ dep }}
|
|
{%- endfor %}
|
|
{%- endif %}
|
|
|
|
### REQ PKGS (without these, some of the WANTED GEMS will fail to install)
|
|
gem_req_pkgs:
|
|
pkg.installed:
|
|
- pkgs: {{ req_pkgs | json }}
|
|
- retry: {{ packages.retry_options|json }}
|
|
|
|
### GEMS to install
|
|
# (requires the ruby/rubygem deb/rpm installed, either by the system or listed in
|
|
# the required packages
|
|
{%- for gm in wanted_gems %}
|
|
{{ gm }}:
|
|
gem.installed:
|
|
- require:
|
|
- pkg: gem_req_pkgs
|
|
{%- if req_states %}
|
|
{%- for dep in req_states %}
|
|
- sls: {{ dep }}
|
|
{%- endfor %}
|
|
{%- endif %}
|
|
- retry: {{ packages.retry_options|json }}
|
|
{#- Not specific to Arch but needed for the newest versions of Ruby #}
|
|
{%- if grains.os_family == 'Arch' %}
|
|
- rdoc: True
|
|
- ri: True
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
|
|
{%- for ugm in unwanted_gems %}
|
|
{{ ugm }}:
|
|
gem.removed:
|
|
- require:
|
|
- pkg: gem_req_pkgs
|
|
{%- endfor %}
|
|
{%- endif %}
|