php-formula/php/composer.sls
sc250024 1e3e3032f3 New structure for new Ubuntu PPA and other fixes (#113)
* Initial commit for new branch

* Quick change to base test files

* Updated map.jinja, added `php` dependency for all subformulas

* Fixing mongo module and map.jinja needed OpenSSL dev libraries

* Should be final changes needed for Mongo module

* Updating Suhosin package since many distros don't have package in their
repos anymore

* Generalizing suhosin module, and updating pillar.example for new PPA

* Adding addtional logic for RedHat based families to Suhosin

* Initial commit of NG refactored map.jinja file

* Deleting FFMpeg state file since the module is quite old, and has been
replaced by using a Composer library. See
https://github.com/PHP-FFMpeg/PHP-FFMpeg for details

* Updating NG formulas for new definitions

* Removing 'twig' as a state since it can be installed via Composer

* Changes to installed.jinja to set correct PHP path based on version

* NG Composer and NG Suhosin changes

* Version bump and deleting README for deleted states

* Finished refactor of NG map.jinja file

* Adding trailing commas (forgot them earler)

* Adding changes list, and modifying map file for missing definitions when
using Ubuntu 16.04 and NOT using a PPA

* Changes needed after performing testing on RHEL 7

* Changes needed for Ubuntu Trusty without using PPA

* Removing testing files; keep on local

* Map changes needed after testing Debian Jessie

* Changed needed for Debian Wheezy

* Adding more pkgs for Arch Linux support

* More ArchLinux support

* Stupid tabs

* Removing extra line breaks, and using the general "use_external_repo" in
the future if DotDeb (Debian) or Webtactic (RedHat)

* Accoutning for Precise `phpenmod` and others
2016-12-13 13:37:53 -08:00

50 lines
1.5 KiB
Plaintext

{%- from "php/map.jinja" import php with context %}
{%- set install_file = php.local_bin + '/' + php.composer_bin %}
{%- if not salt['config.get']('sudo_user') %}
{%- set salt_user = salt['config.get']('user', 'root') %}
{%- else %}
{%- set salt_user = salt['config.get']('sudo_user', 'root') %}
{%- endif %}
{%- set salt_user_home = salt['user.info'](salt_user).get('home', '/root') %}
include:
- php
get-composer:
file.managed:
- name: {{ php.temp_dir }}/installer
- mode: 0755
- unless: test -f {{ install_file }}
- source: https://getcomposer.org/installer
- source_hash: https://composer.github.io/installer.sig
- require:
- pkg: php
install-composer:
cmd.run:
- name: php {{ php.temp_dir }}/installer --filename={{ php.composer_bin }} --install-dir={{ php.local_bin }}
- unless: test -f {{ install_file }}
- env:
- HOME: {{ salt_user_home }}
- require:
- file: get-composer
# Get COMPOSER_DEV_WARNING_TIME from the installed composer, and if that time has passed
# then it's time to run `composer selfupdate`
#
# It would be nice if composer had a command line switch to get this, but it doesn't,
# and so we just grep for it.
#
update-composer:
cmd.run:
- name: "{{ install_file }} selfupdate"
- unless: test $(grep --text COMPOSER_DEV_WARNING_TIME {{ install_file }} | egrep '^\s*define' | sed -e 's,[^[:digit:]],,g') \> $(php -r 'echo time();')
- cwd: {{ php.local_bin }}
- env:
- HOME: {{ salt_user_home }}
- require:
- cmd: install-composer