diff --git a/manifests/environment.pp b/manifests/environment.pp index a8eef56..c8857d6 100644 --- a/manifests/environment.pp +++ b/manifests/environment.pp @@ -43,6 +43,9 @@ creates => "${perlbrew::params::perlbrew_root}/perls", user => 'perlbrew', group => 'perlbrew', - require => [ Group['perlbrew'], User['perlbrew'] ], + require => [ + Group['perlbrew'], User['perlbrew'], + File[$perlbrew::params::perlbrew_bin], + ], } } diff --git a/manifests/init.pp b/manifests/init.pp index 4db0fd7..49e1a0e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -25,7 +25,9 @@ "install_patchperl_${name}": command => "/bin/sh -c 'umask 022; /usr/bin/env PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install-patchperl'", creates => "${perlbrew::params::perlbrew_root}/bin/patchperl", - require => Class['perlbrew::environment'], + require => [ + Class['perlbrew::environment'], + ], } exec { @@ -55,10 +57,16 @@ } } - define install_module ($perl, $force = 0) { - if $force == 1 { + define install_module ($perl, $force = 0, $sudo = 0) { + if $force == 1 and $sudo == 1 { + $flags = "-fS" + } + elsif $force == 1 { $flags = "-f" } + elsif $sudo == 1 { + $flags = "-S" + } else { $flags = "" }