This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update CPAN.pm to ANDK/CPAN-2.18-TRIAL.tar.gz
authorDavid Mitchell <davem@iabyn.com>
Sun, 16 Apr 2017 20:04:01 +0000 (21:04 +0100)
committerDavid Mitchell <davem@iabyn.com>
Sun, 16 Apr 2017 20:04:01 +0000 (21:04 +0100)
RT #131141

CPAN-2.17-TRIAL tried to narrow the scope to the phases prepare, make,
and test, but after some testing evidence took shape that
PERL_USE_UNSAFE_INC=1 is also needed for the install phase.

2.18 provides this change. The second issue fixed in 2.18 addresses
RT #120781, an ugly bug with a trivial fix.

Porting/Maintainers.pl
cpan/CPAN/lib/CPAN.pm
cpan/CPAN/lib/CPAN/Bundle.pm
cpan/CPAN/lib/CPAN/Distribution.pm

index 0037f8b..33df630 100755 (executable)
@@ -247,7 +247,7 @@ use File::Glob qw(:case);
     },
 
     'CPAN' => {
-        'DISTRIBUTION' => 'ANDK/CPAN-2.17-TRIAL2.tar.gz',
+        'DISTRIBUTION' => 'ANDK/CPAN-2.18-TRIAL.tar.gz',
         'FILES'        => q[cpan/CPAN],
         'EXCLUDED'     => [
             qr{^distroprefs/},
index 185ade9..4f02850 100644 (file)
@@ -2,7 +2,7 @@
 # vim: ts=4 sts=4 sw=4:
 use strict;
 package CPAN;
-$CPAN::VERSION = '2.17';
+$CPAN::VERSION = '2.18';
 $CPAN::VERSION =~ s/_//;
 
 # we need to run chdir all over and we would get at wrong libraries
index 3f17b54..3b4e93d 100644 (file)
@@ -8,7 +8,7 @@ use CPAN::Module;
 use vars qw(
             $VERSION
 );
-$VERSION = "5.5002";
+$VERSION = "5.5003";
 
 sub look {
     my $self = shift;
@@ -21,6 +21,11 @@ sub undelay {
     delete $self->{later};
     for my $c ( $self->contains ) {
         my $obj = CPAN::Shell->expandany($c) or next;
+        if ($obj->id eq $self->id){
+            my $id = $obj->id;
+            $CPAN::Frontend->mywarn("$id seems to contain itself, skipping\n");
+            next;
+        }
         $obj->undelay;
     }
 }
index fc7ce10..64976eb 100644 (file)
@@ -8,7 +8,7 @@ use CPAN::InfoObj;
 use File::Path ();
 @CPAN::Distribution::ISA = qw(CPAN::InfoObj);
 use vars qw($VERSION);
-$VERSION = "2.17";
+$VERSION = "2.18";
 
 # no prepare, because prepare is not a command on the shell command line
 # TODO: clear instance cache on reload
@@ -3960,7 +3960,7 @@ sub install {
                            : ($ENV{PERLLIB} || "");
 
     local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
-    local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # install
+    local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # install
     $CPAN::META->set_perl5lib;
     local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
     local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};