diff options
author | varac <varacanero@zeromail.org> | 2015-02-10 09:31:02 +0100 |
---|---|---|
committer | Duda Dornelles <ddornell@thoughtworks.com> | 2015-02-12 11:31:03 -0200 |
commit | 6750381bbf99ce1cbe837eacac55a8e2801e7394 (patch) | |
tree | b1c6dd4d20adb94fb66f5686a4bf5dfe4af3d488 /provisioning | |
parent | d22425a6679d9ec793af7e9a89733484a0f9be2b (diff) |
Use wheezy for vagrant source box #272
Diffstat (limited to 'provisioning')
4 files changed, 44 insertions, 16 deletions
diff --git a/provisioning/manifests/source.pp b/provisioning/manifests/source.pp index c45059f5..74859a63 100644 --- a/provisioning/manifests/source.pp +++ b/provisioning/manifests/source.pp @@ -1,5 +1,5 @@ class { '::pixelated::apt': } -> class { '::pixelated::common': } -> -class { '::pixelated::source': } -> -class { '::pixelated::cleanup':} +class { '::pixelated::source': } +#class { '::pixelated::cleanup':} diff --git a/provisioning/modules/pixelated/manifests/source.pp b/provisioning/modules/pixelated/manifests/source.pp index 3d0fa390..d4e9754a 100644 --- a/provisioning/modules/pixelated/manifests/source.pp +++ b/provisioning/modules/pixelated/manifests/source.pp @@ -4,7 +4,6 @@ class pixelated::source { package { [ 'git', 'nodejs-legacy', - 'npm', 'python-dev', 'python-virtualenv', 'libffi-dev', @@ -15,6 +14,8 @@ class pixelated::source { ensure => latest } + include pixelated::source::npm + package { 'compass': ensure => installed, provider => 'gem' @@ -22,21 +23,9 @@ class pixelated::source { stage { 'install_pixelated': } - class { 'install_pixelated' : + class { 'pixelated::source::install_useragent' : stage => install_pixelated } - class install_pixelated { - $virtualenv_path = '/home/vagrant/user-agent-venv' - - exec { 'install-pixelated': - environment => 'USERNAME=vagrant', - command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\" -n /home/vagrant/boxed_node_modules", - cwd => '/vagrant', - user => 'vagrant', - timeout => 0 - } - } - Stage['main'] -> Stage['install_pixelated'] } diff --git a/provisioning/modules/pixelated/manifests/source/install_useragent.pp b/provisioning/modules/pixelated/manifests/source/install_useragent.pp new file mode 100644 index 00000000..8661f655 --- /dev/null +++ b/provisioning/modules/pixelated/manifests/source/install_useragent.pp @@ -0,0 +1,30 @@ +class pixelated::source::install_useragent { + + $virtualenv_path = '/home/vagrant/user-agent-venv' + + exec { 'install-pixelated': + # use of "user" parameter doesn't set env variables right, + # see https://projects.puppetlabs.com/issues/23053 + # therefore we need to explicitily set them here + environment => [ 'USERNAME=vagrant', 'HOME=/home/vagrant' ], + command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\" -n /home/vagrant/boxed_node_modules", + cwd => '/vagrant', + user => 'vagrant', + # to debug use this + # logoutput => true, + timeout => 0 + } + + file { '/home/vagrant/.activate_custom_node_modules.sh': + owner => 'vagrant', + mode => '0600', + source => 'puppet:///modules/pixelated/activate_custom_node_modules.sh', + } + + exec { 'add_custom_node_modules_to_bashrc': + command => "/bin/bash -c 'echo \"source /home/vagrant/.activate_custom_node_modules.sh\" >> /home/vagrant/.bashrc'", + unless => "/bin/grep \"source /home/vagrant/.activate_custom_node_modules.sh\" /home/vagrant/.bashrc", + user => 'vagrant', + require => [Exec['install-pixelated'], File['/home/vagrant/.activate_custom_node_modules.sh']] + } +} diff --git a/provisioning/modules/pixelated/manifests/source/npm.pp b/provisioning/modules/pixelated/manifests/source/npm.pp new file mode 100644 index 00000000..8926d6fd --- /dev/null +++ b/provisioning/modules/pixelated/manifests/source/npm.pp @@ -0,0 +1,9 @@ +# installs npm from source +class pixelated::source::npm { + + exec { 'install_npm': + command => '/usr/bin/curl -s -L https://npmjs.org/install.sh | /bin/sh', + unless => '/usr/bin/test -e /usr/bin/npm', + require => Package['nodejs-legacy']; + } +} |