diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2017-10-28 09:36:38 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2017-10-28 09:36:38 -0200 |
commit | f9fbad5598b616c7bb89d0c36c64567d8db75531 (patch) | |
tree | 86bf1083fcd5f4d59a268a2cb613b6e012d86ad2 /manifests | |
parent | 6120cc7b7646856ee6bd79a8ae7fcf067c1bc69c (diff) | |
download | puppet-php-f9fbad5598b616c7bb89d0c36c64567d8db75531.tar.gz puppet-php-f9fbad5598b616c7bb89d0c36c64567d8db75531.tar.bz2 |
Up-to-date composer handling by package or upstream version
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/composer.pp | 55 |
1 files changed, 44 insertions, 11 deletions
diff --git a/manifests/composer.pp b/manifests/composer.pp index 4ab3337..b6274f6 100644 --- a/manifests/composer.pp +++ b/manifests/composer.pp @@ -1,16 +1,49 @@ -class php::composer { - # TODO: future +class php::composer( + $provider = 'upstream', +) { package { 'composer': - ensure => absent, + ensure => $provider ? { + 'package' => present, + default => absent, + }, } - # Composer - exec { 'getcomposer': - # 'The HOME or COMPOSER_HOME environment variable must be set for composer to install correctly' - environment => [ 'HOME=/root' ], - command => '/usr/bin/wget -O - https://getcomposer.org/installer | /usr/bin/php && /bin/mv composer.phar /usr/local/bin/composer', - user => 'root', - cwd => '/tmp', - creates => '/usr/local/bin/composer', + file { '/usr/local/bin/getcomposer': + ensure => present, + owner => root, + group => root, + mode => '0755', + source => 'puppet:///modules/php/getcomposer', + } + + if ($provider == 'package') { + file { '/usr/local/bin/composer': + ensure => absent, + } + } + + cron { "composer-self-update": + command => "/usr/local/bin/composer self-update", + user => root, + hour => "03", + minute => "30", + ensure => $provider ? { + 'upstream' => present, + default => absent, + }, + require => Exec['getcomposer'], + } + + if ($provider == 'upstream') { + exec { 'getcomposer': + # 'The HOME or COMPOSER_HOME environment variable must be set for composer to install correctly' + environment => [ 'HOME=/root' ], + #command => '/usr/bin/wget -O - https://getcomposer.org/installer | /usr/bin/php && /bin/mv composer.phar /usr/local/bin/composer', + command => '/usr/local/bin/getcomposer', + user => 'root', + cwd => '/tmp', + creates => '/usr/local/bin/composer', + require => File['/usr/local/bin/getcomposer'], + } } } |