2014-05-20 21:59:25 +02:00
|
|
|
# Template for installing packages.
|
2014-05-22 20:38:27 +02:00
|
|
|
{% from "php/ng/map.jinja" import php with context %}
|
|
|
|
{% from "php/ng/macro.jinja" import sls_block %}
|
|
|
|
|
2014-05-21 04:07:16 +02:00
|
|
|
|
2014-06-06 19:20:03 +02:00
|
|
|
{% set pkginfo = php.lookup.pkgs.get(state) %}
|
2014-06-06 19:14:44 +02:00
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
{% set pkgs = [] %}
|
|
|
|
{% set specials = [] %}
|
2014-06-06 19:14:44 +02:00
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
{% if pkginfo is iterable and pkginfo is not string %}
|
|
|
|
{% for pkg in pkginfo %}
|
|
|
|
{% if pkg is mapping %}
|
|
|
|
{% do specials.append(pkg) %}
|
|
|
|
{% else %}
|
|
|
|
{% do pkgs.append(pkg) %}
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
{% do pkgs.append(pkginfo) %}
|
|
|
|
{% endif %}
|
|
|
|
|
2015-04-25 16:18:04 +02:00
|
|
|
{% if grains['os_family']=="Debian" and (state == 'cli' or state == 'fpm' or state == 'php') %}
|
2015-10-23 09:34:58 +02:00
|
|
|
{% set use_ppa = salt['pillar.get']('php:use_ppa', False) %}
|
|
|
|
{% if use_ppa %}
|
2015-04-25 16:18:04 +02:00
|
|
|
|
|
|
|
{% set ppa_name = salt['pillar.get']('php:ppa_name', 'ondrej/php5') %}
|
|
|
|
|
2015-12-11 03:54:17 +01:00
|
|
|
php_ppa_env_{{ state }}:
|
|
|
|
cmd.run:
|
|
|
|
- name: apt-add-repository -y ppa:{{ ppa_name }}
|
|
|
|
- env:
|
|
|
|
- LC_ALL: C.UTF-8
|
2015-12-23 16:57:06 +01:00
|
|
|
- unless: test /etc/apt/sources.list.d/{{ ppa_name|replace('/', '-', 1) }}-trusty.list
|
2015-12-11 03:54:17 +01:00
|
|
|
|
2015-04-25 16:18:04 +02:00
|
|
|
php_ppa_{{ state }}:
|
|
|
|
pkgrepo.managed:
|
|
|
|
- ppa: {{ ppa_name }}
|
2015-12-11 03:54:17 +01:00
|
|
|
- require:
|
|
|
|
- cmd: php_ppa_env_{{ state }}
|
|
|
|
- require_in:
|
|
|
|
- pkg: php_install_{{ state }}
|
2015-04-25 16:18:04 +02:00
|
|
|
pkg.latest:
|
|
|
|
- name: {{ state }}
|
|
|
|
- pkgs: {{ pkgs|json() }}
|
|
|
|
- refresh: True
|
2015-12-11 03:54:17 +01:00
|
|
|
- onchanges:
|
|
|
|
- pkgrepo: php_ppa_{{ state }}
|
2015-04-25 16:18:04 +02:00
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
php_install_{{ state }}:
|
2014-05-20 21:59:25 +02:00
|
|
|
pkg.installed:
|
2014-06-06 19:14:44 +02:00
|
|
|
- name: {{ state }}
|
2014-06-06 20:53:36 +02:00
|
|
|
- pkgs: {{ pkgs|json() }}
|
2014-06-06 19:14:44 +02:00
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
{% for pkg in specials %}
|
2014-06-06 19:14:44 +02:00
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
php_install_{{ state }}_{{ pkg.get('name') }}:
|
2014-06-06 19:14:44 +02:00
|
|
|
pkg.installed:
|
2014-06-06 20:53:36 +02:00
|
|
|
{{ sls_block(pkg) }}
|
2014-06-06 19:14:44 +02:00
|
|
|
|
2014-06-06 20:53:36 +02:00
|
|
|
{% endfor %}
|