Merge "Allow system nodejs install"
This commit is contained in:
commit
021bc83b28
@ -15,6 +15,7 @@ class etherpad_lite (
|
|||||||
$ep_user = 'eplite',
|
$ep_user = 'eplite',
|
||||||
$base_log_dir = '/var/log',
|
$base_log_dir = '/var/log',
|
||||||
$base_install_dir = '/opt/etherpad-lite',
|
$base_install_dir = '/opt/etherpad-lite',
|
||||||
|
# If set to system will install system package.
|
||||||
$nodejs_version = 'v0.10.21',
|
$nodejs_version = 'v0.10.21',
|
||||||
$eplite_version = 'develop',
|
$eplite_version = 'develop',
|
||||||
$ep_ensure = 'present',
|
$ep_ensure = 'present',
|
||||||
@ -44,46 +45,63 @@ class etherpad_lite (
|
|||||||
mode => '0664',
|
mode => '0664',
|
||||||
}
|
}
|
||||||
|
|
||||||
vcsrepo { "${base_install_dir}/nodejs":
|
if ($nodejs_version != 'system') {
|
||||||
ensure => present,
|
vcsrepo { "${base_install_dir}/nodejs":
|
||||||
provider => git,
|
ensure => present,
|
||||||
source => 'https://github.com/joyent/node.git',
|
provider => git,
|
||||||
revision => $nodejs_version,
|
source => 'https://github.com/joyent/node.git',
|
||||||
require => [
|
revision => $nodejs_version,
|
||||||
Package['git'],
|
require => [
|
||||||
File[$base_install_dir],
|
Package['git'],
|
||||||
],
|
File[$base_install_dir],
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
package { [
|
||||||
|
'gzip',
|
||||||
|
'curl',
|
||||||
|
'python',
|
||||||
|
'libssl-dev',
|
||||||
|
'pkg-config',
|
||||||
|
'abiword',
|
||||||
|
'build-essential',
|
||||||
|
]:
|
||||||
|
ensure => present,
|
||||||
|
}
|
||||||
|
|
||||||
|
package { ['nodejs', 'npm']:
|
||||||
|
ensure => purged,
|
||||||
|
}
|
||||||
|
|
||||||
|
buildsource { "${base_install_dir}/nodejs":
|
||||||
|
timeout => 900, # 15 minutes
|
||||||
|
creates => '/usr/local/bin/node',
|
||||||
|
require => [
|
||||||
|
Package['gzip'],
|
||||||
|
Package['curl'],
|
||||||
|
Package['python'],
|
||||||
|
Package['libssl-dev'],
|
||||||
|
Package['pkg-config'],
|
||||||
|
Package['build-essential'],
|
||||||
|
Vcsrepo["${base_install_dir}/nodejs"],
|
||||||
|
],
|
||||||
|
before => Anchor['nodejs-anchor'],
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
package { ['nodejs', 'npm']:
|
||||||
|
ensure => present,
|
||||||
|
before => Anchor['nodejs-anchor'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/usr/local/bin/node':
|
||||||
|
ensure => link,
|
||||||
|
target => '/usr/bin/nodejs',
|
||||||
|
before => Anchor['nodejs-anchor'],
|
||||||
|
require => Package['nodejs'],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
package { [
|
anchor { 'nodejs-anchor': }
|
||||||
'gzip',
|
|
||||||
'curl',
|
|
||||||
'python',
|
|
||||||
'libssl-dev',
|
|
||||||
'pkg-config',
|
|
||||||
'abiword',
|
|
||||||
'build-essential',
|
|
||||||
]:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
|
|
||||||
package { ['nodejs', 'npm']:
|
|
||||||
ensure => purged,
|
|
||||||
}
|
|
||||||
|
|
||||||
buildsource { "${base_install_dir}/nodejs":
|
|
||||||
timeout => 900, # 15 minutes
|
|
||||||
creates => '/usr/local/bin/node',
|
|
||||||
require => [
|
|
||||||
Package['gzip'],
|
|
||||||
Package['curl'],
|
|
||||||
Package['python'],
|
|
||||||
Package['libssl-dev'],
|
|
||||||
Package['pkg-config'],
|
|
||||||
Package['build-essential'],
|
|
||||||
Vcsrepo["${base_install_dir}/nodejs"],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
vcsrepo { "${base_install_dir}/etherpad-lite":
|
vcsrepo { "${base_install_dir}/etherpad-lite":
|
||||||
ensure => $ep_ensure,
|
ensure => $ep_ensure,
|
||||||
@ -105,7 +123,7 @@ class etherpad_lite (
|
|||||||
environment => "HOME=${base_log_dir}/${ep_user}",
|
environment => "HOME=${base_log_dir}/${ep_user}",
|
||||||
require => [
|
require => [
|
||||||
Vcsrepo["${base_install_dir}/etherpad-lite"],
|
Vcsrepo["${base_install_dir}/etherpad-lite"],
|
||||||
Buildsource["${base_install_dir}/nodejs"],
|
Anchor['nodejs-anchor'],
|
||||||
],
|
],
|
||||||
before => File["${base_install_dir}/etherpad-lite/settings.json"],
|
before => File["${base_install_dir}/etherpad-lite/settings.json"],
|
||||||
creates => "${base_install_dir}/etherpad-lite/node_modules",
|
creates => "${base_install_dir}/etherpad-lite/node_modules",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user