diff options
Diffstat (limited to 'contrib/perl5/lib/CPAN/FirstTime.pm')
-rw-r--r-- | contrib/perl5/lib/CPAN/FirstTime.pm | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/contrib/perl5/lib/CPAN/FirstTime.pm b/contrib/perl5/lib/CPAN/FirstTime.pm index df95812a1b45..0e795da4fb0a 100644 --- a/contrib/perl5/lib/CPAN/FirstTime.pm +++ b/contrib/perl5/lib/CPAN/FirstTime.pm @@ -16,7 +16,7 @@ use FileHandle (); use File::Basename (); use File::Path (); use vars qw($VERSION); -$VERSION = substr q$Revision: 1.36 $, 10; +$VERSION = substr q$Revision: 1.38 $, 10; =head1 NAME @@ -77,7 +77,9 @@ dialog anytime later by typing 'o conf init' at the cpan prompt.) *prompt = \&ExtUtils::MakeMaker::prompt; } else { $fastread = 1; - *prompt = sub { + $CPAN::Config->{urllist} ||= []; + # prototype should match that of &MakeMaker::prompt + *prompt = sub ($;$) { my($q,$a) = @_; my($ret) = defined $a ? $a : ""; printf qq{%s [%s]\n\n}, $q, $ret; @@ -358,16 +360,27 @@ sub conf_sites { require File::Copy; File::Copy::copy($m,$mby) or die "Could not update $mby: $!"; } - if ( ! -f $mby ){ - print qq{You have no $mby + my $loopcount = 0; + while () { + if ( ! -f $mby ){ + print qq{You have no $mby I\'m trying to fetch one }; - $mby = CPAN::FTP->localize($m,$mby,3); - } elsif (-M $mby > 30 ) { - print qq{Your $mby is older than 30 days, + $mby = CPAN::FTP->localize($m,$mby,3); + } elsif (-M $mby > 60 && $loopcount == 0) { + print qq{Your $mby is older than 60 days, I\'m trying to fetch one }; - $mby = CPAN::FTP->localize($m,$mby,3); + $mby = CPAN::FTP->localize($m,$mby,3); + $loopcount++; + } elsif (-s $mby == 0) { + print qq{You have an empty $mby, + I\'m trying to fetch one +}; + $mby = CPAN::FTP->localize($m,$mby,3); + } else { + last; + } } read_mirrored_by($mby); } |