forked from cloudsmith/federated-wiki
/
init.pp
55 lines (47 loc) · 1.33 KB
/
init.pp
1
2
3
4
5
6
7
8
9
10
11
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
class federated_wiki(
$source_git_repository = 'git://github.com/WardCunningham/Smallest-Federated-Wiki.git',
$install_dir = '/var/www/federated-wiki'
) {
include rubygems19
include rubygems19::common_dependencies
$build_dependencies = [
'libxml2-devel', 'libxslt-devel'
]
package { [$build_dependencies]:
ensure => installed,
}
package { 'bundler':
ensure => installed,
provider => gem19,
require => [Class['rubygems19::common_dependencies'], Package[$build_dependencies]],
}
exec { 'bundle-install':
unless => 'bundle check',
command => 'bundle install',
environment => ["RUBYOPT=-rfix_ruby_revision"],
cwd => $install_dir,
timeout => 0,
path => ['/usr/local/bin', '/bin', '/usr/bin'],
require => [Package['bundler'], Exec['git-clone', 'git-pull']],
}
package { 'git':
ensure => latest,
}
exec { 'git-clone':
unless => "test -d \"${install_dir}\"",
command => "git clone \"${source_git_repository}\" \"${install_dir}\"",
path => ['/usr/local/bin', '/bin', '/usr/bin'],
require => Package['git'],
}
exec { 'git-pull':
onlyif => "test -d \"${install_dir}\"",
command => 'git pull',
cwd => $install_dir,
path => ['/usr/local/bin', '/bin', '/usr/bin'],
require => Package['git'],
}
federated_wiki::apache { 'federated_wiki':
install_dir => $install_dir,
require => Exec['bundle-install'],
}
}