lib/CPAN/PAUSE2003.pub CPAN public key
lib/CPAN/PAUSE2005.pub CPAN public key
lib/CPAN/PAUSE2007.pub CPAN public key
+lib/CPAN/PAUSE2009.pub CPAN public key
lib/CPANPLUS/Backend.pm CPANPLUS
lib/CPANPLUS/Backend/RV.pm CPANPLUS
lib/CPANPLUS/bin/cpan2dist the cpan2dist utility
# vim: ts=4 sts=4 sw=4:
use strict;
package CPAN;
-$CPAN::VERSION = '1.9301';
+$CPAN::VERSION = '1.93_03'; # make the _03 a dev release and release it as 1.9304 after merge into blead
$CPAN::VERSION =~ s/_//;
# we need to run chdir all over and we would get at wrong libraries
'?' => \"help",
'!' => "eval the rest of the line as perl",
a => "whois author",
- autobundle => "wtite inventory into a bundle file",
+ autobundle => "write inventory into a bundle file",
b => "info about bundle",
bye => \"quit",
clean => "clean up a distribution's build directory",
failed => "list all failed actions within current session",
fforce => "redo a command from scratch",
force => "redo a command",
+ get => "download a distribution",
h => \"help",
help => "overview over commands; 'help ...' explains specific commands",
hosts => "statistics about recently used hosts",
q => \"quit",
quit => "leave the cpan shell",
r => "review over upgradeable modules",
- readme => "display the README of a distro woth a pager",
+ readme => "display the README of a distro with a pager",
recent => "show recent uploads to the CPAN",
# recompile
reload => "'reload cpan' or 'reload index'",
# XXX
# $_->{build_dir_reuse} = 0; # 2006-11-17 akoenig Why was that?
$_->{commandnumber_in_prompt} = 0; # visibility
- $_->{histfile} = ""; # who should win otherwise?
- $_->{cache_metadata} = 0; # better would be a lock?
- $_->{use_sqlite} = 0; # better would be a write lock!
+ $_->{histfile} = ""; # who should win otherwise?
+ $_->{cache_metadata} = 0; # better would be a lock?
+ $_->{use_sqlite} = 0; # better would be a write lock!
+ $_->{auto_commit} = 0; # we are violent, do not persist
+ $_->{test_report} = 0; # Oliver Paukstadt had sent wrong reports in degraded mode
}
} else {
$CPAN::Frontend->mydie("
if ($connect_to_internet_ok) {
@urllist = @CPAN::Defaultsites;
} else {
+ my $sleep = 5;
+ $CPAN::Frontend->mywarn(sprintf qq{
+
+You have not configured a urllist and did not allow to connect to the
+internet. I will continue but it is very likely that we will face
+problems. If this happens, please consider to call either
+
+ o conf init connect_to_internet_ok
+or
+ o conf init urllist
+
+Sleeping $sleep seconds now.
+});
+ $CPAN::Frontend->mysleep($sleep);
@urllist = ();
}
} else {
)) {
delete $do->{$skipper};
}
- # $DB::single = 1;
if ($do->tested_ok_but_not_installed) {
$CPAN::META->is_tested($do->{build_dir},$do->{make_test}{TIME});
}
return unless -f $yaml;
my $early_yaml;
eval {
- require Parse::Metayaml; # hypothetical
- $early_yaml = Parse::Metayaml::LoadFile($yaml)->[0];
+ require Parse::CPAN::Meta;
+ $early_yaml = Parse::CPAN::Meta::LoadFile($yaml)->[0];
};
unless ($early_yaml) {
eval { $early_yaml = CPAN->_yaml_loadfile($yaml)->[0]; };
my(@good_prereq_tuples);
for my $p (@prereq_tuples) {
# XXX watch out for foul ones
- # $DB::single++;
push @good_prereq_tuples, $p;
}
my $pretty_id = $self->pretty_id;
if (my $goto = $self->prefs->{goto}) {
return $self->goto($goto);
}
- # $DB::single=1;
unless ($self->{badtestcnt}) {
$self->test;
}
}
}
delete $self->{force_update};
- # $DB::single = 1;
$self->store_persistent_state;
}
my $cpanid = $d->cpanid; # "GBARR"
my $distvname = $d->distvname; # "CPAN-DistnameInfo-0.02"
- my $url = sprintf "http://cpantesters.perl.org/show/%s.yaml", $dist;
+ my $url = sprintf "http://www.cpantesters.org/show/%s.yaml", $dist;
CPAN::LWP::UserAgent->config;
my $Ua;
=item CPAN::Distribution::reports()
-Downloads report data for this distribution from cpantesters.perl.org
+Downloads report data for this distribution from www.cpantesters.org
and displays a subset of them.
=item CPAN::Distribution::read_yaml()
use File::Path ();
use File::Spec ();
use vars qw($VERSION $urllist);
-$VERSION = "5.5_01";
+$VERSION = "5.52";
=head1 NAME
#= MIRRORED.BY and conf_sites()
#
- my_yn_prompt("connect_to_internet_ok" => 1, $matcher);
+ # remember, this is only triggered if no urllist is given, so 0 is
+ # fair and protects the default site from being overloaded and
+ # gives the user more chances to select his own urllist.
+ my_yn_prompt("connect_to_internet_ok" => 0, $matcher);
if ($matcher) {
if ("urllist" =~ $matcher) {
# conf_sites would go into endless loop with the smash prompt
my ($item, $dflt, $m) = @_;
my $default = $CPAN::Config->{$item} || $dflt;
- $DB::single = 1;
if (!$m || $item =~ /$m/) {
if (my $intro = $prompts{$item . "_intro"}) {
$CPAN::Frontend->myprint($intro);
my $default = $CPAN::Config->{$item} || $dflt;
my $ans;
- $DB::single = 1;
if (!$m || $item =~ /$m/) {
$CPAN::Frontend->myprint($prompts{$item . "_intro"});
$CPAN::Frontend->myprint(" <$item>\n");
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+mQGiBD4+cJARBACxOByY0SJBBuJoFrH2hoqRFny423gY6V3jq1uTgGY/PPaxP+Sq
+r3RzxPct4vJcsoo48pwBsMHLrWfORq26zb6eKgmMq/CQo2gzaRbeRxCi3ke4KBmu
+aREi6RjaZSU94yABtDmspUBrpYV8zfZMv5ZIQlg9W1Tu66BFOUrrNeDpKwCgosCp
+9dtNAMhHkzxs8UJH5i3Uzb0D/0VLoAE8sOfUXqjc38rxiHuGBFSNC70Ih4mzGUCJ
+MGT4z1X3K6uUawnXMoc8XqPaYnEgOzztMymydtr+urjUwcGnuXDSpV6nulE5irxh
+zlikSTJy/42QzTMcrdRynffmJo9PRgymMI8GgWaYG5g3zzGAhi5BA6G8JKfC93IV
+xiRPBACXJpLBYQljqJY9UDNJuq8nHhKiWHBXdZzrC3LM0FSF3PKuP/ugc+KBIKXm
+clNPNFKla/SRbH6dMHsGIy8wnGPI5AtTS0roNQrttv3/ghRT7+OKXrGmBxZ/KHVr
+v3PVgiRA5MDr1mIsovfuc9WQnFu2TkgnN/F3pDcrVVSi5b+rZLQzUEFVU0UgQmF0
+Y2ggU2lnbmluZyBLZXkgMjAwNyA8cGF1c2VAcGF1c2UucGVybC5vcmc+iGYEExEC
+ACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCSXjfkAUJD850gAAKCRAyjahn
+RQ+J7CnPAJ9gnTiIu532a8hxfBiSXfifTbSxaQCfXrrAg8QnRrpr//n7anf4Cife
+2D20M1BBVVNFIEJhdGNoIFNpZ25pbmcgS2V5IDIwMDUgPHBhdXNlQHBhdXNlLnBl
+cmwub3JnPohkBBMRAgAkAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJJeN+QBQkP
+znSAAAoJEDKNqGdFD4nsRTMAn1ZQRTgeyvxMjP5jFnih3xOqmmLQAJwKbkN5e52T
+aU5sFKRdg7rL1g9Ad7QzUEFVU0UgQmF0Y2ggU2lnbmluZyBLZXkgMjAwMyA8cGF1
+c2VAcGF1c2UucGVybC5vcmc+iF8EExECAB8ECwcDAgMVAgMDFgIBAh4BAheABQJJ
+eN+QBQkPznSAAAoJEDKNqGdFD4nshpwAn0DDhprbvctI9hGxBQ7qYZDZzD50AJ0Z
+vNSi4hFXgEtXii2GfPEhlHyObrQzUEFVU0UgQmF0Y2ggU2lnbmluZyBLZXkgMjAw
+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
+cVHe2u7+E3qfdy9iNsdAqww=
+=Aadt
+-----END PGP PUBLIC KEY BLOCK-----