summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/gemrc3
-rw-r--r--manifests/gpgme.pp34
-rw-r--r--manifests/highline.pp8
-rw-r--r--manifests/init.pp13
-rw-r--r--manifests/ya2yaml.pp7
5 files changed, 58 insertions, 7 deletions
diff --git a/files/gemrc b/files/gemrc
new file mode 100644
index 0000000..040f20b
--- /dev/null
+++ b/files/gemrc
@@ -0,0 +1,3 @@
+---
+:sources:
+- https://rubygems.org/
diff --git a/manifests/gpgme.pp b/manifests/gpgme.pp
index b72b196..e9b04a9 100644
--- a/manifests/gpgme.pp
+++ b/manifests/gpgme.pp
@@ -1,9 +1,35 @@
class rubygems::gpgme{
- require rubygems::devel
- require gpg::gpgme::devel
+ case $::operatingsystem {
+ debian,ubuntu: {
+ case $::lsbdistcodename {
+ 'lenny','squeeze': {
+ # install gpgme as gem, as the squeeze deb-package is too old
+ # for i.e. gpg module
+ $provider = 'gem'
+ $packagename = 'ruby-gpgme'
+ }
+ default: {
+ # don't need to install gpgme as gem, debian package works
+ # fine with the gpg module
+ $provider = 'apt'
+ $packagename = 'libgpgme-ruby'
+ }
+ }
+ }
+ default: {
+ $provider = 'gem'
+ $packagename = 'ruby-gpgme'
+ }
+ }
+
+ if $provider == 'gem' {
+ require rubygems::devel
+ require gpg::gpgme::devel
+ }
package{'ruby-gpgme':
- ensure => present,
- provider => gem,
+ ensure => present,
+ provider => $provider,
+ name => $packagename
}
}
diff --git a/manifests/highline.pp b/manifests/highline.pp
index b8eaa90..e9da09a 100644
--- a/manifests/highline.pp
+++ b/manifests/highline.pp
@@ -3,4 +3,12 @@ class rubygems::highline {
package{'rubygem-highline':
ensure => present,
}
+
+ case $::operatingsystem {
+ debian,ubuntu: {
+ Package['rubygem-highline']{
+ name => 'ruby-highline'
+ }
+ }
+ }
}
diff --git a/manifests/init.pp b/manifests/init.pp
index 40308cb..0b6198d 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -7,9 +7,9 @@
# Marcel Härry haerry+puppet(at)puzzle.ch
# Simon Josi josi+puppet(at)puzzle.ch
#
-# This program is free software; you can redistribute
-# it and/or modify it under the terms of the GNU
-# General Public License version 3 as published by
+# This program is free software; you can redistribute
+# it and/or modify it under the terms of the GNU
+# General Public License version 3 as published by
# the Free Software Foundation.
#
@@ -21,4 +21,11 @@ class rubygems {
ensure => installed,
}
}
+ file { '/etc/gemrc':
+ source => [ 'puppet:///modules/site_rubygems/gemrc',
+ 'puppet:///modules/rubygems/gemrc' ],
+ mode => '0644',
+ owner => 'root',
+ group => 'root',
+ }
}
diff --git a/manifests/ya2yaml.pp b/manifests/ya2yaml.pp
new file mode 100644
index 0000000..7df362d
--- /dev/null
+++ b/manifests/ya2yaml.pp
@@ -0,0 +1,7 @@
+class rubygems::ya2yaml {
+ require rubygems
+ package{'ya2yaml':
+ ensure => present,
+ provider => gem,
+ }
+}