From: Steve Peters Date: Sat, 28 Jan 2006 16:50:32 +0000 (+0000) Subject: Upgrade to CPAN-1.83_59 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ca79d79495f94ae9309f5b5aa61516d8d53ddbbf;p=p5sagit%2Fp5-mst-13.2.git Upgrade to CPAN-1.83_59 p4raw-id: //depot/perl@26986 --- diff --git a/lib/CPAN.pm b/lib/CPAN.pm index 8f89b9b..797ecf3 100644 --- a/lib/CPAN.pm +++ b/lib/CPAN.pm @@ -1,5 +1,5 @@ package CPAN; -$VERSION = '1.83_58'; +$VERSION = '1.83_59'; $VERSION = eval $VERSION; use strict; @@ -33,7 +33,8 @@ END { $CPAN::End++; &cleanup; } $CPAN::Signal ||= 0; $CPAN::Frontend ||= "CPAN::Shell"; -$CPAN::Defaultsite ||= "ftp://ftp.perl.org/pub/CPAN"; +@CPAN::Defaultsites = ("http://www.perl.org/CPAN/","ftp://ftp.perl.org/pub/CPAN/") + unless @CPAN::Defaultsites; # $CPAN::iCwd (i for initial) is going to be initialized during find_perl $CPAN::Perl ||= CPAN::find_perl(); $CPAN::Defaultdocs ||= "http://search.cpan.org/perldoc?"; @@ -45,7 +46,7 @@ use strict; use vars qw($VERSION @EXPORT $AUTOLOAD $DEBUG $META $HAS_USABLE $term $Signal $Suppress_readline $Frontend - $Defaultsite $Have_warned $Defaultdocs $Defaultrecent + @Defaultsites $Have_warned $Defaultdocs $Defaultrecent $Be_Silent ); @CPAN::ISA = qw(CPAN::Debug Exporter); @@ -738,6 +739,12 @@ sub cwd {Cwd::cwd();} #-> sub CPAN::getcwd ; sub getcwd {Cwd::getcwd();} +#-> sub CPAN::fastcwd ; +sub fastcwd {Cwd::fastcwd();} + +#-> sub CPAN::backtickcwd ; +sub backtickcwd {my $cwd = `cwd`; chomp $cwd; $cwd} + #-> sub CPAN::find_perl ; sub find_perl { my($perl) = File::Spec->file_name_is_absolute($^X) ? $^X : ""; @@ -1201,8 +1208,9 @@ sub a { $CPAN::Frontend->myprint($self->format_result('Author',@arg)); } -sub handle_ls { - my($self,$pragmas,$s) = @_; +#-> sub CPAN::Shell::globls ; +sub globls { + my($self,$s,$pragmas) = @_; # ls is really very different, but we had it once as an ordinary # command in the Shell (upto rev. 321) and we could not handle # force well then @@ -1237,6 +1245,7 @@ sub handle_ls { } my $silent = @accept>1; my $last_alpha = ""; + my @results; for my $a (@accept){ my($author,$pathglob); if ($a =~ m|(.*?)/(.*)|) { @@ -1266,7 +1275,9 @@ sub handle_ls { $author->$pragma(); } } - $author->ls($pathglob,$silent); # silent if more than one author + push @results, $author->ls($pathglob,$silent); # silent if + # more than one + # author for my $pragma (@$pragmas) { my $meth = "un$pragma"; if ($author->can($meth)) { @@ -1274,6 +1285,7 @@ sub handle_ls { } } } + @results; } #-> sub CPAN::Shell::local_bundles ; @@ -2121,7 +2133,7 @@ sub rematein { sleep 2; next; } elsif ($meth eq "ls") { - $self->handle_ls(\@pragma,$s); + $self->globls($s,\@pragma); next STHING; } else { CPAN->debug("calling expandany [$s]") if $CPAN::DEBUG; @@ -2481,7 +2493,8 @@ sub localize { my(@reordered,$last); $CPAN::Config->{urllist} ||= []; unless (ref $CPAN::Config->{urllist} eq 'ARRAY') { - warn "Malformed urllist; ignoring. Configuration file corrupt?\n"; + $CPAN::Frontend->mywarn("Malformed urllist; ignoring. Configuration file corrupt?\n"); + $CPAN::Config->{urllist} = []; } $last = $#{$CPAN::Config->{urllist}}; if ($force & 2) { # local cpans probably out of date, don't reorder @@ -2495,9 +2508,9 @@ sub localize { or defined($Thesite) and - ($b == $Thesite) + ($CPAN::Config->{urllist}[$b] eq $Thesite) <=> - ($a == $Thesite) + ($CPAN::Config->{urllist}[$a] eq $Thesite) } 0..$last; } my(@levels); @@ -2508,13 +2521,21 @@ sub localize { } @levels = qw/easy/ if $^O eq 'MacOS'; my($levelno); + local $ENV{FTP_PASSIVE} = $CPAN::Config->{ftp_passive} if exists $CPAN::Config->{ftp_passive}; for $levelno (0..$#levels) { my $level = $levels[$levelno]; my $method = "host$level"; my @host_seq = $level eq "easy" ? @reordered : 0..$last; # reordered has CDROM up front - @host_seq = (0) unless @host_seq; - my $ret = $self->$method(\@host_seq,$file,$aslocal); + my @urllist = map { $CPAN::Config->{urllist}[$_] } @host_seq; + for my $u (@urllist) { + $u .= "/" unless substr($u,-1) eq "/"; + } + for my $u (@CPAN::Defaultsites) { + push @urllist, $u unless grep { $_ eq $u } @urllist; + } + $self->debug("synth. urllist[@urllist]") if $CPAN::DEBUG; + my $ret = $self->$method(\@urllist,$file,$aslocal); if ($ret) { $Themethod = $level; my $now = time; @@ -2547,13 +2568,12 @@ sub localize { return; } +# package CPAN::FTP; sub hosteasy { my($self,$host_seq,$file,$aslocal) = @_; - my($i); - HOSTEASY: for $i (@$host_seq) { - my $url = $CPAN::Config->{urllist}[$i] || $CPAN::Defaultsite; - $url .= "/" unless substr($url,-1) eq "/"; - $url .= $file; + my($ro_url); + HOSTEASY: for $ro_url (@$host_seq) { + my $url .= "$ro_url$file"; $self->debug("localizing perlish[$url]") if $CPAN::DEBUG; if ($url =~ /^file:/) { my $l; @@ -2574,7 +2594,7 @@ sub hosteasy { $self->debug("without URI::URL we try local file $l") if $CPAN::DEBUG; } if ( -f $l && -r _) { - $Thesite = $i; + $Thesite = $ro_url; return $l; } # Maybe mirror has compressed it? @@ -2582,7 +2602,7 @@ sub hosteasy { $self->debug("found compressed $l.gz") if $CPAN::DEBUG; CPAN::Tarzip->new("$l.gz")->gunzip($aslocal); if ( -f $aslocal) { - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } } @@ -2600,7 +2620,7 @@ sub hosteasy { } my $res = $Ua->mirror($url, $aslocal); if ($res->is_success) { - $Thesite = $i; + $Thesite = $ro_url; my $now = time; utime $now, $now, $aslocal; # download time is more # important than upload time @@ -2614,7 +2634,7 @@ sub hosteasy { if ($res->is_success && CPAN::Tarzip->new("$aslocal.gz")->gunzip($aslocal) ) { - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } } else { @@ -2642,7 +2662,7 @@ sub hosteasy { $self->debug("getfile[$getfile]dir[$dir]host[$host]" . "aslocal[$aslocal]") if $CPAN::DEBUG; if (CPAN::FTP->ftp_get($host,$dir,$getfile,$aslocal)) { - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } if ($aslocal !~ /\.gz(?!\n)\Z/) { @@ -2656,7 +2676,7 @@ sub hosteasy { $gz) && CPAN::Tarzip->new($gz)->gunzip($aslocal) ){ - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } } @@ -2667,6 +2687,7 @@ sub hosteasy { } } +# package CPAN::FTP; sub hosthard { my($self,$host_seq,$file,$aslocal) = @_; @@ -2674,15 +2695,13 @@ sub hosthard { # failed otherwise) Maybe they are behind a firewall, but they # gave us a socksified (or other) ftp program... - my($i); + my($ro_url); my($devnull) = $CPAN::Config->{devnull} || ""; # < /dev/null "; my($aslocal_dir) = File::Basename::dirname($aslocal); File::Path::mkpath($aslocal_dir); - HOSTHARD: for $i (@$host_seq) { - my $url = $CPAN::Config->{urllist}[$i] || $CPAN::Defaultsite; - $url .= "/" unless substr($url,-1) eq "/"; - $url .= $file; + HOSTHARD: for $ro_url (@$host_seq) { + my $url = "$ro_url$file"; my($proto,$host,$dir,$getfile); # Courtesy Mark Conty mark_conty@cargill.com change from @@ -2755,7 +2774,7 @@ Trying with "$funkyftp$src_switch" to get CPAN::Tarzip->new($asl_gz)->gzip($asl_ungz); } } - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } elsif ($url !~ /\.gz(?!\n)\Z/) { unlink $asl_ungz if @@ -2782,7 +2801,7 @@ Trying with "$funkyftp$src_switch" to get # somebody uncompressed file for us? rename $asl_ungz, $aslocal; } - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } else { unlink $asl_gz if -f $asl_gz; @@ -2802,21 +2821,35 @@ returned status $estatus (wstat $wstatus)$size } # host } +# package CPAN::FTP; sub hosthardest { my($self,$host_seq,$file,$aslocal) = @_; - my($i); + my($ro_url); my($aslocal_dir) = File::Basename::dirname($aslocal); File::Path::mkpath($aslocal_dir); my $ftpbin = $CPAN::Config->{ftp}; - HOSTHARDEST: for $i (@$host_seq) { - unless (length $ftpbin && MM->maybe_command($ftpbin)) { - $CPAN::Frontend->myprint("No external ftp command available\n\n"); - last HOSTHARDEST; - } - my $url = $CPAN::Config->{urllist}[$i] || $CPAN::Defaultsite; - $url .= "/" unless substr($url,-1) eq "/"; - $url .= $file; + unless (length $ftpbin && MM->maybe_command($ftpbin)) { + $CPAN::Frontend->myprint("No external ftp command available\n\n"); + return; + } + $CPAN::Frontend->myprint(qq{ +As a last ressort we now switch to the external ftp command '$ftpbin' +to get '$aslocal'. + +Doing so often leads to problems that are hard to diagnose, even endless +loops may be encountered. + +If you're victim of such problems, please consider unsetting the ftp +config variable with + + o conf ftp "" + o conf commit + +}); + $CPAN::Frontend->mysleep(4); + HOSTHARDEST: for $ro_url (@$host_seq) { + my $url = "$ro_url$file"; $self->debug("localizing ftpwise[$url]") if $CPAN::DEBUG; unless ($url =~ m|^ftp://(.*?)/(.*)/(.*)|) { next; @@ -2847,12 +2880,21 @@ sub hosthardest { $netrc->hasdefault, $netrc->contains($host))) if $CPAN::DEBUG; if ($netrc->protected) { + my $dialog = join "", map { " $_\n" } @dialog; + my $netrc_explain; + if ($netrc->contains($host)) { + $netrc_explain = "Relying that your .netrc entry for '$host' ". + "manages the login"; + } else { + $netrc_explain = "Relying that your default .netrc entry ". + "manages the login"; + } $CPAN::Frontend->myprint(qq{ Trying with external ftp to get $url - As this requires some features that are not thoroughly tested, we\'re - not sure, that we get it right.... - + $netrc_explain + Going to send the dialog +$dialog } ); $self->talk_ftp("$ftpbin$verbose $host", @@ -2862,7 +2904,7 @@ sub hosthardest { $mtime ||= 0; if ($mtime > $timestamp) { $CPAN::Frontend->myprint("GOT $aslocal\n"); - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } else { $CPAN::Frontend->myprint("Hmm... Still failed!\n"); @@ -2886,13 +2928,21 @@ sub hosthardest { "open $host", "user anonymous $Config::Config{'cf_email'}" ); + my $dialog = join "", map { " $_\n" } @dialog; + $CPAN::Frontend->myprint(qq{ + Trying with external ftp to get + $url + Going to send the dialog +$dialog +} + ); $self->talk_ftp("$ftpbin$verbose -n", @dialog); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat($aslocal); $mtime ||= 0; if ($mtime > $timestamp) { $CPAN::Frontend->myprint("GOT $aslocal\n"); - $Thesite = $i; + $Thesite = $ro_url; return $aslocal; } else { $CPAN::Frontend->myprint("Bad luck... Still failed!\n"); @@ -2903,6 +2953,7 @@ sub hosthardest { } # host } +# package CPAN::FTP; sub talk_ftp { my($self,$command,@dialog) = @_; my $fh = FileHandle->new; @@ -2986,6 +3037,7 @@ sub ls { package CPAN::FTP::netrc; use strict; +# package CPAN::FTP::netrc; sub new { my($class) = @_; my $file = File::Spec->catfile($ENV{HOME},".netrc"); @@ -3029,7 +3081,7 @@ sub new { }, $class; } -# CPAN::FTP::hasdefault; +# CPAN::FTP::netrc::hasdefault; sub hasdefault { shift->{'hasdefault'} } sub netrc { shift->{'netrc'} } sub protected { shift->{'protected'} } @@ -3822,6 +3874,7 @@ sub ls { $CPAN::Frontend->myprint(join "", map { sprintf("%8d %10s %s/%s\n", $_->[0], $_->[1], $id, $_->[2]) } sort { $a->[2] cmp $b->[2] } @dl); + @dl; } # returns an array of arrays, the latter contain (size,mtime,filename) @@ -5119,6 +5172,17 @@ sub prereq_pm { } $req = $areq if $do_replace; } + if ($yaml->{build_requires} + && ref $yaml->{build_requires} + && ref $yaml->{build_requires} eq "HASH") { + while (my($k,$v) = each %{$yaml->{build_requires}}) { + if ($req->{$k}) { + # merging of two "requires"-type values--what should we do? + } else { + $req->{$k} = $v; + } + } + } if ($req) { delete $req->{perl}; } @@ -5993,7 +6057,7 @@ sub as_glimpse { $color_on, $self->id, $color_off, - $self->distribution->pretty_id, + $self->distribution ? $self->distribution->pretty_id : $self->id, ); join "", @m; } @@ -6573,11 +6637,11 @@ plain text format. =item ls author -=item ls globbing_expresion +=item ls globbing_expression The first form lists all distribution files in and below an author's -CPAN directory as they are stored in the CHECKUMS files distrbute on -CPAN. +CPAN directory as they are stored in the CHECKUMS files distributed on +CPAN. The listing goes recursive into all subdirectories. The second form allows to limit or expand the output with shell globbing as in the following examples: @@ -6589,6 +6653,10 @@ globbing as in the following examples: The last example is very slow and outputs extra progress indicators that break the alignment of the result. +Note that globbing only lists directories explicitly asked for, for +example FOO/* will not list FOO/bar/Acme-Sthg-n.nn.tar.gz. This may be +regarded as a bug and may be changed in future versions. + =item failed The C command reports all distributions that failed on one of @@ -6727,7 +6795,8 @@ list. Like expand, but returns objects of the appropriate type, i.e. CPAN::Bundle objects for bundles, CPAN::Module objects for modules and -CPAN::Distribution objects fro distributions. +CPAN::Distribution objects for distributions. Note: it does not expand +to CPAN::Author objects. =item Programming Examples @@ -7235,17 +7304,18 @@ defined: build_cache size of cache for directories to build modules build_dir locally accessible directory to build modules - index_expire after this many days refetch index files cache_metadata use serializer to cache metadata cpan_home local directory reserved for this package dontload_hash anonymous hash: modules in the keys will not be loaded by the CPAN::has_inst() routine + getcwd see below gzip location of external program gzip histfile file to maintain history between sessions histsize maximum number of lines to keep in histfile inactivity_timeout breaks interactive Makefile.PLs or Build.PLs after this many seconds inactivity. Set to 0 to never break. + index_expire after this many days refetch index files inhibit_startup_message if true, does not print the startup message keep_source_where directory in which to keep the source (if we do) @@ -7310,6 +7380,18 @@ works like the corresponding perl commands. =back +=head2 Not on config variable getcwd + +CPAN.pm changes the current working directory often and needs to +determine its own current working directory. Per default it uses +Cwd::cwd but if this doesn't work on your system for some reason, +alternatives can be configured according to the following table: + + cwd Cwd::cwd + getcwd Cwd::getcwd + fastcwd Cwd::fastcwd + backtickcwd external command cwd + =head2 Note on urllist parameter's format urllist parameters are URLs according to RFC 1738. We do a little @@ -7565,7 +7647,7 @@ that your root user installed. The following command sequence is a possible approach: % mkdir -p $HOME/.cpan/CPAN - % echo '$CPAN::Config={ };' > $HOME/.cpan/CPAN/MyConfig.pm + % echo '1;' > $HOME/.cpan/CPAN/MyConfig.pm % cpan [...answer all questions...] diff --git a/lib/CPAN/FirstTime.pm b/lib/CPAN/FirstTime.pm index e6ea570..269f8d1 100644 --- a/lib/CPAN/FirstTime.pm +++ b/lib/CPAN/FirstTime.pm @@ -2,7 +2,7 @@ package CPAN::Mirrored::By; use strict; use vars qw($VERSION); -$VERSION = sprintf "%.2f", substr(q$Rev: 450 $,4)/100; +$VERSION = sprintf "%.2f", substr(q$Rev: 469 $,4)/100; sub new { my($self,@arg) = @_; @@ -21,7 +21,7 @@ use File::Basename (); use File::Path (); use File::Spec; use vars qw($VERSION); -$VERSION = sprintf "%.2f", substr(q$Rev: 450 $,4)/100; +$VERSION = sprintf "%.2f", substr(q$Rev: 469 $,4)/100; =head1 NAME @@ -395,9 +395,10 @@ Shall we use it as the general CPAN build and cache directory? conf_sites() unless $fastread; - # We don't ask that now, it will be noticed in time, won't it? - $CPAN::Config->{'inhibit_startup_message'} = 0; - $CPAN::Config->{'getcwd'} = 'cwd'; + # We don't ask these now, the defaults are very likely OK. + $CPAN::Config->{inhibit_startup_message} = 0; + $CPAN::Config->{getcwd} = 'cwd'; + $CPAN::Config->{ftp_passive} = 1; $CPAN::Frontend->myprint("\n\n"); CPAN::HandleConfig->commit($configpm); diff --git a/lib/CPAN/HandleConfig.pm b/lib/CPAN/HandleConfig.pm index e9859e5..e52a3b2 100644 --- a/lib/CPAN/HandleConfig.pm +++ b/lib/CPAN/HandleConfig.pm @@ -2,7 +2,7 @@ package CPAN::HandleConfig; use strict; use vars qw(%can %keys $dot_cpan $VERSION); -$VERSION = sprintf "%.2f", substr(q$Rev: 431 $,4)/100; +$VERSION = sprintf "%.2f", substr(q$Rev: 469 $,4)/100; %can = ( 'commit' => "Commit changes to disk", @@ -14,7 +14,7 @@ $VERSION = sprintf "%.2f", substr(q$Rev: 431 $,4)/100; build_cache build_dir bzip2 cache_metadata commandnumber_in_prompt cpan_home curl dontload_hash - ftp ftp_proxy + ftp ftp_passive ftp_proxy getcwd gpg gzip histfile histsize http_proxy inactivity_timeout index_expire inhibit_startup_message @@ -79,7 +79,10 @@ sub edit { undef $CPAN::FTP::Themethod; } return $changed; - } else { + } elsif ($o =~ /_hash$/) { + push @args, "" if @args % 2; + $CPAN::Config->{$o} = { @args }; + } else { $CPAN::Config->{$o} = $args[0] if defined $args[0]; $self->prettyprint($o); } @@ -161,7 +164,7 @@ EOF foreach (sort keys %$CPAN::Config) { $fh->print( " '$_' => ", - ExtUtils::MakeMaker::neatvalue($CPAN::Config->{$_}), + $self->neatvalue($CPAN::Config->{$_}), ",\n" ); } @@ -176,7 +179,33 @@ EOF 1; } -*default = \&defaults; +# stolen from MakeMaker; not taking the original because it is buggy; +# bugreport will have to say: keys of hashes remain unquoted and can +# produce syntax errors +sub neatvalue { + my($self, $v) = @_; + return "undef" unless defined $v; + my($t) = ref $v; + return "q[$v]" unless $t; + if ($t eq 'ARRAY') { + my(@m, @neat); + push @m, "["; + foreach my $elem (@$v) { + push @neat, "q[$elem]"; + } + push @m, join ", ", @neat; + push @m, "]"; + return join "", @m; + } + return "$v" unless $t eq 'HASH'; + my(@m, $key, $val); + while (($key,$val) = each %$v){ + last unless defined $key; # cautious programming in case (undef,undef) is true + push(@m,"q[$key]=>".$self->neatvalue($val)) ; + } + return "{ ".join(', ',@m)." }"; +} + sub defaults { my($self) = @_; my $done; @@ -389,7 +418,7 @@ package ####::###### #hide from indexer use strict; use vars qw($AUTOLOAD $VERSION); -$VERSION = sprintf "%.2f", substr(q$Rev: 431 $,4)/100; +$VERSION = sprintf "%.2f", substr(q$Rev: 469 $,4)/100; # formerly CPAN::HandleConfig was known as CPAN::Config sub AUTOLOAD { @@ -404,5 +433,5 @@ sub AUTOLOAD { __END__ # Local Variables: # mode: cperl -# cperl-indent-level: 2 +# cperl-indent-level: 4 # End: diff --git a/lib/CPAN/SIGNATURE b/lib/CPAN/SIGNATURE index b33fdc8..f356bc9 100644 --- a/lib/CPAN/SIGNATURE +++ b/lib/CPAN/SIGNATURE @@ -16,24 +16,24 @@ Hash: SHA1 SHA1 d73dfb45123f36ff3e574eff09b95847c5d085be ChangeLog SHA1 9b97524a7a91c815e46b19302a33829d3c26bbbf ChangeLog.old -SHA1 abe9c38d6e83d5e51c9138cbc1b716080a8746a7 Changes +SHA1 138d81e94ae5622b702958e9f82b12efd5c212fd Changes SHA1 a029ffa2f2252bb8914eb658666244710994d256 Changes.old SHA1 b3fc1dfd25885b80d144cf817b9f0b1c88fe41d6 MANIFEST -SHA1 6abf20ed9cb6c55d6c8062841522a5b6b784f074 MANIFEST.SKIP -SHA1 793e2950ccefbe8e29d9560d287649e3cd2d310e META.yml -SHA1 69ee10278f731ff4dc2d8538613d8d7cf929872c Makefile.PL +SHA1 b20081c83b148a15c6a123bde27825c8288a19db MANIFEST.SKIP +SHA1 c87e310507cb8c99009145ac23bd6404fc2cd9d8 META.yml +SHA1 05b99abbcfa0bc8b19782c4ff95da0fa5c25e2da Makefile.PL SHA1 37e858c51409a297ef5d3fb35dc57cd3b57f9a4d PAUSE2003.pub SHA1 af016003ad503ed078c5f8254521d13a3e0c494f PAUSE2005.pub -SHA1 92942e97152224fced7e6185571bc6199f29ff80 README -SHA1 e1f7de588d0b1426a7a32c54995a0a00274bb01e Todo +SHA1 5ef5bb7269c7ce8aaf6403fd2dc364e82525d27c README +SHA1 48b8d4c811d2098762ee6c05dd1d458e6fdff990 Todo SHA1 efbe8e6882a2caa0d741b113959a706830ab5882 inc/Test/Builder.pm SHA1 ae1d68262bedc2475e2c6fd478d99b259b4fb109 inc/Test/More.pm SHA1 06a0406535e8ae4057e374d4ea8cd5b105483803 lib/Bundle/CPAN.pm -SHA1 c8788190b668581d0a5a953f114153c92d957a05 lib/CPAN.pm +SHA1 edd907a918dfefa14e164acd709473dd18d7c4bc lib/CPAN.pm SHA1 104fd2b39fdba692143655b53bcf01d36c8ebf68 lib/CPAN/Admin.pm SHA1 82acb5a70221cd4ebc82e96f95f537018e39c79e lib/CPAN/Debug.pm -SHA1 15ab48da83df4d3814ee7a5b6a4632a827f4d25c lib/CPAN/FirstTime.pm -SHA1 80c55a1dd290dbd34eb7f53ad65d15a3e0d309f7 lib/CPAN/HandleConfig.pm +SHA1 15b207860f9642b5b3313d1cea4843f9bd0ea0d2 lib/CPAN/FirstTime.pm +SHA1 836a525c6ab79bf90175ab0d353c2c134eabf204 lib/CPAN/HandleConfig.pm SHA1 4fa9695417b54fc8d4e29684ad61689bc108274b lib/CPAN/Nox.pm SHA1 e85202a30802f3cd86e67af649ba219d97b0925c lib/CPAN/Tarzip.pm SHA1 726e924200e3e2fda54caa4eddf7029a02f43efe lib/CPAN/Version.pm @@ -50,7 +50,7 @@ SHA1 b505a0db80ed4c835ad5676e9d1cbf09c86e6c34 t/version.t -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) -iD8DBQFD03Q37IA58KMXwV0RAg3QAJ0TPGVcxlS+23QWCLFnigaGigOv3wCg+GS3 -091V7NyoeNk015bmr3m+HXc= -=/DSm +iD8DBQFD13cm7IA58KMXwV0RAtYQAKCSH0kNMNtkpoPUJxee9YO/2nwbLgCeJxme +qV+u9LyVOVEpi7L2IrVMJPk= +=dy0j -----END PGP SIGNATURE-----