CPANPLUS 0.083_09
authorJos I. Boumans <kane@dwim.org>
Fri, 9 Nov 2007 15:50:11 +0000 (16:50 +0100)
committerCraig A. Berry <craigberry@mac.com>
Fri, 9 Nov 2007 16:35:18 +0000 (16:35 +0000)
From: "Jos I. Boumans" <jos@dwim.org>
Message-Id: <B17C3858-AF8D-4FDE-AE15-F612E7B41FC9@dwim.org>

p4raw-id: //depot/perl@32252

14 files changed:
lib/CPANPLUS.pm
lib/CPANPLUS/Config.pm
lib/CPANPLUS/Internals.pm
lib/CPANPLUS/Shell/Default.pm
lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed
lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
lib/CPANPLUS/t/inc/conf.pl

index d8fbea5513870512f74655edbab89bdeb0090438..5722305f20e3041594f79407e06c173d69ba567b 100644 (file)
@@ -13,7 +13,7 @@ BEGIN {
     use vars        qw( @EXPORT @ISA $VERSION );
     @EXPORT     =   qw( shell fetch get install );
     @ISA        =   qw( Exporter );
-    $VERSION = "0.83_08";     #have to hardcode or cpan.org gets unhappy
+    $VERSION = "0.83_09";     #have to hardcode or cpan.org gets unhappy
 }
 
 ### purely for backward compatibility, so we can call it from the commandline:
index b0921339b6e20b1d01a4e885685ecb55866673b5..f9f5391816453ebb94f30561f8870902ae9b2d17 100644 (file)
@@ -486,18 +486,42 @@ remains empty if you do not require super user permissiosn to install.
 =cut
 
         $Conf->{'program'}->{'sudo'} = do {
-            $>  # check for all install dirs!
-                # installsiteman3dir is a 5.8'ism.. don't check
-                # it on 5.6.x...
-                ? ( -w $Config{'installsitelib'} &&
-                    ( defined $Config{'installsiteman3dir'} &&
-                           -w $Config{'installsiteman3dir'}
-                    ) &&
-                    -w $Config{'installsitebin'} 
-                        ? undef
-                        : can_run('sudo') 
-                  )
-                : can_run('sudo')
+
+            ### let's assume you dont need sudo,
+            ### unless one of the below criteria tells us otherwise
+            my $sudo = undef;
+            
+            ### you're a normal user, you might need sudo
+            if( $> ) {
+    
+                ### check for all install dirs!
+                ### installsiteman3dir is a 5.8'ism.. don't check
+                ### it on 5.6.x...            
+                ### you have write permissions to the installdir,
+                ### you don't need sudo
+                if( -w $Config{'installsitelib'} &&
+                    ( defined $Config{'installsiteman3dir'} && 
+                      -w $Config{'installsiteman3dir'} 
+                    ) && -w $Config{'installsitebin'} 
+                ) {                    
+                    $sudo = undef;
+                    
+                ### you have PERL_MM_OPT set to some alternate
+                ### install place. You probably have write permissions
+                ### to that
+                } elsif ( $ENV{'PERL_MM_OPT'} and 
+                          $ENV{'PERL_MM_OPT'} =~ /INSTALL|LIB|PREFIX/
+                ) {
+                    $sudo = undef;
+
+                ### you probably don't have write permissions
+                } else {                
+                    $sudo = can_run('sudo');
+                }
+            }  
+            
+            ### and return the value
+            $sudo;
         };
 
 =item perlwrapper
index 6bc6813fbeea10a6747ba2e9e2ea9a57225db79b..68d71aae90fd61dfa4058f975f943ec36a466b84 100644 (file)
@@ -40,7 +40,7 @@ use vars qw[@ISA $VERSION];
             CPANPLUS::Internals::Report
         ];
 
-$VERSION = "0.83_08";
+$VERSION = "0.83_09";
 
 =pod
 
