Author: BINGOS
Date: Sun Sep 4 12:47:21 2011
New Revision: 14925
Modified:
CPANPLUS-Dist-Build/trunk/lib/CPANPLUS/Dist/Build.pm
Log:
Added local::lib type behaviour detection to disable use of 'sudo'
Modified: CPANPLUS-Dist-Build/trunk/lib/CPANPLUS/Dist/Build.pm
==============================================================================
--- CPANPLUS-Dist-Build/trunk/lib/CPANPLUS/Dist/Build.pm (original)
+++ CPANPLUS-Dist-Build/trunk/lib/CPANPLUS/Dist/Build.pm Sun Sep 4
12:47:21 2011
@@ -759,9 +759,17 @@
else {
$cmd = [$perl, $run_perl, BUILD->($dir), "install",
@buildflags];
}
- my $sudo = $conf->get_program('sudo');
- unshift @$cmd, $sudo if $sudo;
+ ### Detect local::lib type behaviour. Do not use 'sudo' in these cases
+ my $sudo = $conf->get_program('sudo');
+ SUDO: {
+ ### Actual local::lib in use
+ last SUDO if defined $ENV{PERL_MB_OPT} and $ENV{PERL_MB_OPT} =~
m!install_base!;
+ ### 'buildflags' is configured with '--install_base'
+ last SUDO if scalar grep { m!install_base! } @buildflags;
+ ### oh well 'sudo make me a sandwich'
+ unshift @$cmd, $sudo;
+ }
my $buffer;
unless( scalar run( command => $cmd,