Puppet Class: bazinga::php::phpsh

Defined in:
manifests/php/phpsh.pp

Overview

Class: bazinga::php::phpsh

Parameters:

target_dir

Where to install phpsh.

Example:

include bazinga::php::phpsh

Parameters:

  • target_dir (Any) (defaults to: 'UNDEF')


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'manifests/php/phpsh.pp', line 12

class bazinga::php::phpsh (
  $target_dir = 'UNDEF'
) {

  $phpsh_tarball_url  = 'http://github.com/facebook/phpsh/tarball/master'
  $phpsh_tarball_name = 'phpsh.tar.gz'
  $phpsh_target_dir   = $target_dir ? {
    'UNDEF' => '/usr/local/phpsh',
    default => $target_dir
  }

  package { 'python-setuptools':
    ensure => present
  }

  exec { 'phpsh-download':
    command => "wget -O ${phpsh_tarball_name} ${phpsh_tarball_url}",
    path    => '/usr/bin:/bin:/usr/sbin:/sbin',
    cwd     => '/tmp',
    user    => 'root',
    unless  => "test -d ${phpsh_target_dir}",
  }

  exec { 'phpsh-unpack':
    command => "tar xzf ${phpsh_tarball_name} && mv facebook-phpsh* ${phpsh_target_dir}",
    path    => '/usr/bin:/bin:/usr/sbin:/sbin',
    cwd     => '/tmp',
    user    => 'root',
    unless  => "test -d ${phpsh_target_dir}",
    require => Exec['phpsh-download'],
  }

  exec { 'phpsh-install':
    command => 'python setup.py install',
    path    => '/usr/bin:/bin:/usr/sbin:/sbin',
    cwd     => $phpsh_target_dir,
    user    => 'root',
    unless  => "test -d ${phpsh_target_dir}/build",
    require => [
      Exec['phpsh-download'],
      Package['python-setuptools']
    ],
  }
}