155 lines
3.6 KiB
Puppet
155 lines
3.6 KiB
Puppet
# Install rubygems.
|
|
#
|
|
class ruby::rubygems {
|
|
|
|
tag("bootstrap")
|
|
|
|
require gnu::gcc
|
|
require gnu::make
|
|
|
|
package { "ruby-devel":
|
|
ensure => installed,
|
|
name => $::operatingsystem ? {
|
|
"ubuntu" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'ruby\1-dev'),
|
|
default => "ruby-devel",
|
|
},
|
|
}
|
|
|
|
package { "rubygems":
|
|
ensure => installed,
|
|
require => Package["ruby-devel"],
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install activerecord.
|
|
#
|
|
class ruby::activerecord {
|
|
|
|
case $::operatingsystem {
|
|
"centos","redhat": {
|
|
require yum::repo::puppetlabs::dependencies
|
|
$package = "rubygem-activerecord"
|
|
}
|
|
"debian": {
|
|
$package = regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1')
|
|
}
|
|
"ubuntu": {
|
|
if versioncmp($::operatingsystemrelease, "12.04") >= 0 {
|
|
$package = regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1')
|
|
} else {
|
|
$package = undef
|
|
}
|
|
}
|
|
default: {
|
|
$package = "rubygem-activerecord"
|
|
}
|
|
}
|
|
|
|
if $package {
|
|
package { "rubygem-activerecord":
|
|
ensure => installed,
|
|
name => $package,
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install mysql ruby bindings.
|
|
#
|
|
class ruby::mysql {
|
|
|
|
package { "ruby-mysql":
|
|
ensure => installed,
|
|
name => $::operatingsystem ? {
|
|
"debian" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libmysql-ruby\1'),
|
|
"ubuntu" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libmysql-ruby\1'),
|
|
default => "ruby-mysql",
|
|
},
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install rails.
|
|
#
|
|
class ruby::rails {
|
|
|
|
case $::operatingsystem {
|
|
"centos","redhat": {
|
|
if $::operatingsystemrelease =~ /^[1-5]/ {
|
|
package { "rubygem-rails":
|
|
ensure => installed,
|
|
}
|
|
} else {
|
|
require ruby::rubygems
|
|
package { "rubygem-rails":
|
|
ensure => "2.3.17",
|
|
name => "rails",
|
|
provider => "gem",
|
|
}
|
|
}
|
|
}
|
|
default: {
|
|
package { "rubygem-rails":
|
|
ensure => installed,
|
|
name => $::operatingsystem ? {
|
|
"debian" => "rails",
|
|
"ubuntu" => "rails",
|
|
"openbsd" => "ruby-rails",
|
|
default => "rubygem-rails",
|
|
},
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install rrd ruby bindings.
|
|
#
|
|
class ruby::rrd {
|
|
|
|
case $::operatingsystem {
|
|
"centos","redhat": {
|
|
$package = $::operatingsystemrelease ? {
|
|
/^[1-5]/ => "ruby-RRDtool",
|
|
default => "rrdtool-ruby",
|
|
}
|
|
}
|
|
"debian","ubuntu": {
|
|
$package = regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'librrd-ruby\1')
|
|
}
|
|
"openbsd": {
|
|
$package = "ruby-rrd"
|
|
}
|
|
default: {
|
|
$packaage = "ruby-RRDtool"
|
|
}
|
|
}
|
|
|
|
package { "ruby-rrd":
|
|
ensure => installed,
|
|
name => $package,
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install sqlite3 ruby bindings.
|
|
#
|
|
class ruby::sqlite3 {
|
|
|
|
package { "rubygem-sqlite3-ruby":
|
|
ensure => installed,
|
|
name => $::operatingsystem ? {
|
|
"debian" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libsqlite3-ruby\1'),
|
|
"ubuntu" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libsqlite3-ruby\1'),
|
|
"openbsd" => "ruby-sqlite3",
|
|
default => "rubygem-sqlite3-ruby",
|
|
},
|
|
}
|
|
|
|
}
|