diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp index 73d46b4..1c9c783 100644 --- a/puppet/manifests/init.pp +++ b/puppet/manifests/init.pp @@ -265,7 +265,7 @@ class puppet::server::common inherits puppet::client { } if $puppet_storeconfigs != "none" { - require ruby::rails + require ruby::activerecord case $puppet_dbadapter { "sqlite3": { require ruby::sqlite3 diff --git a/ruby/manifests/init.pp b/ruby/manifests/init.pp index 4803523..65c56c7 100644 --- a/ruby/manifests/init.pp +++ b/ruby/manifests/init.pp @@ -23,6 +23,26 @@ class ruby::rubygems { } +# Install activerecord. +# +class ruby::activerecord { + + if $::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "6") >= 0 { + require yum::repo::puppetlabs::dependencies + } + + package { "rubygem-activerecord": + ensure => installed, + name => $::operatingsystem ? { + "debian" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1'), + "ubuntu" => regsubst($::rubyversion, '^([0-9]+\.[0-9]+)\..*', 'libactiverecord-ruby\1'), + default => "rubygem-activerecord", + }, + } + +} + + # Install mysql ruby bindings. # class ruby::mysql { @@ -109,24 +129,6 @@ class ruby::rrd { class ruby::sqlite3 { case $::operatingsystem { - "centos","redhat": { - if $::operatingsystemrelease =~ /^[1-5]/ { - package { "rubygem-sqlite3-ruby": - ensure => installed, - } - } else { - require ruby::rubygems - package { [ "sqlite", "sqlite-devel", ]: - ensure => installed, - before => Package["rubygem-sqlite3"], - } - package { "rubygem-sqlite3": - ensure => installed, - name => "sqlite3", - provider => "gem", - } - } - } default: { package { "rubygem-sqlite3-ruby": ensure => installed, diff --git a/yum/manifests/init.pp b/yum/manifests/init.pp index 67ea3bd..28c33c2 100644 --- a/yum/manifests/init.pp +++ b/yum/manifests/init.pp @@ -447,18 +447,19 @@ class yum::repo::skype { } + # Add Puppetlabs repositories # class yum::repo::puppetlabs { + include yum::repo::puppetlabs::dependencies + case $::operatingsystem { "fedora": { - $products = "fedora/f\$releasever/products/\$basearch" - $dependencies = "fedora/f\$releasever/dependencies/\$basearch" + $path = "fedora/f\$releasever/products/\$basearch" } "centos","redhat": { - $products = "el/\$releasever/products/\$basearch" - $dependencies = "el/\$releasever/dependencies/\$basearch" + $path = "el/\$releasever/products/\$basearch" } default: { fail("yum::repo::puppetlabs not supported in ${::operatingsystem}") @@ -467,12 +468,30 @@ class yum::repo::puppetlabs { yum::repo { "puppetlabs": descr => "Puppet Labs Packages - Products", - baseurl => "https://yum.puppetlabs.com/${products}", - gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs", - } - yum::repo { "puppetlabs-dependencies": - descr => "Puppet Labs Packages - Dependencies", - baseurl => "https://yum.puppetlabs.com/${dependencies}", + baseurl => "https://yum.puppetlabs.com/${path}", + gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs", + } + +} + + +class yum::repo::puppetlabs::dependencies { + + case $::operatingsystem { + "fedora": { + $path = "fedora/f\$releasever/dependencies/\$basearch" + } + "centos","redhat": { + $path = "el/\$releasever/dependencies/\$basearch" + } + default: { + fail("yum::repo::puppetlabs::dependencies not supported in ${::operatingsystem}") + } + } + + yum::repo { "puppetlabs-dependencies": + descr => "Puppet Labs Packages - Dependencies", + baseurl => "https://yum.puppetlabs.com/${path}", gpgkey => "https://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs", }