diff --git a/manifests/dependencies.pp b/manifests/dependencies.pp index 6a42674..89440a7 100644 --- a/manifests/dependencies.pp +++ b/manifests/dependencies.pp @@ -19,6 +19,7 @@ if ! defined(Package['bzip2']) { package { 'bzip2': ensure => present } } if ! defined(Package['ca-certificates']) { package { 'ca-certificates': ensure => present } } if ! defined(Package['gawk']) { package { 'gawk': ensure => present } } + if ! defined(Package['gnupg2']) { package { 'gnupg2': ensure => present } } # Generic Ruby dependencies if ! defined(Package['g++']) { package { 'g++': ensure => present } } @@ -46,4 +47,5 @@ if ! defined(Package['pkg-config']) { package { 'pkg-config': ensure => present } } if ! defined(Package['libffi-dev']) { package { 'libffi-dev': ensure => present } } + } diff --git a/manifests/install.pp b/manifests/install.pp index 661430c..f6af9b8 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -90,10 +90,20 @@ $install_command = "su -c 'curl -L https://get.rvm.io | bash -s ${version}' - ${user}" + #execute gpg key installation before installing rvm + #key needs to be installed in user gpg keychain + exec { 'install-gpg-key': + path => '/usr/bin:/usr/sbin:/bin', + command => 'gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3', + user => "${user}", + unless => 'gpg2 --list-keys D39DC0E3', + require => Package['gnupg2'], + } + exec { $install_command: path => '/usr/bin:/usr/sbin:/bin', creates => "${homedir}/.rvm/bin/rvm", - require => [ Package['curl'], Package['bash'], User[$user] ], + require => [ Package['curl'], Package['bash'], User[$user], Exec['install-gpg-key'] ], } $rvm_executable = "${homedir}/.rvm/bin/rvm"