From 8d6f039f95093052df28a04fda8291b9389aa30b Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 13:04:51 -0500 Subject: [PATCH 1/6] Added support for the sudo flag in cpanm --- manifests/init.pp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 4db0fd7..6b84871 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -55,10 +55,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 = "" } From 1f384f048429d2c62fa34fa2f7b331483c57d578 Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 14:13:58 -0500 Subject: [PATCH 2/6] Fixed equality mistake --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 6b84871..7524267 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -56,7 +56,7 @@ } define install_module ($perl, $force = 0, $sudo = 0) { - if $force == 1 and $sudo = 1 { + if $force == 1 and $sudo == 1 { $flags = "-fS" } elsif $force == 1 { From e35695706ca2eb79bcf7c5eba8ab307fae2b8ce7 Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 14:17:47 -0500 Subject: [PATCH 3/6] Added missing dependency for patchperl --- manifests/init.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 7524267..d946077 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -25,7 +25,10 @@ "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'], + File[$perlbrew::params::perlbrew_bin], + ], } exec { From a3d7ca5e3110278b35b9a2a098b637a1e0826b9d Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 14:24:52 -0500 Subject: [PATCH 4/6] Removing use of env which only seems to be blowing up --- manifests/init.pp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index d946077..544f2af 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,17 +23,14 @@ # temporary storage, which happens to not be writable for the perlbrew # user. Use /bin/su to work this around. "install_patchperl_${name}": - command => "/bin/sh -c 'umask 022; /usr/bin/env PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install-patchperl'", + command => "/bin/sh -c 'umask 022; PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install-patchperl'", creates => "${perlbrew::params::perlbrew_root}/bin/patchperl", - require => [ - Class['perlbrew::environment'], - File[$perlbrew::params::perlbrew_bin], - ], + require => Class['perlbrew::environment'], } exec { "perlbrew_build_${name}": - command => "/bin/sh -c 'umask 022; /usr/bin/env PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install ${version} --as ${name} -Accflags=-fPIC -Dcccdlflags=-fPIC'", + command => "/bin/sh -c 'umask 022; PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install ${version} --as ${name} -Accflags=-fPIC -Dcccdlflags=-fPIC'", user => 'perlbrew', group => 'perlbrew', timeout => 3600, From d35769d6d1e3fcfac4907370c1738fe9c442121e Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 14:44:01 -0500 Subject: [PATCH 5/6] Revert "Removing use of env which only seems to be blowing up" This reverts commit a3d7ca5e3110278b35b9a2a098b637a1e0826b9d. --- manifests/init.pp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 544f2af..d946077 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -23,14 +23,17 @@ # temporary storage, which happens to not be writable for the perlbrew # user. Use /bin/su to work this around. "install_patchperl_${name}": - command => "/bin/sh -c 'umask 022; PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install-patchperl'", + 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'], + File[$perlbrew::params::perlbrew_bin], + ], } exec { "perlbrew_build_${name}": - command => "/bin/sh -c 'umask 022; PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install ${version} --as ${name} -Accflags=-fPIC -Dcccdlflags=-fPIC'", + command => "/bin/sh -c 'umask 022; /usr/bin/env PERLBREW_ROOT=${perlbrew::params::perlbrew_root} ${perlbrew::params::perlbrew_bin} install ${version} --as ${name} -Accflags=-fPIC -Dcccdlflags=-fPIC'", user => 'perlbrew', group => 'perlbrew', timeout => 3600, From 5fb1ec13cbcb1082c14c7905ccd4d3ffb288b5e3 Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 15 Dec 2013 14:58:12 -0500 Subject: [PATCH 6/6] Added dependency --- manifests/environment.pp | 5 ++++- manifests/init.pp | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) 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 d946077..49e1a0e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -27,7 +27,6 @@ creates => "${perlbrew::params::perlbrew_root}/bin/patchperl", require => [ Class['perlbrew::environment'], - File[$perlbrew::params::perlbrew_bin], ], }