summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/lib/CPAN/FirstTime.pm
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/lib/CPAN/FirstTime.pm')
-rw-r--r--contrib/perl5/lib/CPAN/FirstTime.pm29
1 files changed, 21 insertions, 8 deletions
diff --git a/contrib/perl5/lib/CPAN/FirstTime.pm b/contrib/perl5/lib/CPAN/FirstTime.pm
index df95812..0e795da 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);
}
OpenPOWER on IntegriCloud