Puppet Class: redmine::install
- Defined in:
- manifests/install.pp
Overview
Class redmine::install
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'manifests/install.pp', line 2
class redmine::install {
# Install dependencies
$generic_packages = ['make', 'gcc']
$debian_packages = ['libmysql++-dev', 'libmysqlclient-dev', 'libmagickcore-dev', 'libmagickwand-dev', 'ruby-dev', 'libpq-dev',
'imagemagick']
$redhat_packages = ['postgresql-devel', 'sqlite-devel', 'ImageMagick-devel', 'ruby-devel', 'mariadb-devel']
case $facts['os']['family'] {
'Debian': {
$packages = concat($generic_packages, $debian_packages)
$packages_require = undef
}
'RedHat': {
$packages = concat($generic_packages, $redhat_packages)
if $facts['os']['name'] == 'CentOS' {
# Required for ImageMagick-devel dependencies
file_line { 'CentOS-Powertools-enabled':
path => '/etc/yum.repos.d/CentOS-PowerTools.repo',
line => 'enabled=1',
match => '^enabled=(0|1)$',
}
$packages_require = File_line['CentOS-Powertools-enabled']
} else {
$packages_require = undef
}
}
default: { $packages = concat($generic_packages, $redhat_packages) }
}
ensure_packages($packages, { 'require' => $packages_require })
case $redmine::database_adapter {
'postgresql' : {
$without_gems = 'development test sqlite mysql'
}
default: {
$without_gems = 'development test sqlite postgresql'
}
}
Exec {
cwd => '/usr/src',
path => ['/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/', '/usr/local/bin/'],
}
package { 'bundler':
ensure => present,
provider => gem,
}
exec { 'bundle_redmine':
command => "${redmine::bundle} install --gemfile ${redmine::install_dir}/Gemfile --without ${without_gems}",
creates => "${redmine::install_dir}/Gemfile.lock",
require => [Package['bundler'], Package['make'], Package['gcc'], Package[$packages]],
notify => Exec['rails_migrations'],
}
create_resources('redmine::plugin', $redmine::plugins)
if $redmine::provider != 'wget' {
exec { 'bundle_update':
cwd => $redmine::install_dir,
command => "${redmine::bundle} update",
refreshonly => true,
subscribe => Vcsrepo['redmine_source'],
notify => Exec['rails_migrations'],
require => Exec['bundle_redmine'],
}
}
}
|