diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-01-28 12:10:08 +0100 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-01-28 12:11:57 +0100 |
commit | 2ff2612cfd50811f975a320a66402f0b6976e54d (patch) | |
tree | 049fe569a3ec5a0f143a8f938706b8ade80bf1df /provisioning/modules/pixelated | |
parent | 95204fb02aa9ea4e030b972685407e35a0b02f65 (diff) |
Issue #252: Node modules are now installed in the box.
- They are symlinked into /vagrant/web-ui/node_modules
Diffstat (limited to 'provisioning/modules/pixelated')
-rwxr-xr-x | provisioning/modules/pixelated/files/activate_custom_node_modules.sh | 28 | ||||
-rw-r--r-- | provisioning/modules/pixelated/manifests/source.pp | 17 |
2 files changed, 43 insertions, 2 deletions
diff --git a/provisioning/modules/pixelated/files/activate_custom_node_modules.sh b/provisioning/modules/pixelated/files/activate_custom_node_modules.sh new file mode 100755 index 00000000..6508053d --- /dev/null +++ b/provisioning/modules/pixelated/files/activate_custom_node_modules.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Copyright (c) 2014 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. + + +CUSTOM_NODE_MODULES_LOCATION="$HOME/boxed_noded_modules" +VAGRANT_NODE_MODULES="/vagrant/web-ui/node_modules" + +export NODE_PATH="$CUSTOM_NODE_MODULES_LOCATION/node_modules" + +if [ ! -e $VAGRANT_NODE_MODULES ] ; then + ln -s $CUSTOM_NODE_MODULES_LOCATION $VAGRANT_NODE_MODULES +fi + + diff --git a/provisioning/modules/pixelated/manifests/source.pp b/provisioning/modules/pixelated/manifests/source.pp index 0026ed3f..c84eecfe 100644 --- a/provisioning/modules/pixelated/manifests/source.pp +++ b/provisioning/modules/pixelated/manifests/source.pp @@ -9,7 +9,8 @@ class pixelated::source { 'libffi-dev', 'g++', 'ruby-dev', - 'libsqlite3-dev' ]: + 'libsqlite3-dev', + 'libfontconfig1']: ensure => latest } @@ -29,7 +30,7 @@ class pixelated::source { exec { 'install-pixelated': environment => 'USERNAME=vagrant', - command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\"", + command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\" -n /home/vagrant/boxed_node_modules", cwd => '/vagrant', user => 'vagrant', timeout => 0 @@ -41,6 +42,18 @@ class pixelated::source { user => 'vagrant', require => Exec['install-pixelated'] } + + 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']] + } } Stage['main'] -> Stage['install_pixelated'] |