Added Composer support

This commit is contained in:
Ross Perkins 2015-02-20 11:12:19 +01:00
parent 2147067ca2
commit 2780ad7e77
3 changed files with 43 additions and 0 deletions

View File

@ -40,6 +40,11 @@ Installs the php-cgi package.
Installs the php-cli package.
``php.composer``
-----------
Installs [composer](https://getcomposer.org) and keeps it updated.
``php.curl``
------------

34
php/composer.sls Normal file
View File

@ -0,0 +1,34 @@
{% from "php/map.jinja" import php with context %}
{% set install_file = php.local_bin + '/composer' %}
include:
- php
get-composer:
cmd.run:
- name: 'CURL=`which curl`; $CURL -sS https://getcomposer.org/installer | php'
- unless: test -f {{ install_file }}
- cwd: {{ php.temp_dir }}
- require:
- pkg: php
# 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: "WARNING_TIME=$(grep --text COMPOSER_DEV_WARNING_TIME {{ install_file }} | egrep '^\s*define' | sed -e 's,[^[:digit:]],,g'); php -r \"exit($WARNING_TIME > time() ? 0 : 1);\""
- cwd: {{ php.temp_dir }}
- require:
- cmd: get-composer
install-composer:
cmd.wait:
- name: install -m 0755 {{ php.temp_dir }}/composer.phar {{ install_file }}
- cwd: {{ php.temp_dir }}
- watch:
- cmd: get-composer

View File

@ -31,6 +31,8 @@
'mongo_pecl': 'mongo',
'mongo_ext': 'mongo.so',
'ext_conf_path': '/etc/php5/mods-available',
'local_bin': '/usr/local/bin',
'temp_dir': '/tmp',
},
'RedHat': {
'php_pkg': 'php',
@ -64,5 +66,7 @@
'mongo_pecl': 'mongo',
'mongo_ext': 'mongo.so',
'ext_conf_path': '/etc/php5/conf.d',
'local_bin': '/usr/local/bin',
'temp_dir': '/tmp',
},
}, merge=salt['pillar.get']('php:lookup')) %}