index 66d31840aa892fc18ca602e9d766ad57d6255273..d3068e078eed758610a35b48209de1b8a78c94e9 100644 (file)
@@ -26,7 +26,7 @@ local $Data::Dumper::Indent     = 1; # for dumpering from !
 BEGIN {
     use vars        qw[ $VERSION @ISA ];
     @ISA        =   qw[ CPANPLUS::Shell::_Base::ReadLine ];
-    $VERSION = "0.83_08";
+    $VERSION = "0.83_09";
 }
 
 load CPANPLUS::Shell;
index c9546f83abdbf2608a0590bc0a32ff5a4fa8c338..576975c9cafd36a336596b20696cfb12dfa04832 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
 
-Created at Sun Nov  4 11:24:49 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("%_EO$4``S`Q;6%I;')C+G1X=`!+S,E,+%9P#8T(5@`#)=>*DM"2S)QB
index 0c22cdc46f14a085e3ce646e02a9ce931f99b21c..0d01bf8a81beff3a0415bee9e57d77ba30ce8696 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed
 
-Created at Sun Nov  4 11:24:49 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("!1%OT4"`T)U;F1L92U&;V\M0F%R+3`N,#$N=&%R`.V7:V_:,!2&^8I_
index 71e0feb3694651151e88d61ece91d7c886e090aa..29f0ca9de962e311219b2e7c5a49b72b13ab2f8a 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("/8X34("`T9O;RU"87(M,"XP,2YT87(`[9KQ;]I&%,?Y^?Z*1YE$(A5C
index 8a25510cfebdfcf106afeaac775d979a40f87392..2d0f5986bd137e3939ddeaef05ed52dc06e19bd5 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL(`'3DO44``^W/,0J`,`Q`T1RE)Y"T-O4XXN"DB%2]OR(*NNC4[;_E#\F0
index cc106adca370d1e81e9eda632740ed34d95b2c2a..11e57857b9393f753825a8f09750f7b0563189e7 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("`DY34("`T9O;RU"87(M,"XP,2YT87(`[5IK3]M(%,U7YE=<H%5``A.;
index 117ce6db4dab7482e994c51f16ff14c18249471d..7534d1438d8fea5e392e9dd1564029fdd59c129b 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("-<X34(``T9O;RU"87(M,"XP,2YT87(`[9E;;]HP%,=Y]J<X+9722@-R
index 19b54371b1612f387bc54fbfc54f4ced1f075f4a..6966be0221f6f49eac7e672531706c093da49698 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("-\X34(``T9O;RU"87(M,"XP,2YT87(`[5K_3QI)%/=7YZ]XU39H(BN[
index 4b4ff964493b3cd699d15bef8d680b483f5683e5..e41cf531ae67270192c464469bfd115c50f0a036 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("$TN$T<``S`R<&%C:V%G97,N9&5T86EL<RYT>'0`G=-1;],P$`#@=_^*
index be6cb03e3290472ab29a20a4f0f1e9d99294e3c9..da8a1f55d4faf3e4eb88abd18f9b2330b243b511 100644 (file)
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
 
-Created at Sun Nov  4 11:24:50 2007
+Created at Fri Nov  9 15:20:34 2007
 #########################################################################
 __UU__
 M'XL("#'FO$4``S`S;6]D;&ES="YD871A`%U3_6O;,!#].?HKCBXC"20A=<@&
index dc439924df72f1d1ea0f94bb8da6b6c5d03376b7..fe6a20f979402a10ed3a17d4782e5e9d539213e1 100644 (file)
@@ -24,7 +24,7 @@ BEGIN {
 
     ### and add them to the environment, so shellouts get them
     $old_env_perl5lib = $ENV{'PERL5LIB'};
-    $ENV{'PERL5LIB'}  = join ':'
+    $ENV{'PERL5LIB'}  = join $Config{'path_sep'}
                         grep { defined } $ENV{'PERL5LIB'}, @paths, @rel2abs;
     
     ### add our own path to the front of $ENV{PATH}, so that cpanp-run-perl