summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Module
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Module')
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Base.pm475
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Compat.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Notes.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pm2964
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Module/CoreList/Utils.pm1021
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm167
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Metadata.pm153
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Pluggable.pm110
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm164
32 files changed, 4089 insertions, 1046 deletions
diff --git a/Master/tlpkg/tlperl/lib/Module/Build.pm b/Master/tlpkg/tlperl/lib/Module/Build.pm
index e1fc6cabb6f..fd835fc0659 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build.pm
@@ -16,7 +16,7 @@ use Module::Build::Base;
use vars qw($VERSION @ISA);
@ISA = qw(Module::Build::Base);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
@@ -878,7 +878,7 @@ parameter as follows:
lib => installprivlib installsitelib installvendorlib
arch => installarchlib installsitearch installvendorarch
- script => installscript installsitebin installvendorbin
+ script => installscript installsitescript installvendorscript
bin => installbin installsitebin installvendorbin
bindoc => installman1dir installsiteman1dir installvendorman1dir
libdoc => installman3dir installsiteman3dir installvendorman3dir
@@ -967,24 +967,28 @@ platform you're installing on.
=item prefix
Provided for compatibility with C<ExtUtils::MakeMaker>'s PREFIX argument.
-C<prefix> should be used when you wish Module::Build to install your
-modules, documentation and scripts in the same place
-C<ExtUtils::MakeMaker> does.
+C<prefix> should be used when you want Module::Build to install your
+modules, documentation, and scripts in the same place as
+C<ExtUtils::MakeMaker>'s PREFIX mechanism.
The following are equivalent.
perl Build.PL --prefix /tmp/foo
perl Makefile.PL PREFIX=/tmp/foo
-Because of the very complex nature of the prefixification logic, the
+Because of the complex nature of the prefixification logic, the
behavior of PREFIX in C<MakeMaker> has changed subtly over time.
Module::Build's --prefix logic is equivalent to the PREFIX logic found
in C<ExtUtils::MakeMaker> 6.30.
-If you do not need to retain compatibility with C<ExtUtils::MakeMaker> or
+The maintainers of C<MakeMaker> do understand the troubles with the
+PREFIX mechanism, and added INSTALL_BASE support in version 6.31 of
+C<MakeMaker>, which was released in 2006.
+
+If you don't need to retain compatibility with old versions (pre-6.31) of C<ExtUtils::MakeMaker> or
are starting a fresh Perl installation we recommend you use
C<install_base> instead (and C<INSTALL_BASE> in C<ExtUtils::MakeMaker>).
-See L<Module::Build::Cookbook/Instaling in the same location as
+See L<Module::Build::Cookbook/Installing in the same location as
ExtUtils::MakeMaker> for further information.
@@ -1046,14 +1050,14 @@ perl.
It is risky to make major changes to C<MakeMaker>, since it does so many
things, is so important, and generally works. C<Module::Build> is an
entirely separate package so that I can work on it all I want, without
-worrying about backward compatibility.
+worrying about backward compatibility with C<MakeMaker>.
=item *
Finally, Perl is said to be a language for system administration.
Could it really be the case that Perl isn't up to the task of building
-and installing software? Even if that software is a bunch of stupid
-little C<.pm> files that just need to be copied from one place to
+and installing software? Even if that software is a bunch of
+C<.pm> files that just need to be copied from one place to
another? My sense was that we could design a system to accomplish
this in a flexible, extensible, and friendly manner. Or die trying.
@@ -1083,7 +1087,7 @@ Bug reports are also welcome at
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Build>.
The latest development version is available from the Git
-repository at <https://github.com/dagolden/module-build/>
+repository at <https://github.com/Perl-Toolchain-Gang/Module-Build>
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
index a29f500062c..cf42cc0b230 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
@@ -4,9 +4,11 @@ package Module::Build::Base;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+use warnings;
+
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
-BEGIN { require 5.00503 }
+BEGIN { require 5.006001 }
use Carp;
use Cwd ();
@@ -38,7 +40,9 @@ sub new {
$self->check_manifest;
$self->auto_require;
- if ( $self->check_prereq + $self->check_autofeatures != 2) {
+
+ # All checks must run regardless if one fails, so no short circuiting!
+ if( grep { !$_ } $self->check_prereq, $self->check_autofeatures ) {
$self->log_warn(<<EOF);
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
@@ -142,16 +146,16 @@ sub _construct {
my $config = delete $input{config} || {};
my $self = bless {
- args => {%$args},
- config => Module::Build::Config->new(values => $config),
- properties => {
- base_dir => $package->cwd,
- mb_version => $Module::Build::VERSION,
- %input,
- },
- phash => {},
- stash => {}, # temporary caching, not stored in _build
- }, $package;
+ args => {%$args},
+ config => Module::Build::Config->new(values => $config),
+ properties => {
+ base_dir => $package->cwd,
+ mb_version => $Module::Build::VERSION,
+ %input,
+ },
+ phash => {},
+ stash => {}, # temporary caching, not stored in _build
+ }, $package;
$self->_set_defaults;
my ($p, $ph) = ($self->{properties}, $self->{phash});
@@ -163,7 +167,7 @@ sub _construct {
if (exists $p->{$_}) {
my $vals = delete $p->{$_};
while (my ($k, $v) = each %$vals) {
- $self->$_($k, $v);
+ $self->$_($k, $v);
}
}
}
@@ -250,37 +254,37 @@ sub _default_install_paths {
$p->{install_sets} =
{
core => {
- lib => $c->get('installprivlib'),
- arch => $c->get('installarchlib'),
- bin => $c->get('installbin'),
- script => $c->get('installscript'),
- bindoc => $bindoc,
- libdoc => $libdoc,
- binhtml => $binhtml,
- libhtml => $libhtml,
- },
+ lib => $c->get('installprivlib'),
+ arch => $c->get('installarchlib'),
+ bin => $c->get('installbin'),
+ script => $c->get('installscript'),
+ bindoc => $bindoc,
+ libdoc => $libdoc,
+ binhtml => $binhtml,
+ libhtml => $libhtml,
+ },
site => {
- lib => $c->get('installsitelib'),
- arch => $c->get('installsitearch'),
- bin => $c->get('installsitebin') || $c->get('installbin'),
- script => $c->get('installsitescript') ||
- $c->get('installsitebin') || $c->get('installscript'),
- bindoc => $c->get('installsiteman1dir') || $bindoc,
- libdoc => $c->get('installsiteman3dir') || $libdoc,
- binhtml => $c->get('installsitehtml1dir') || $binhtml,
- libhtml => $c->get('installsitehtml3dir') || $libhtml,
- },
+ lib => $c->get('installsitelib'),
+ arch => $c->get('installsitearch'),
+ bin => $c->get('installsitebin') || $c->get('installbin'),
+ script => $c->get('installsitescript') ||
+ $c->get('installsitebin') || $c->get('installscript'),
+ bindoc => $c->get('installsiteman1dir') || $bindoc,
+ libdoc => $c->get('installsiteman3dir') || $libdoc,
+ binhtml => $c->get('installsitehtml1dir') || $binhtml,
+ libhtml => $c->get('installsitehtml3dir') || $libhtml,
+ },
vendor => {
- lib => $c->get('installvendorlib'),
- arch => $c->get('installvendorarch'),
- bin => $c->get('installvendorbin') || $c->get('installbin'),
- script => $c->get('installvendorscript') ||
- $c->get('installvendorbin') || $c->get('installscript'),
- bindoc => $c->get('installvendorman1dir') || $bindoc,
- libdoc => $c->get('installvendorman3dir') || $libdoc,
- binhtml => $c->get('installvendorhtml1dir') || $binhtml,
- libhtml => $c->get('installvendorhtml3dir') || $libhtml,
- },
+ lib => $c->get('installvendorlib'),
+ arch => $c->get('installvendorarch'),
+ bin => $c->get('installvendorbin') || $c->get('installbin'),
+ script => $c->get('installvendorscript') ||
+ $c->get('installvendorbin') || $c->get('installscript'),
+ bindoc => $c->get('installvendorman1dir') || $bindoc,
+ libdoc => $c->get('installvendorman3dir') || $libdoc,
+ binhtml => $c->get('installvendorhtml1dir') || $binhtml,
+ libhtml => $c->get('installvendorhtml3dir') || $libhtml,
+ },
};
$p->{original_prefix} =
@@ -311,35 +315,35 @@ sub _default_install_paths {
$p->{prefix_relpaths} =
{
core => {
- lib => [@libstyle],
- arch => [@libstyle, $version, $arch],
- bin => ['bin'],
- script => ['bin'],
- bindoc => ['man', 'man1'],
- libdoc => ['man', 'man3'],
- binhtml => ['html'],
- libhtml => ['html'],
- },
+ lib => [@libstyle],
+ arch => [@libstyle, $version, $arch],
+ bin => ['bin'],
+ script => ['bin'],
+ bindoc => ['man', 'man1'],
+ libdoc => ['man', 'man3'],
+ binhtml => ['html'],
+ libhtml => ['html'],
+ },
vendor => {
- lib => [@libstyle],
- arch => [@libstyle, $version, $arch],
- bin => ['bin'],
- script => ['bin'],
- bindoc => ['man', 'man1'],
- libdoc => ['man', 'man3'],
- binhtml => ['html'],
- libhtml => ['html'],
- },
+ lib => [@libstyle],
+ arch => [@libstyle, $version, $arch],
+ bin => ['bin'],
+ script => ['bin'],
+ bindoc => ['man', 'man1'],
+ libdoc => ['man', 'man3'],
+ binhtml => ['html'],
+ libhtml => ['html'],
+ },
site => {
- lib => [@libstyle, 'site_perl'],
- arch => [@libstyle, 'site_perl', $version, $arch],
- bin => ['bin'],
- script => ['bin'],
- bindoc => ['man', 'man1'],
- libdoc => ['man', 'man3'],
- binhtml => ['html'],
- libhtml => ['html'],
- },
+ lib => [@libstyle, 'site_perl'],
+ arch => [@libstyle, 'site_perl', $version, $arch],
+ bin => ['bin'],
+ script => ['bin'],
+ bindoc => ['man', 'man1'],
+ libdoc => ['man', 'man3'],
+ binhtml => ['html'],
+ libhtml => ['html'],
+ },
};
return $p
}
@@ -523,24 +527,24 @@ sub _discover_perl_interpreter {
# Adapted from IPC::Cmd::can_run()
sub find_command {
- my ($self, $command) = @_;
+ my ($self, $command) = @_;
- if( File::Spec->file_name_is_absolute($command) ) {
- return $self->_maybe_command($command);
+ if( File::Spec->file_name_is_absolute($command) ) {
+ return $self->_maybe_command($command);
- } else {
- for my $dir ( File::Spec->path ) {
- my $abs = File::Spec->catfile($dir, $command);
- return $abs if $abs = $self->_maybe_command($abs);
- }
+ } else {
+ for my $dir ( File::Spec->path ) {
+ my $abs = File::Spec->catfile($dir, $command);
+ return $abs if $abs = $self->_maybe_command($abs);
}
+ }
}
# Copied from ExtUtils::MM_Unix::maybe_command
sub _maybe_command {
- my($self,$file) = @_;
- return $file if -x $file && ! -d $file;
- return;
+ my($self,$file) = @_;
+ return $file if -x $file && ! -d $file;
+ return;
}
sub _is_interactive {
@@ -657,7 +661,7 @@ sub features {
while (my ($name, $info) = each %auto_features) {
my $failures = $self->prereq_failures($info);
my $disabled = grep( /^(?:\w+_)?(?:requires|conflicts)$/,
- keys %$failures ) ? 1 : 0;
+ keys %$failures ) ? 1 : 0;
$features{$name} = $disabled ? 0 : 1;
}
%features = (%features, $ph->{features}->access());
@@ -705,22 +709,22 @@ sub ACTION_config_data {
my $notes_pm = File::Spec->catfile($self->blib, 'lib', split /::/, "$notes_name.pm");
return if $self->up_to_date(['Build.PL',
- $self->config_file('config_data'),
- $self->config_file('features')
- ], $notes_pm);
+ $self->config_file('config_data'),
+ $self->config_file('features')
+ ], $notes_pm);
$self->log_verbose("Writing config notes to $notes_pm\n");
File::Path::mkpath(File::Basename::dirname($notes_pm));
Module::Build::Notes->write_config_data
- (
- file => $notes_pm,
- module => $module_name,
- config_module => $notes_name,
- config_data => scalar $self->config_data,
- feature => scalar $self->{phash}{features}->access(),
- auto_features => scalar $self->auto_features,
- );
+ (
+ file => $notes_pm,
+ module => $module_name,
+ config_module => $notes_name,
+ config_data => scalar $self->config_data,
+ feature => scalar $self->{phash}{features}->access(),
+ auto_features => scalar $self->auto_features,
+ );
}
########################################################################
@@ -1173,7 +1177,7 @@ sub dist_version_from {
my $p = $self->{properties};
if ($self->module_name) {
$p->{dist_version_from} ||=
- join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm';
+ join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm';
}
return $p->{dist_version_from} || undef;
}
@@ -1557,17 +1561,17 @@ sub prereq_failures {
my $status = $self->check_installed_status($modname, $spec);
if ($type =~ /^(?:\w+_)?conflicts$/) {
- next if !$status->{ok};
- $status->{conflicts} = delete $status->{need};
- $status->{message} = "$modname ($status->{have}) conflicts with this distribution";
+ next if !$status->{ok};
+ $status->{conflicts} = delete $status->{need};
+ $status->{message} = "$modname ($status->{have}) conflicts with this distribution";
} elsif ($type =~ /^(?:\w+_)?recommends$/) {
- next if $status->{ok};
- $status->{message} = (!ref($status->{have}) && $status->{have} eq '<none>'
- ? "$modname is not installed"
- : "$modname ($status->{have}) is installed, but we prefer to have $spec");
+ next if $status->{ok};
+ $status->{message} = (!ref($status->{have}) && $status->{have} eq '<none>'
+ ? "$modname is not installed"
+ : "$modname ($status->{have}) is installed, but we prefer to have $spec");
} else {
- next if $status->{ok};
+ next if $status->{ok};
}
$out->{$type}{$modname} = $status;
@@ -1638,6 +1642,7 @@ sub perl_version_to_float {
sub _parse_conditions {
my ($self, $spec) = @_;
+ return ">= 0" if not defined $spec;
if ($spec =~ /^\s*([\w.]+)\s*$/) { # A plain number, maybe with dots, letters, and underscores
return (">= $spec");
} else {
@@ -1986,8 +1991,8 @@ sub check_manifest {
$self->log_verbose("Checking whether your kit is complete...\n");
if (my @missed = ExtUtils::Manifest::manicheck()) {
$self->log_warn("WARNING: the following files are missing in your kit:\n",
- "\t", join("\n\t", @missed), "\n",
- "Please inform the author.\n\n");
+ "\t", join("\n\t", @missed), "\n",
+ "Please inform the author.\n\n");
} else {
$self->log_verbose("Looks good\n\n");
}
@@ -2077,8 +2082,8 @@ sub unparse_args {
my @out;
while (my ($k, $v) = each %$args) {
push @out, (UNIVERSAL::isa($v, 'HASH') ? map {+"--$k", "$_=$v->{$_}"} keys %$v :
- UNIVERSAL::isa($v, 'ARRAY') ? map {+"--$k", $_} @$v :
- ("--$k", $v));
+ UNIVERSAL::isa($v, 'ARRAY') ? map {+"--$k", $_} @$v :
+ ("--$k", $v));
}
return @out;
}
@@ -2119,12 +2124,14 @@ sub _translate_option {
return $opt;
}
+my %singular_argument = map { ($_ => 1) } qw/install_base prefix destdir installdir verbose quiet uninst debug sign/;
+
sub _read_arg {
my ($self, $args, $key, $val) = @_;
$key = $self->_translate_option($key);
- if ( exists $args->{$key} ) {
+ if ( exists $args->{$key} and not $singular_argument{$key} ) {
$args->{$key} = [ $args->{$key} ] unless ref $args->{$key};
push @{$args->{$key}}, $val;
} else {
@@ -2215,7 +2222,7 @@ sub read_args {
$args{$_} = [ $args{$_} ] unless ref $args{$_};
foreach my $arg ( @{$args{$_}} ) {
$arg =~ /($opt_re)=(.*)/
- or die "Malformed '$_' argument: '$arg' should be something like 'foo=bar'";
+ or die "Malformed '$_' argument: '$arg' should be something like 'foo=bar'";
$hash{$1} = $2;
}
$args{$_} = \%hash;
@@ -2234,10 +2241,10 @@ sub read_args {
next if !defined $args{$key}{$subkey};
my $subkey_ext = $self->_detildefy($args{$key}{$subkey});
if ( $subkey eq 'html' ) { # translate for compatibility
- $args{$key}{binhtml} = $subkey_ext;
- $args{$key}{libhtml} = $subkey_ext;
+ $args{$key}{binhtml} = $subkey_ext;
+ $args{$key}{libhtml} = $subkey_ext;
} else {
- $args{$key}{$subkey} = $subkey_ext;
+ $args{$key}{$subkey} = $subkey_ext;
}
}
}
@@ -2267,8 +2274,8 @@ sub _merge_arglist {
if ( exists( $opts1->{$key} ) ) {
if ( ref( $val ) eq 'HASH' ) {
while (my ($k, $v) = each %$val) {
- $new_opts{$key}{$k} = $v unless exists( $opts1->{$key}{$k} );
- }
+ $new_opts{$key}{$k} = $v unless exists( $opts1->{$key}{$k} );
+ }
}
} else {
$new_opts{$key} = $val
@@ -2318,8 +2325,8 @@ sub read_modulebuildrc {
$modulebuildrc = $ENV{MODULEBUILDRC};
} elsif ( exists($ENV{MODULEBUILDRC}) ) {
$self->log_warn("WARNING: Can't find resource file " .
- "'$ENV{MODULEBUILDRC}' defined in environment.\n" .
- "No options loaded\n");
+ "'$ENV{MODULEBUILDRC}' defined in environment.\n" .
+ "No options loaded\n");
return ();
} else {
$modulebuildrc = $self->_find_user_config( '.modulebuildrc' );
@@ -2337,9 +2344,9 @@ sub read_modulebuildrc {
if ( $line =~ /^\S/ ) {
if ( $buffer ) {
- my( $action, $options ) = split( /\s+/, $buffer, 2 );
- $options{$action} .= $options . ' ';
- $buffer = '';
+ my( $action, $options ) = split( /\s+/, $buffer, 2 );
+ $options{$action} .= $options . ' ';
+ $buffer = '';
}
$buffer = $line;
} else {
@@ -2394,9 +2401,9 @@ sub merge_args {
$self->{args} ;
if ($additive{$key}) {
- $add_to->{$_} = $val->{$_} foreach keys %$val;
+ $add_to->{$_} = $val->{$_} foreach keys %$val;
} else {
- $add_to->{$key} = $val;
+ $add_to->{$key} = $val;
}
}
}
@@ -2687,7 +2694,7 @@ sub generic_test {
# Make sure we test the module in blib/
unshift @INC, (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'),
- File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
+ File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
# Filter out nonsensical @INC entries - some versions of
# Test::Harness will really explode the number of entries here
@@ -2825,7 +2832,7 @@ sub ACTION_testcover {
$self->do_system(qw(cover -delete))
unless $self->up_to_date($pm_files, $cover_files)
- && $self->up_to_date($self->test_files, $cover_files);
+ && $self->up_to_date($self->test_files, $cover_files);
}
local $Test::Harness::switches =
@@ -2996,14 +3003,14 @@ sub find_PL_files {
if (UNIVERSAL::isa($files, 'ARRAY')) {
return { map {$_, [/^(.*)\.PL$/]}
- map $self->localize_file_path($_),
- @$files };
+ map $self->localize_file_path($_),
+ @$files };
} elsif (UNIVERSAL::isa($files, 'HASH')) {
my %out;
while (my ($file, $to) = each %$files) {
- $out{ $self->localize_file_path($file) } = [ map $self->localize_file_path($_),
- ref $to ? @$to : ($to) ];
+ $out{ $self->localize_file_path($file) } = [ map $self->localize_file_path($_),
+ ref $to ? @$to : ($to) ];
}
return \%out;
@@ -3042,8 +3049,8 @@ sub find_test_files {
if (my $files = $p->{test_files}) {
$files = [keys %$files] if UNIVERSAL::isa($files, 'HASH');
$files = [map { -d $_ ? $self->expand_test_dir($_) : $_ }
- map glob,
- $self->split_like_shell($files)];
+ map glob,
+ $self->split_like_shell($files)];
# Always given as a Unix file spec.
return [ map $self->localize_file_path($_), @$files ];
@@ -3067,9 +3074,9 @@ sub _find_file_by_type {
return {} unless -d $dir;
return { map {$_, $_}
- map $self->localize_file_path($_),
- grep !/\.\#/,
- @{ $self->rscan_dir($dir, $self->file_qr("\\.$type\$")) } };
+ map $self->localize_file_path($_),
+ grep !/\.\#/,
+ @{ $self->rscan_dir($dir, $self->file_qr("\\.$type\$")) } };
}
sub localize_file_path {
@@ -3192,8 +3199,8 @@ sub _is_default_installable {
my $type = shift;
return ( $self->install_destination($type) &&
( $self->install_path($type) ||
- $self->install_sets($self->installdirs)->{$type} )
- ) ? 1 : 0;
+ $self->install_sets($self->installdirs)->{$type} )
+ ) ? 1 : 0;
}
sub _is_ActivePerl {
@@ -3248,7 +3255,7 @@ sub manify_bin_pods {
# This is expected to change in a future version (Pod::Simple > 3.03).
my $parser = Pod::Man->new( section => 1 ); # binaries go in section 1
my $manpage = $self->man1page_name( $file ) . '.' .
- $self->config( 'man1ext' );
+ $self->config( 'man1ext' );
my $outfile = File::Spec->catfile($mandir, $manpage);
next if $self->up_to_date( $file, $outfile );
$self->log_verbose("Manifying $file -> $outfile\n");
@@ -3273,7 +3280,7 @@ sub manify_lib_pods {
# This is expected to change in a future version (Pod::Simple > 3.03).
my $parser = Pod::Man->new( section => 3 ); # libraries go in section 3
my $manpage = $self->man3page_name( $relfile ) . '.' .
- $self->config( 'man3ext' );
+ $self->config( 'man3ext' );
my $outfile = File::Spec->catfile( $mandir, $manpage);
next if $self->up_to_date( $file, $outfile );
$self->log_verbose("Manifying $file -> $outfile\n");
@@ -3292,7 +3299,7 @@ sub _find_pods {
FILE: foreach my $file ( @{ $self->rscan_dir( $dir ) } ) {
foreach my $regexp ( @{ $args{exclude} } ) {
- next FILE if $file =~ $regexp;
+ next FILE if $file =~ $regexp;
}
$files{$file} = File::Spec->abs2rel($file, $dir) if $self->contains_pod( $file )
}
@@ -3542,8 +3549,8 @@ sub ACTION_diff {
my $installed = Module::Build::ModuleInfo->find_module_by_name(
join('::', @parts), \@myINC );
if (not $installed) {
- print "Only in lib: $file\n";
- next;
+ print "Only in lib: $file\n";
+ next;
}
my $status = File::Compare::compare($installed, $file);
@@ -3551,9 +3558,9 @@ sub ACTION_diff {
die "Can't compare $installed and $file: $!" if $status == -1;
if ($file =~ $text_suffix) {
- $self->do_system('diff', @flags, $installed, $file);
+ $self->do_system('diff', @flags, $installed, $file);
} else {
- print "Binary files $file and $installed differ\n";
+ print "Binary files $file and $installed differ\n";
}
}
}
@@ -3742,12 +3749,12 @@ sub ACTION_ppmdist {
foreach my $file ( @$files ) {
next unless -f $file;
my $rel_file =
- File::Spec->abs2rel( File::Spec->rel2abs( $file ),
- File::Spec->rel2abs( $dir ) );
+ File::Spec->abs2rel( File::Spec->rel2abs( $file ),
+ File::Spec->rel2abs( $dir ) );
my $to_file =
- File::Spec->catfile( $ppm, 'blib',
- exists( $types{$type} ) ? $types{$type} : $type,
- $rel_file );
+ File::Spec->catfile( $ppm, 'blib',
+ exists( $types{$type} ) ? $types{$type} : $type,
+ $rel_file );
$self->copy_if_modified( from => $file, to => $to_file );
}
}
@@ -3996,14 +4003,14 @@ EOF
my $old_parse_file;
$old_parse_file = \&{"Pod::Simple::parse_file"}
- and
+ and
local *{"Pod::Simple::parse_file"} = sub {
- my $self = shift;
- $self->output_fh($_[1]) if $_[1];
- $self->$old_parse_file($_[0]);
+ my $self = shift;
+ $self->output_fh($_[1]) if $_[1];
+ $self->$old_parse_file($_[0]);
}
if $Pod::Text::VERSION
- == 3.01; # Split line to avoid evil version-finder
+ == 3.01; # Split line to avoid evil version-finder
Pod::Text::pod2text( $docfile, $fh );
@@ -4083,14 +4090,14 @@ sub ACTION_disttest {
$self->_do_in_dir
( $self->dist_dir,
sub {
- # XXX could be different names for scripts
-
- $self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
- or die "Error executing 'Build.PL' in dist directory: $!";
- $self->run_perl_script('Build')
- or die "Error executing 'Build' in dist directory: $!";
- $self->run_perl_script('Build', [], ['test'])
- or die "Error executing 'Build test' in dist directory";
+ # XXX could be different names for scripts
+
+ $self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
+ or die "Error executing 'Build.PL' in dist directory: $!";
+ $self->run_perl_script('Build')
+ or die "Error executing 'Build' in dist directory: $!";
+ $self->run_perl_script('Build', [], ['test'])
+ or die "Error executing 'Build test' in dist directory";
});
}
@@ -4729,7 +4736,7 @@ sub prepare_metadata {
my $pkgs = eval { $self->find_dist_packages };
if ($@) {
$self->log_warn("$@\nWARNING: Possible missing or corrupt 'MANIFEST' file.\n" .
- "Nothing to enter for 'provides' field in metafile.\n");
+ "Nothing to enter for 'provides' field in metafile.\n");
} else {
$node->{provides} = $pkgs if %$pkgs;
}
@@ -4741,9 +4748,9 @@ sub prepare_metadata {
$add_node->('generated_by', "Module::Build version $Module::Build::VERSION");
$add_node->('meta-spec',
- {version => '1.4',
- url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
- });
+ {version => '1.4',
+ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ });
while (my($k, $v) = each %{$self->meta_add}) {
$add_node->($k, $v);
@@ -4834,42 +4841,42 @@ sub find_packages_in_files {
if ( exists( $prime{$package} ) ) { # primary package selected
if ( $result->{err} ) {
- # Use the selected primary package, but there are conflicting
- # errors among multiple alternative packages that need to be
- # reported
+ # Use the selected primary package, but there are conflicting
+ # errors among multiple alternative packages that need to be
+ # reported
$self->log_warn(
- "Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- $result->{err}
+ "Found conflicting versions for package '$package'\n" .
+ " $prime{$package}{file} ($prime{$package}{version})\n" .
+ $result->{err}
);
} elsif ( defined( $result->{version} ) ) {
- # There is a primary package selected, and exactly one
- # alternative package
-
- if ( exists( $prime{$package}{version} ) &&
- defined( $prime{$package}{version} ) ) {
- # Unless the version of the primary package agrees with the
- # version of the alternative package, report a conflict
- if ( $self->compare_versions( $prime{$package}{version}, '!=',
- $result->{version} ) ) {
+ # There is a primary package selected, and exactly one
+ # alternative package
+
+ if ( exists( $prime{$package}{version} ) &&
+ defined( $prime{$package}{version} ) ) {
+ # Unless the version of the primary package agrees with the
+ # version of the alternative package, report a conflict
+ if ( $self->compare_versions( $prime{$package}{version}, '!=',
+ $result->{version} ) ) {
$self->log_warn(
"Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- " $result->{file} ($result->{version})\n"
+ " $prime{$package}{file} ($prime{$package}{version})\n" .
+ " $result->{file} ($result->{version})\n"
);
- }
+ }
- } else {
- # The prime package selected has no version so, we choose to
- # use any alternative package that does have a version
- $prime{$package}{file} = $result->{file};
- $prime{$package}{version} = $result->{version};
- }
+ } else {
+ # The prime package selected has no version so, we choose to
+ # use any alternative package that does have a version
+ $prime{$package}{file} = $result->{file};
+ $prime{$package}{version} = $result->{version};
+ }
} else {
- # no alt package found with a version, but we have a prime
- # package so we use it whether it has a version or not
+ # no alt package found with a version, but we have a prime
+ # package so we use it whether it has a version or not
}
} else { # No primary package was selected, use the best alternative
@@ -4877,7 +4884,7 @@ sub find_packages_in_files {
if ( $result->{err} ) {
$self->log_warn(
"Found conflicting versions for package '$package'\n" .
- $result->{err}
+ $result->{err}
);
}
@@ -4885,14 +4892,18 @@ sub find_packages_in_files {
# something rather than nothing
$prime{$package}{file} = $result->{file};
$prime{$package}{version} = $result->{version}
- if defined( $result->{version} );
+ if defined( $result->{version} );
}
}
- # Normalize versions. Can't use exists() here because of bug in YAML::Node.
- # XXX "bug in YAML::Node" comment seems irrelvant -- dagolden, 2009-05-18
- for (grep defined $_->{version}, values %prime) {
- $_->{version} = $self->normalize_version( $_->{version} );
+ # Normalize versions or delete them if undef/0
+ for my $provides ( values %prime ) {
+ if ( $provides->{version} ) {
+ $provides->{version} = $self->normalize_version( $provides->{version} )
+ }
+ else {
+ delete $provides->{version};
+ }
}
return \%prime;
@@ -4910,16 +4921,16 @@ sub _resolve_module_versions {
my $err = '';
foreach my $p ( @$packages ) {
if ( defined( $p->{version} ) ) {
- if ( defined( $version ) ) {
- if ( $self->compare_versions( $version, '!=', $p->{version} ) ) {
- $err .= " $p->{file} ($p->{version})\n";
- } else {
- # same version declared multiple times, ignore
- }
- } else {
- $file = $p->{file};
- $version = $p->{version};
- }
+ if ( defined( $version ) ) {
+ if ( $self->compare_versions( $version, '!=', $p->{version} ) ) {
+ $err .= " $p->{file} ($p->{version})\n";
+ } else {
+ # same version declared multiple times, ignore
+ }
+ } else {
+ $file = $p->{file};
+ $version = $p->{version};
+ }
}
$file ||= $p->{file} if defined( $p->{file} );
}
@@ -5106,9 +5117,9 @@ sub prefix_relative {
my $relpath = $self->install_sets($installdirs)->{$type};
return $self->_prefixify($relpath,
- $self->original_prefix($installdirs),
- $type,
- );
+ $self->original_prefix($installdirs),
+ $type,
+ );
}
# Translated from ExtUtils::MM_Unix::prefixify()
@@ -5262,8 +5273,8 @@ sub rscan_dir {
local $_; # find() can overwrite $_, so protect ourselves
my $subr = !$pattern ? sub {push @result, $File::Find::name} :
!ref($pattern) || (ref $pattern eq 'Regexp') ? sub {push @result, $File::Find::name if /$pattern/} :
- ref($pattern) eq 'CODE' ? sub {push @result, $File::Find::name if $pattern->()} :
- die "Unknown pattern type";
+ ref($pattern) eq 'CODE' ? sub {push @result, $File::Find::name if $pattern->()} :
+ die "Unknown pattern type";
File::Find::find({wanted => $subr, no_chdir => 1}, $dir);
return \@result;
@@ -5329,11 +5340,11 @@ sub compile_c {
return $obj_file if $self->up_to_date($file, $obj_file);
$b->compile(source => $file,
- defines => $args{defines},
- object_file => $obj_file,
- include_dirs => $self->include_dirs,
- extra_compiler_flags => $self->extra_compiler_flags,
- );
+ defines => $args{defines},
+ object_file => $obj_file,
+ include_dirs => $self->include_dirs,
+ extra_compiler_flags => $self->extra_compiler_flags,
+ );
return $obj_file;
}
@@ -5348,7 +5359,7 @@ sub link_c {
return $spec->{lib_file}
if $self->up_to_date([$spec->{obj_file}, @$objects],
- $spec->{lib_file});
+ $spec->{lib_file});
my $module_name = $spec->{module_name} || $self->module_name;
@@ -5369,10 +5380,10 @@ sub compile_xs {
if (eval {require ExtUtils::ParseXS; 1}) {
ExtUtils::ParseXS::process_file(
- filename => $file,
- prototypes => 0,
- output => $args{outfile},
- );
+ filename => $file,
+ prototypes => 0,
+ output => $args{outfile},
+ );
} else {
# Ok, I give up. Just use backticks.
@@ -5393,7 +5404,7 @@ sub compile_xs {
my $perl = $self->{properties}{perl};
my @command = ($perl, "-I".$cf->get('installarchlib'), "-I".$cf->get('installprivlib'), $xsubpp, '-noprototypes',
- @typemaps, $file);
+ @typemaps, $file);
$self->log_info("@command\n");
my $fh = IO::File->new("> $args{outfile}") or die "Couldn't write $args{outfile}: $!";
@@ -5480,18 +5491,18 @@ sub _infer_xs_spec {
$spec{module_name} = join( '::', (@d, $file_base) );
$spec{archdir} = File::Spec->catdir($self->blib, 'arch', 'auto',
- @d, $file_base);
+ @d, $file_base);
$spec{bs_file} = File::Spec->catfile($spec{archdir}, "${file_base}.bs");
$spec{lib_file} = File::Spec->catfile($spec{archdir},
- "${file_base}.".$cf->get('dlext'));
+ "${file_base}.".$cf->get('dlext'));
$spec{c_file} = File::Spec->catfile( $spec{src_dir},
- "${file_base}.c" );
+ "${file_base}.c" );
$spec{obj_file} = File::Spec->catfile( $spec{src_dir},
- "${file_base}".$cf->get('obj_ext') );
+ "${file_base}".$cf->get('obj_ext') );
return \%spec;
}
@@ -5514,7 +5525,7 @@ sub process_xs {
# .c -> .o
my $v = $self->dist_version;
$self->compile_c($spec->{c_file},
- defines => {VERSION => qq{"$v"}, XS_VERSION => qq{"$v"}});
+ defines => {VERSION => qq{"$v"}, XS_VERSION => qq{"$v"}});
# archdir
File::Path::mkpath($spec->{archdir}, 0, oct(777)) unless -d $spec->{archdir};
@@ -5559,9 +5570,9 @@ sub do_system {
sub copy_if_modified {
my $self = shift;
my %args = (@_ > 3
- ? ( @_ )
- : ( from => shift, to_dir => shift, flatten => shift )
- );
+ ? ( @_ )
+ : ( from => shift, to_dir => shift, flatten => shift )
+ );
$args{verbose} = !$self->quiet
unless exists $args{verbose};
@@ -5578,8 +5589,8 @@ sub copy_if_modified {
$to_path = $args{to};
} elsif (defined $args{to_dir} and length $args{to_dir}) {
$to_path = File::Spec->catfile( $args{to_dir}, $args{flatten}
- ? File::Basename::basename($file)
- : $file );
+ ? File::Basename::basename($file)
+ : $file );
} else {
die "No 'to' or 'to_dir' parameter given to copy_if_modified";
}
@@ -5645,8 +5656,8 @@ sub dir_contains {
return 0 if @second_dirs < @first_dirs;
my $is_same = ( $self->_case_tolerant
- ? sub {lc(shift()) eq lc(shift())}
- : sub {shift() eq shift()} );
+ ? sub {lc(shift()) eq lc(shift())}
+ : sub {shift() eq shift()} );
while (@first_dirs) {
return 0 unless $is_same->(shift @first_dirs, shift @second_dirs);
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
index 452dfb96ad5..79499a6efd9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
@@ -2,7 +2,7 @@ package Module::Build::Compat;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
use File::Basename ();
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
index 9f3dc6779e5..88a3ff31579 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
@@ -2,7 +2,7 @@ package Module::Build::Config;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
index 80af7c4c0d9..e66020cf826 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
@@ -1,7 +1,7 @@
package Module::Build::Cookbook;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
index 8191410460f..73839c79e4d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
@@ -1,7 +1,7 @@
package Module::Build::Dumper;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
# This is just a split-out of a wrapper function to do Data::Dumper
# stuff "the right way". See:
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
index a4c66853e89..b36cc388c3d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
@@ -4,7 +4,7 @@ package Module::Build::ModuleInfo;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
require Module::Metadata;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
index 9a80a594304..04773229932 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
@@ -4,7 +4,7 @@ package Module::Build::Notes;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Data::Dumper;
use IO::File;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
index 62e8b0408c5..34f549576af 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
@@ -5,7 +5,7 @@ use Config;
use vars qw($VERSION);
use IO::File;
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
# This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
index e088c84833d..0be3dde62ec 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
index 8669036ab3d..53bffc05940 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Default;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
index 0cd526448b1..8c4349b5f6c 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
index 21c757b3172..5688a99329d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
index 3f49c8288a5..8b567668529 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
use vars qw(@ISA);
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
index 4717481fb86..6ed9d3d1c37 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
index 611c2cf8d3d..e3d7ff5b224 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
index 4842e6cbde9..7ff7e056bdc 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VMS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
index bec44da6af9..2578e31b3be 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
index 5094c41629e..e35e28f707f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Windows;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
index cd4cf24ceb4..3833ceb9761 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::aix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
index 2ecd9ae5561..15d3e818412 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
index e7d256a839e..45d68fdcd0a 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::darwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
index d9436713ba8..52d6e173d87 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::os2;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
index 8230192056f..6605fd47272 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
@@ -2,7 +2,7 @@ package Module::Build::PodParser;
use strict;
use vars qw($VERSION);
-$VERSION = '0.39_01';
+$VERSION = '0.4003';
$VERSION = eval $VERSION;
use vars qw(@ISA);
@@ -28,7 +28,8 @@ sub parse_from_filehandle {
local $_;
while (<$fh>) {
next unless /^=(?!cut)/ .. /^=cut/; # in POD
- last if ($self->{abstract}) = /^ (?: [a-z:]+ \s+ - \s+ ) (.*\S) /ix;
+ # Accept Name - abstract or C<Name> - abstract
+ last if ($self->{abstract}) = /^ (?: [a-z0-9:]+ | [BCIF] < [a-z0-9:]+ > ) \s+ - \s+ (.*\S) /ix;
}
my @author;
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pm b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
index 6cd5fc76d6d..702cfd69490 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
@@ -1,9 +1,9 @@
package Module::CoreList;
use strict;
use vars qw/$VERSION %released %version %families %upstream
- %bug_tracker %deprecated/;
+ %bug_tracker %deprecated %delta/;
use Module::CoreList::TieHashDelta;
-$VERSION = '2.76';
+$VERSION = '3.03';
my $dumpinc = 0;
sub import {
@@ -78,6 +78,17 @@ sub is_deprecated {
return $deprecated{$perl_version}{$module};
}
+sub deprecated_in {
+ my $module = shift;
+ $module = shift if eval { $module->isa(__PACKAGE__) }
+ and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
+ return unless $module;
+ my @perls = grep { exists $deprecated{$_}{$module} } keys %deprecated;
+ return unless @perls;
+ require List::Util;
+ return List::Util::minstr(@perls);
+}
+
sub removed_from {
my @perls = &removed_raw;
return shift @perls;
@@ -99,7 +110,9 @@ sub removed_raw {
}
sub changes_between {
- my ($left_ver, $right_ver) = @_;
+ my $left_ver = shift;
+ $left_ver = shift if eval { $left_ver->isa(__PACKAGE__) };
+ my $right_ver = shift;
my $left = $version{ $left_ver };
my $right = $version{ $right_ver };
@@ -188,6 +201,7 @@ sub changes_between {
5.013011 => '2011-03-20',
5.014000 => '2011-05-14',
5.012004 => '2011-06-20',
+ 5.012005 => '2012-11-10',
5.014001 => '2011-06-16',
5.015000 => '2011-06-20',
5.015001 => '2011-07-20',
@@ -210,6 +224,25 @@ sub changes_between {
5.017004 => '2012-09-20',
5.014003 => '2012-10-12',
5.017005 => '2012-10-20',
+ 5.017006 => '2012-11-20',
+ 5.017007 => '2012-12-18',
+ 5.017008 => '2013-01-20',
+ 5.017009 => '2013-02-20',
+ 5.014004 => '2013-03-10',
+ 5.016003 => '2013-03-11',
+ 5.017010 => '2013-03-21',
+ 5.017011 => '2013-04-20',
+ 5.018000 => '2013-05-18',
+ 5.019000 => '2013-05-20',
+ 5.019001 => '2013-06-21',
+ 5.019002 => '2013-07-22',
+ 5.018001 => '2013-08-12',
+ 5.019003 => '2013-08-20',
+ 5.019004 => '2013-09-20',
+ 5.019005 => '2013-10-20',
+ 5.019006 => '2013-11-20',
+ 5.019007 => '2013-12-20',
+ 5.018002 => '2014-01-09',
);
for my $version ( sort { $a <=> $b } keys %released ) {
@@ -217,7 +250,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
push @{ $families{ $family }} , $version;
}
-my %delta = (
+%delta = (
5 => {
changed => {
'AnyDBM_File' => undef,
@@ -542,6 +575,7 @@ my %delta = (
'CPAN::FirstTime' => '1.29 ',
'DB_File' => '1.60',
'Data::Dumper' => '2.09',
+ 'Errno' => '1.09',
'ExtUtils::Installed' => '0.02',
'ExtUtils::MM_Unix' => '1.12601 ',
'ExtUtils::MakeMaker' => '5.4301',
@@ -590,6 +624,7 @@ my %delta = (
'DB_File' => '1.65',
'Data::Dumper' => '2.101',
'Dumpvalue' => undef,
+ 'Errno' => '1.111',
'ExtUtils::Install' => '1.28',
'ExtUtils::Liblist' => '1.25',
'ExtUtils::MM_Unix' => '1.12602',
@@ -615,7 +650,6 @@ my %delta = (
changed => {
'CPAN::FirstTime' => '1.36 ',
'DB_File' => '1.807',
- 'Errno' => '1.111',
'ExtUtils::Install' => '1.28 ',
'ExtUtils::Liblist' => '1.25 ',
'ExtUtils::MM_Unix' => '1.12602 ',
@@ -1161,7 +1195,6 @@ my %delta = (
'warnings::register' => '1.00',
},
removed => {
- 'Errno' => 1,
}
},
5.008 => {
@@ -4345,6 +4378,19 @@ my %delta = (
removed => {
}
},
+ 5.012005 => {
+ delta_from => 5.012004,
+ changed => {
+ 'B::Concise' => '0.78_01',
+ 'Encode' => '2.39_01',
+ 'File::Glob' => '1.07_01',
+ 'Module::CoreList' => '2.50_02',
+ 'Unicode::UCD' => '0.29',
+ 'charnames' => '1.07_01',
+ },
+ removed => {
+ }
+ },
5.013 => {
delta_from => 5.012,
changed => {
@@ -5578,6 +5624,16 @@ my %delta = (
removed => {
}
},
+ 5.014004 => {
+ delta_from => 5.014003,
+ changed => {
+ 'Encode' => '2.42_02',
+ 'IPC::Open3' => '1.0901',
+ 'Module::CoreList' => '2.49_06',
+ },
+ removed => {
+ }
+ },
5.015 => {
delta_from => 5.014001,
changed => {
@@ -6727,6 +6783,17 @@ my %delta = (
5.016002 => {
delta_from => 5.016001,
changed => {
+ 'Module::CoreList' => '2.76',
+ },
+ removed => {
+ }
+ },
+ 5.016003 => {
+ delta_from => 5.016002,
+ changed => {
+ 'Encode' => '2.44_01',
+ 'Module::CoreList' => '2.76_02',
+ 'XS::APItest' => '0.39',
},
removed => {
}
@@ -7293,195 +7360,2285 @@ my %delta = (
removed => {
}
},
-);
-
-for my $version (sort { $a <=> $b } keys %delta) {
- my $data = $delta{$version};
-
- tie %{$version{$version}}, 'Module::CoreList::TieHashDelta',
- $data->{changed}, $data->{removed},
- $data->{delta_from} ? $version{$data->{delta_from}} : undef;
-}
-
-%deprecated = (
- 5.011 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.011001 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.011002 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.011003 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.011004 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.011005 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.012000 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.013000 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.012001 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.013001 => {
- 'Shell' => '1',
- },
- 5.013002 => {
- 'Shell' => '1',
- },
- 5.013003 => {
- 'Shell' => '1',
- },
- 5.013004 => {
- 'Shell' => '1',
- },
- 5.012002 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
- },
- 5.013005 => {
- 'Shell' => '1',
- },
- 5.013006 => {
- 'Shell' => '1',
- },
- 5.013007 => {
- 'Shell' => '1',
+ 5.017006 => {
+ delta_from => 5.017005,
+ changed => {
+ 'B' => '1.40',
+ 'B::Concise' => '0.94',
+ 'B::Deparse' => '1.19',
+ 'B::Xref' => '1.05',
+ 'CGI' => '3.63',
+ 'CGI::Util' => '3.62',
+ 'CPAN' => '1.99_51',
+ 'CPANPLUS::Dist::Build' => '0.64',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.64',
+ 'Carp' => '1.28',
+ 'Carp::Heavy' => '1.28',
+ 'Compress::Raw::Bzip2' => '2.058',
+ 'Compress::Raw::Zlib' => '2.058',
+ 'Compress::Zlib' => '2.058',
+ 'Data::Dumper' => '2.137',
+ 'Digest::SHA' => '5.73',
+ 'DynaLoader' => '1.17',
+ 'Env' => '1.04',
+ 'Errno' => '1.17',
+ 'ExtUtils::Manifest' => '1.62',
+ 'ExtUtils::Typemaps' => '3.18',
+ 'ExtUtils::Typemaps::Cmd'=> '3.18',
+ 'ExtUtils::Typemaps::InputMap'=> '3.18',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.18',
+ 'ExtUtils::Typemaps::Type'=> '3.18',
+ 'Fatal' => '2.13',
+ 'File::Find' => '1.23',
+ 'Hash::Util' => '0.13',
+ 'IO::Compress::Adapter::Bzip2'=> '2.058',
+ 'IO::Compress::Adapter::Deflate'=> '2.058',
+ 'IO::Compress::Adapter::Identity'=> '2.058',
+ 'IO::Compress::Base' => '2.058',
+ 'IO::Compress::Base::Common'=> '2.058',
+ 'IO::Compress::Bzip2' => '2.058',
+ 'IO::Compress::Deflate' => '2.058',
+ 'IO::Compress::Gzip' => '2.058',
+ 'IO::Compress::Gzip::Constants'=> '2.058',
+ 'IO::Compress::RawDeflate'=> '2.058',
+ 'IO::Compress::Zip' => '2.058',
+ 'IO::Compress::Zip::Constants'=> '2.058',
+ 'IO::Compress::Zlib::Constants'=> '2.058',
+ 'IO::Compress::Zlib::Extra'=> '2.058',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.058',
+ 'IO::Uncompress::Adapter::Identity'=> '2.058',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.058',
+ 'IO::Uncompress::AnyInflate'=> '2.058',
+ 'IO::Uncompress::AnyUncompress'=> '2.058',
+ 'IO::Uncompress::Base' => '2.058',
+ 'IO::Uncompress::Bunzip2'=> '2.058',
+ 'IO::Uncompress::Gunzip'=> '2.058',
+ 'IO::Uncompress::Inflate'=> '2.058',
+ 'IO::Uncompress::RawInflate'=> '2.058',
+ 'IO::Uncompress::Unzip' => '2.058',
+ 'Module::CoreList' => '2.78',
+ 'Module::CoreList::TieHashDelta'=> '2.77',
+ 'Module::Pluggable' => '4.5',
+ 'Module::Pluggable::Object'=> '4.5',
+ 'Opcode' => '1.25',
+ 'Sys::Hostname' => '1.17',
+ 'Term::UI' => '0.32',
+ 'Thread::Queue' => '3.01',
+ 'Tie::Hash::NamedCapture'=> '0.09',
+ 'Unicode::Collate' => '0.93',
+ 'Unicode::Collate::CJK::Korean'=> '0.93',
+ 'Unicode::Collate::Locale'=> '0.93',
+ 'Unicode::Normalize' => '1.16',
+ 'Unicode::UCD' => '0.47',
+ 'XS::APItest' => '0.46',
+ '_charnames' => '1.33',
+ 'autodie' => '2.13',
+ 'autodie::exception' => '2.13',
+ 'autodie::exception::system'=> '2.13',
+ 'autodie::hints' => '2.13',
+ 'charnames' => '1.33',
+ 're' => '0.23',
+ },
+ removed => {
+ }
},
- 5.013008 => {
- 'Shell' => '1',
+ 5.017007 => {
+ delta_from => 5.017006,
+ changed => {
+ 'B' => '1.41',
+ 'CPANPLUS::Dist::Build' => '0.68',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.68',
+ 'Compress::Raw::Bzip2' => '2.059',
+ 'Compress::Raw::Zlib' => '2.059',
+ 'Compress::Zlib' => '2.059',
+ 'Cwd' => '3.39_03',
+ 'Data::Dumper' => '2.139',
+ 'Devel::Peek' => '1.11',
+ 'Digest::SHA' => '5.80',
+ 'DynaLoader' => '1.18',
+ 'English' => '1.06',
+ 'Errno' => '1.18',
+ 'ExtUtils::Command::MM' => '6.64',
+ 'ExtUtils::Liblist' => '6.64',
+ 'ExtUtils::Liblist::Kid'=> '6.64',
+ 'ExtUtils::MM' => '6.64',
+ 'ExtUtils::MM_AIX' => '6.64',
+ 'ExtUtils::MM_Any' => '6.64',
+ 'ExtUtils::MM_BeOS' => '6.64',
+ 'ExtUtils::MM_Cygwin' => '6.64',
+ 'ExtUtils::MM_DOS' => '6.64',
+ 'ExtUtils::MM_Darwin' => '6.64',
+ 'ExtUtils::MM_MacOS' => '6.64',
+ 'ExtUtils::MM_NW5' => '6.64',
+ 'ExtUtils::MM_OS2' => '6.64',
+ 'ExtUtils::MM_QNX' => '6.64',
+ 'ExtUtils::MM_UWIN' => '6.64',
+ 'ExtUtils::MM_Unix' => '6.64',
+ 'ExtUtils::MM_VMS' => '6.64',
+ 'ExtUtils::MM_VOS' => '6.64',
+ 'ExtUtils::MM_Win32' => '6.64',
+ 'ExtUtils::MM_Win95' => '6.64',
+ 'ExtUtils::MY' => '6.64',
+ 'ExtUtils::MakeMaker' => '6.64',
+ 'ExtUtils::MakeMaker::Config'=> '6.64',
+ 'ExtUtils::Mkbootstrap' => '6.64',
+ 'ExtUtils::Mksymlists' => '6.64',
+ 'ExtUtils::testlib' => '6.64',
+ 'File::DosGlob' => '1.09',
+ 'File::Glob' => '1.19',
+ 'GDBM_File' => '1.15',
+ 'IO::Compress::Adapter::Bzip2'=> '2.059',
+ 'IO::Compress::Adapter::Deflate'=> '2.059',
+ 'IO::Compress::Adapter::Identity'=> '2.059',
+ 'IO::Compress::Base' => '2.059',
+ 'IO::Compress::Base::Common'=> '2.059',
+ 'IO::Compress::Bzip2' => '2.059',
+ 'IO::Compress::Deflate' => '2.059',
+ 'IO::Compress::Gzip' => '2.059',
+ 'IO::Compress::Gzip::Constants'=> '2.059',
+ 'IO::Compress::RawDeflate'=> '2.059',
+ 'IO::Compress::Zip' => '2.059',
+ 'IO::Compress::Zip::Constants'=> '2.059',
+ 'IO::Compress::Zlib::Constants'=> '2.059',
+ 'IO::Compress::Zlib::Extra'=> '2.059',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.059',
+ 'IO::Uncompress::Adapter::Identity'=> '2.059',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.059',
+ 'IO::Uncompress::AnyInflate'=> '2.059',
+ 'IO::Uncompress::AnyUncompress'=> '2.059',
+ 'IO::Uncompress::Base' => '2.059',
+ 'IO::Uncompress::Bunzip2'=> '2.059',
+ 'IO::Uncompress::Gunzip'=> '2.059',
+ 'IO::Uncompress::Inflate'=> '2.059',
+ 'IO::Uncompress::RawInflate'=> '2.059',
+ 'IO::Uncompress::Unzip' => '2.059',
+ 'List::Util' => '1.26',
+ 'List::Util::XS' => '1.26',
+ 'Locale::Codes' => '3.24',
+ 'Locale::Codes::Constants'=> '3.24',
+ 'Locale::Codes::Country'=> '3.24',
+ 'Locale::Codes::Country_Codes'=> '3.24',
+ 'Locale::Codes::Country_Retired'=> '3.24',
+ 'Locale::Codes::Currency'=> '3.24',
+ 'Locale::Codes::Currency_Codes'=> '3.24',
+ 'Locale::Codes::Currency_Retired'=> '3.24',
+ 'Locale::Codes::LangExt'=> '3.24',
+ 'Locale::Codes::LangExt_Codes'=> '3.24',
+ 'Locale::Codes::LangExt_Retired'=> '3.24',
+ 'Locale::Codes::LangFam'=> '3.24',
+ 'Locale::Codes::LangFam_Codes'=> '3.24',
+ 'Locale::Codes::LangFam_Retired'=> '3.24',
+ 'Locale::Codes::LangVar'=> '3.24',
+ 'Locale::Codes::LangVar_Codes'=> '3.24',
+ 'Locale::Codes::LangVar_Retired'=> '3.24',
+ 'Locale::Codes::Language'=> '3.24',
+ 'Locale::Codes::Language_Codes'=> '3.24',
+ 'Locale::Codes::Language_Retired'=> '3.24',
+ 'Locale::Codes::Script' => '3.24',
+ 'Locale::Codes::Script_Codes'=> '3.24',
+ 'Locale::Codes::Script_Retired'=> '3.24',
+ 'Locale::Country' => '3.24',
+ 'Locale::Currency' => '3.24',
+ 'Locale::Language' => '3.24',
+ 'Locale::Maketext' => '1.23',
+ 'Locale::Script' => '3.24',
+ 'Module::CoreList' => '2.79',
+ 'Module::CoreList::TieHashDelta'=> '2.79',
+ 'POSIX' => '1.32',
+ 'Scalar::Util' => '1.26',
+ 'Socket' => '2.006_001',
+ 'Storable' => '2.40',
+ 'Term::ReadLine' => '1.11',
+ 'Unicode::Collate' => '0.96',
+ 'Unicode::Collate::CJK::Stroke'=> '0.94',
+ 'Unicode::Collate::CJK::Zhuyin'=> '0.94',
+ 'Unicode::Collate::Locale'=> '0.96',
+ 'XS::APItest' => '0.48',
+ 'XS::Typemap' => '0.09',
+ '_charnames' => '1.34',
+ 'charnames' => '1.34',
+ 'feature' => '1.32',
+ 'mro' => '1.10',
+ 'sigtrap' => '1.07',
+ 'sort' => '2.02',
+ },
+ removed => {
+ }
},
- 5.012003 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
+ 5.017008 => {
+ delta_from => 5.017007,
+ changed => {
+ 'Archive::Extract' => '0.62',
+ 'B' => '1.42',
+ 'B::Concise' => '0.95',
+ 'Compress::Raw::Bzip2' => '2.060',
+ 'Compress::Raw::Zlib' => '2.060',
+ 'Compress::Zlib' => '2.060',
+ 'Cwd' => '3.40',
+ 'Data::Dumper' => '2.141',
+ 'Digest::SHA' => '5.81',
+ 'ExtUtils::Install' => '1.59',
+ 'File::Fetch' => '0.38',
+ 'File::Path' => '2.09',
+ 'File::Spec' => '3.40',
+ 'File::Spec::Cygwin' => '3.40',
+ 'File::Spec::Epoc' => '3.40',
+ 'File::Spec::Functions' => '3.40',
+ 'File::Spec::Mac' => '3.40',
+ 'File::Spec::OS2' => '3.40',
+ 'File::Spec::Unix' => '3.40',
+ 'File::Spec::VMS' => '3.40',
+ 'File::Spec::Win32' => '3.40',
+ 'HTTP::Tiny' => '0.025',
+ 'Hash::Util' => '0.14',
+ 'I18N::LangTags' => '0.39',
+ 'I18N::LangTags::List' => '0.39',
+ 'I18N::Langinfo' => '0.09',
+ 'IO' => '1.26',
+ 'IO::Compress::Adapter::Bzip2'=> '2.060',
+ 'IO::Compress::Adapter::Deflate'=> '2.060',
+ 'IO::Compress::Adapter::Identity'=> '2.060',
+ 'IO::Compress::Base' => '2.060',
+ 'IO::Compress::Base::Common'=> '2.060',
+ 'IO::Compress::Bzip2' => '2.060',
+ 'IO::Compress::Deflate' => '2.060',
+ 'IO::Compress::Gzip' => '2.060',
+ 'IO::Compress::Gzip::Constants'=> '2.060',
+ 'IO::Compress::RawDeflate'=> '2.060',
+ 'IO::Compress::Zip' => '2.060',
+ 'IO::Compress::Zip::Constants'=> '2.060',
+ 'IO::Compress::Zlib::Constants'=> '2.060',
+ 'IO::Compress::Zlib::Extra'=> '2.060',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.060',
+ 'IO::Uncompress::Adapter::Identity'=> '2.060',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.060',
+ 'IO::Uncompress::AnyInflate'=> '2.060',
+ 'IO::Uncompress::AnyUncompress'=> '2.060',
+ 'IO::Uncompress::Base' => '2.060',
+ 'IO::Uncompress::Bunzip2'=> '2.060',
+ 'IO::Uncompress::Gunzip'=> '2.060',
+ 'IO::Uncompress::Inflate'=> '2.060',
+ 'IO::Uncompress::RawInflate'=> '2.060',
+ 'IO::Uncompress::Unzip' => '2.060',
+ 'List::Util' => '1.27',
+ 'List::Util::XS' => '1.27',
+ 'Module::CoreList' => '2.80',
+ 'Module::CoreList::TieHashDelta'=> '2.80',
+ 'Pod::Html' => '1.17',
+ 'Pod::LaTeX' => '0.61',
+ 'Pod::Man' => '2.27',
+ 'Pod::Text' => '3.17',
+ 'Pod::Text::Color' => '2.07',
+ 'Pod::Text::Overstrike' => '2.05',
+ 'Pod::Text::Termcap' => '2.07',
+ 'Safe' => '2.34',
+ 'Scalar::Util' => '1.27',
+ 'Socket' => '2.009',
+ 'Term::ANSIColor' => '4.02',
+ 'Test' => '1.26',
+ 'Unicode::Collate' => '0.97',
+ 'XS::APItest' => '0.51',
+ 'XS::Typemap' => '0.10',
+ '_charnames' => '1.35',
+ 'charnames' => '1.35',
+ 'constant' => '1.25',
+ 'diagnostics' => '1.31',
+ 'threads::shared' => '1.43',
+ 'warnings' => '1.16',
+ },
+ removed => {
+ }
},
- 5.013009 => {
- 'Shell' => '1',
+ 5.017009 => {
+ delta_from => 5.017008,
+ changed => {
+ 'App::Cpan' => '1.60_02',
+ 'App::Prove' => '3.26',
+ 'App::Prove::State' => '3.26',
+ 'App::Prove::State::Result'=> '3.26',
+ 'App::Prove::State::Result::Test'=> '3.26',
+ 'Archive::Extract' => '0.68',
+ 'Attribute::Handlers' => '0.94',
+ 'B::Lint' => '1.17',
+ 'B::Lint::Debug' => '1.17',
+ 'Benchmark' => '1.14',
+ 'CPAN' => '2.00',
+ 'CPAN::Distribution' => '2.00',
+ 'CPAN::FirstTime' => '5.5304',
+ 'CPAN::Nox' => '5.5001',
+ 'CPANPLUS' => '0.9135',
+ 'CPANPLUS::Backend' => '0.9135',
+ 'CPANPLUS::Backend::RV' => '0.9135',
+ 'CPANPLUS::Config' => '0.9135',
+ 'CPANPLUS::Config::HomeEnv'=> '0.9135',
+ 'CPANPLUS::Configure' => '0.9135',
+ 'CPANPLUS::Configure::Setup'=> '0.9135',
+ 'CPANPLUS::Dist' => '0.9135',
+ 'CPANPLUS::Dist::Autobundle'=> '0.9135',
+ 'CPANPLUS::Dist::Base' => '0.9135',
+ 'CPANPLUS::Dist::Build' => '0.70',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.70',
+ 'CPANPLUS::Dist::MM' => '0.9135',
+ 'CPANPLUS::Dist::Sample'=> '0.9135',
+ 'CPANPLUS::Error' => '0.9135',
+ 'CPANPLUS::Internals' => '0.9135',
+ 'CPANPLUS::Internals::Constants'=> '0.9135',
+ 'CPANPLUS::Internals::Constants::Report'=> '0.9135',
+ 'CPANPLUS::Internals::Extract'=> '0.9135',
+ 'CPANPLUS::Internals::Fetch'=> '0.9135',
+ 'CPANPLUS::Internals::Report'=> '0.9135',
+ 'CPANPLUS::Internals::Search'=> '0.9135',
+ 'CPANPLUS::Internals::Source'=> '0.9135',
+ 'CPANPLUS::Internals::Source::Memory'=> '0.9135',
+ 'CPANPLUS::Internals::Source::SQLite'=> '0.9135',
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> '0.9135',
+ 'CPANPLUS::Internals::Utils'=> '0.9135',
+ 'CPANPLUS::Internals::Utils::Autoflush'=> '0.9135',
+ 'CPANPLUS::Module' => '0.9135',
+ 'CPANPLUS::Module::Author'=> '0.9135',
+ 'CPANPLUS::Module::Author::Fake'=> '0.9135',
+ 'CPANPLUS::Module::Checksums'=> '0.9135',
+ 'CPANPLUS::Module::Fake'=> '0.9135',
+ 'CPANPLUS::Module::Signature'=> '0.9135',
+ 'CPANPLUS::Selfupdate' => '0.9135',
+ 'CPANPLUS::Shell' => '0.9135',
+ 'CPANPLUS::Shell::Classic'=> '0.9135',
+ 'CPANPLUS::Shell::Default'=> '0.9135',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> '0.9135',
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> '0.9135',
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> '0.9135',
+ 'Config' => '5.017009',
+ 'Config::Perl::V' => '0.17',
+ 'DBM_Filter' => '0.05',
+ 'Data::Dumper' => '2.142',
+ 'Digest::SHA' => '5.82',
+ 'Encode' => '2.48',
+ 'ExtUtils::Installed' => '1.999003',
+ 'ExtUtils::Manifest' => '1.63',
+ 'ExtUtils::ParseXS::Utilities'=> '3.19',
+ 'ExtUtils::Typemaps' => '3.19',
+ 'File::CheckTree' => '4.42',
+ 'File::DosGlob' => '1.10',
+ 'File::Temp' => '0.22_90',
+ 'Filter::Simple' => '0.89',
+ 'IO' => '1.27',
+ 'Log::Message' => '0.06',
+ 'Log::Message::Config' => '0.06',
+ 'Log::Message::Handlers'=> '0.06',
+ 'Log::Message::Item' => '0.06',
+ 'Log::Message::Simple' => '0.10',
+ 'Math::BigInt' => '1.999',
+ 'Module::CoreList' => '2.82',
+ 'Module::CoreList::TieHashDelta'=> '2.82',
+ 'Module::Load' => '0.24',
+ 'Module::Pluggable' => '4.6',
+ 'Module::Pluggable::Object'=> '4.6',
+ 'Object::Accessor' => '0.46',
+ 'PerlIO::scalar' => '0.16',
+ 'Pod::Checker' => '1.60',
+ 'Pod::Find' => '1.60',
+ 'Pod::Html' => '1.18',
+ 'Pod::InputObjects' => '1.60',
+ 'Pod::ParseUtils' => '1.60',
+ 'Pod::Parser' => '1.60',
+ 'Pod::Perldoc' => '3.19',
+ 'Pod::Perldoc::BaseTo' => '3.19',
+ 'Pod::Perldoc::GetOptsOO'=> '3.19',
+ 'Pod::Perldoc::ToANSI' => '3.19',
+ 'Pod::Perldoc::ToChecker'=> '3.19',
+ 'Pod::Perldoc::ToMan' => '3.19',
+ 'Pod::Perldoc::ToNroff' => '3.19',
+ 'Pod::Perldoc::ToPod' => '3.19',
+ 'Pod::Perldoc::ToRtf' => '3.19',
+ 'Pod::Perldoc::ToTerm' => '3.19',
+ 'Pod::Perldoc::ToText' => '3.19',
+ 'Pod::Perldoc::ToTk' => '3.19',
+ 'Pod::Perldoc::ToXml' => '3.19',
+ 'Pod::PlainText' => '2.06',
+ 'Pod::Select' => '1.60',
+ 'Pod::Usage' => '1.61',
+ 'SelfLoader' => '1.21',
+ 'TAP::Base' => '3.26',
+ 'TAP::Formatter::Base' => '3.26',
+ 'TAP::Formatter::Color' => '3.26',
+ 'TAP::Formatter::Console'=> '3.26',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.26',
+ 'TAP::Formatter::Console::Session'=> '3.26',
+ 'TAP::Formatter::File' => '3.26',
+ 'TAP::Formatter::File::Session'=> '3.26',
+ 'TAP::Formatter::Session'=> '3.26',
+ 'TAP::Harness' => '3.26',
+ 'TAP::Object' => '3.26',
+ 'TAP::Parser' => '3.26',
+ 'TAP::Parser::Aggregator'=> '3.26',
+ 'TAP::Parser::Grammar' => '3.26',
+ 'TAP::Parser::Iterator' => '3.26',
+ 'TAP::Parser::Iterator::Array'=> '3.26',
+ 'TAP::Parser::Iterator::Process'=> '3.26',
+ 'TAP::Parser::Iterator::Stream'=> '3.26',
+ 'TAP::Parser::IteratorFactory'=> '3.26',
+ 'TAP::Parser::Multiplexer'=> '3.26',
+ 'TAP::Parser::Result' => '3.26',
+ 'TAP::Parser::Result::Bailout'=> '3.26',
+ 'TAP::Parser::Result::Comment'=> '3.26',
+ 'TAP::Parser::Result::Plan'=> '3.26',
+ 'TAP::Parser::Result::Pragma'=> '3.26',
+ 'TAP::Parser::Result::Test'=> '3.26',
+ 'TAP::Parser::Result::Unknown'=> '3.26',
+ 'TAP::Parser::Result::Version'=> '3.26',
+ 'TAP::Parser::Result::YAML'=> '3.26',
+ 'TAP::Parser::ResultFactory'=> '3.26',
+ 'TAP::Parser::Scheduler'=> '3.26',
+ 'TAP::Parser::Scheduler::Job'=> '3.26',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.26',
+ 'TAP::Parser::Source' => '3.26',
+ 'TAP::Parser::SourceHandler'=> '3.26',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.26',
+ 'TAP::Parser::SourceHandler::File'=> '3.26',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.26',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.26',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.26',
+ 'TAP::Parser::Utils' => '3.26',
+ 'TAP::Parser::YAMLish::Reader'=> '3.26',
+ 'TAP::Parser::YAMLish::Writer'=> '3.26',
+ 'Term::UI' => '0.34',
+ 'Test::Harness' => '3.26',
+ 'Text::Soundex' => '3.04',
+ 'Thread::Queue' => '3.02',
+ 'Unicode::UCD' => '0.50',
+ 'Win32' => '0.46',
+ 'Win32API::File' => '0.1201',
+ '_charnames' => '1.36',
+ 'arybase' => '0.06',
+ 'bigint' => '0.32',
+ 'bignum' => '0.32',
+ 'charnames' => '1.36',
+ 'filetest' => '1.03',
+ 'locale' => '1.02',
+ 'overload' => '1.21',
+ 'warnings' => '1.17',
+ },
+ removed => {
+ }
},
- 5.013010 => {
- 'Shell' => '1',
+ 5.017010 => {
+ delta_from => 5.017009,
+ changed => {
+ 'Benchmark' => '1.15',
+ 'Config' => '5.017009',
+ 'Data::Dumper' => '2.145',
+ 'Digest::SHA' => '5.84',
+ 'Encode' => '2.49',
+ 'ExtUtils::Command::MM' => '6.65_01',
+ 'ExtUtils::Liblist' => '6.65_01',
+ 'ExtUtils::Liblist::Kid'=> '6.65_01',
+ 'ExtUtils::MM' => '6.65_01',
+ 'ExtUtils::MM_AIX' => '6.65_01',
+ 'ExtUtils::MM_Any' => '6.65_01',
+ 'ExtUtils::MM_BeOS' => '6.65_01',
+ 'ExtUtils::MM_Cygwin' => '6.65_01',
+ 'ExtUtils::MM_DOS' => '6.65_01',
+ 'ExtUtils::MM_Darwin' => '6.65_01',
+ 'ExtUtils::MM_MacOS' => '6.65_01',
+ 'ExtUtils::MM_NW5' => '6.65_01',
+ 'ExtUtils::MM_OS2' => '6.65_01',
+ 'ExtUtils::MM_QNX' => '6.65_01',
+ 'ExtUtils::MM_UWIN' => '6.65_01',
+ 'ExtUtils::MM_Unix' => '6.65_01',
+ 'ExtUtils::MM_VMS' => '6.65_01',
+ 'ExtUtils::MM_VOS' => '6.65_01',
+ 'ExtUtils::MM_Win32' => '6.65_01',
+ 'ExtUtils::MM_Win95' => '6.65_01',
+ 'ExtUtils::MY' => '6.65_01',
+ 'ExtUtils::MakeMaker' => '6.65_01',
+ 'ExtUtils::MakeMaker::Config'=> '6.65_01',
+ 'ExtUtils::Mkbootstrap' => '6.65_01',
+ 'ExtUtils::Mksymlists' => '6.65_01',
+ 'ExtUtils::testlib' => '6.65_01',
+ 'File::Copy' => '2.26',
+ 'File::Temp' => '0.23',
+ 'Getopt::Long' => '2.39',
+ 'Hash::Util' => '0.15',
+ 'I18N::Langinfo' => '0.10',
+ 'IPC::Cmd' => '0.80',
+ 'JSON::PP' => '2.27202',
+ 'Locale::Codes' => '3.25',
+ 'Locale::Codes::Constants'=> '3.25',
+ 'Locale::Codes::Country'=> '3.25',
+ 'Locale::Codes::Country_Codes'=> '3.25',
+ 'Locale::Codes::Country_Retired'=> '3.25',
+ 'Locale::Codes::Currency'=> '3.25',
+ 'Locale::Codes::Currency_Codes'=> '3.25',
+ 'Locale::Codes::Currency_Retired'=> '3.25',
+ 'Locale::Codes::LangExt'=> '3.25',
+ 'Locale::Codes::LangExt_Codes'=> '3.25',
+ 'Locale::Codes::LangExt_Retired'=> '3.25',
+ 'Locale::Codes::LangFam'=> '3.25',
+ 'Locale::Codes::LangFam_Codes'=> '3.25',
+ 'Locale::Codes::LangFam_Retired'=> '3.25',
+ 'Locale::Codes::LangVar'=> '3.25',
+ 'Locale::Codes::LangVar_Codes'=> '3.25',
+ 'Locale::Codes::LangVar_Retired'=> '3.25',
+ 'Locale::Codes::Language'=> '3.25',
+ 'Locale::Codes::Language_Codes'=> '3.25',
+ 'Locale::Codes::Language_Retired'=> '3.25',
+ 'Locale::Codes::Script' => '3.25',
+ 'Locale::Codes::Script_Codes'=> '3.25',
+ 'Locale::Codes::Script_Retired'=> '3.25',
+ 'Locale::Country' => '3.25',
+ 'Locale::Currency' => '3.25',
+ 'Locale::Language' => '3.25',
+ 'Locale::Script' => '3.25',
+ 'Math::BigFloat' => '1.998',
+ 'Math::BigFloat::Trace' => '0.32',
+ 'Math::BigInt' => '1.9991',
+ 'Math::BigInt::CalcEmu' => '1.998',
+ 'Math::BigInt::Trace' => '0.32',
+ 'Math::BigRat' => '0.2604',
+ 'Module::CoreList' => '2.84',
+ 'Module::CoreList::TieHashDelta'=> '2.84',
+ 'Module::Pluggable' => '4.7',
+ 'Net::Ping' => '2.41',
+ 'Perl::OSType' => '1.003',
+ 'Pod::Simple' => '3.26',
+ 'Pod::Simple::BlackBox' => '3.26',
+ 'Pod::Simple::Checker' => '3.26',
+ 'Pod::Simple::Debug' => '3.26',
+ 'Pod::Simple::DumpAsText'=> '3.26',
+ 'Pod::Simple::DumpAsXML'=> '3.26',
+ 'Pod::Simple::HTML' => '3.26',
+ 'Pod::Simple::HTMLBatch'=> '3.26',
+ 'Pod::Simple::LinkSection'=> '3.26',
+ 'Pod::Simple::Methody' => '3.26',
+ 'Pod::Simple::Progress' => '3.26',
+ 'Pod::Simple::PullParser'=> '3.26',
+ 'Pod::Simple::PullParserEndToken'=> '3.26',
+ 'Pod::Simple::PullParserStartToken'=> '3.26',
+ 'Pod::Simple::PullParserTextToken'=> '3.26',
+ 'Pod::Simple::PullParserToken'=> '3.26',
+ 'Pod::Simple::RTF' => '3.26',
+ 'Pod::Simple::Search' => '3.26',
+ 'Pod::Simple::SimpleTree'=> '3.26',
+ 'Pod::Simple::Text' => '3.26',
+ 'Pod::Simple::TextContent'=> '3.26',
+ 'Pod::Simple::TiedOutFH'=> '3.26',
+ 'Pod::Simple::Transcode'=> '3.26',
+ 'Pod::Simple::TranscodeDumb'=> '3.26',
+ 'Pod::Simple::TranscodeSmart'=> '3.26',
+ 'Pod::Simple::XHTML' => '3.26',
+ 'Pod::Simple::XMLOutStream'=> '3.26',
+ 'Safe' => '2.35',
+ 'Term::ReadLine' => '1.12',
+ 'Text::ParseWords' => '3.28',
+ 'Tie::File' => '0.99',
+ 'Unicode::UCD' => '0.51',
+ 'Win32' => '0.47',
+ 'bigint' => '0.33',
+ 'bignum' => '0.33',
+ 'bigrat' => '0.33',
+ 'constant' => '1.27',
+ 'perlfaq' => '5.0150042',
+ 'version' => '0.9902',
+ },
+ removed => {
+ }
},
- 5.013011 => {
- 'Shell' => '1',
+ 5.017011 => {
+ delta_from => 5.017010,
+ changed => {
+ 'App::Cpan' => '1.61',
+ 'B::Deparse' => '1.20',
+ 'Config' => '5.017009',
+ 'Exporter' => '5.68',
+ 'Exporter::Heavy' => '5.68',
+ 'ExtUtils::CBuilder' => '0.280210',
+ 'ExtUtils::Command::MM' => '6.66',
+ 'ExtUtils::Liblist' => '6.66',
+ 'ExtUtils::Liblist::Kid'=> '6.66',
+ 'ExtUtils::MM' => '6.66',
+ 'ExtUtils::MM_AIX' => '6.66',
+ 'ExtUtils::MM_Any' => '6.66',
+ 'ExtUtils::MM_BeOS' => '6.66',
+ 'ExtUtils::MM_Cygwin' => '6.66',
+ 'ExtUtils::MM_DOS' => '6.66',
+ 'ExtUtils::MM_Darwin' => '6.66',
+ 'ExtUtils::MM_MacOS' => '6.66',
+ 'ExtUtils::MM_NW5' => '6.66',
+ 'ExtUtils::MM_OS2' => '6.66',
+ 'ExtUtils::MM_QNX' => '6.66',
+ 'ExtUtils::MM_UWIN' => '6.66',
+ 'ExtUtils::MM_Unix' => '6.66',
+ 'ExtUtils::MM_VMS' => '6.66',
+ 'ExtUtils::MM_VOS' => '6.66',
+ 'ExtUtils::MM_Win32' => '6.66',
+ 'ExtUtils::MM_Win95' => '6.66',
+ 'ExtUtils::MY' => '6.66',
+ 'ExtUtils::MakeMaker' => '6.66',
+ 'ExtUtils::MakeMaker::Config'=> '6.66',
+ 'ExtUtils::Mkbootstrap' => '6.66',
+ 'ExtUtils::Mksymlists' => '6.66',
+ 'ExtUtils::testlib' => '6.66',
+ 'File::Glob' => '1.20',
+ 'IO' => '1.28',
+ 'Module::CoreList' => '2.87',
+ 'Module::CoreList::TieHashDelta'=> '2.87',
+ 'Storable' => '2.41',
+ 'bigint' => '0.34',
+ 'mro' => '1.11',
+ 'overload' => '1.22',
+ 'warnings' => '1.18',
+ },
+ removed => {
+ }
},
- 5.014000 => {
- 'Shell' => '1',
+ 5.018000 => {
+ delta_from => 5.017011,
+ changed => {
+ 'Carp' => '1.29',
+ 'Carp::Heavy' => '1.29',
+ 'Config' => '5.018000',
+ 'Hash::Util' => '0.16',
+ 'IO::Handle' => '1.34',
+ 'IO::Socket' => '1.36',
+ 'Module::CoreList' => '2.89',
+ 'Module::CoreList::TieHashDelta'=> '2.89',
+ 'Pod::Simple' => '3.28',
+ 'Pod::Simple::BlackBox' => '3.28',
+ 'Pod::Simple::Checker' => '3.28',
+ 'Pod::Simple::Debug' => '3.28',
+ 'Pod::Simple::DumpAsText'=> '3.28',
+ 'Pod::Simple::DumpAsXML'=> '3.28',
+ 'Pod::Simple::HTML' => '3.28',
+ 'Pod::Simple::HTMLBatch'=> '3.28',
+ 'Pod::Simple::LinkSection'=> '3.28',
+ 'Pod::Simple::Methody' => '3.28',
+ 'Pod::Simple::Progress' => '3.28',
+ 'Pod::Simple::PullParser'=> '3.28',
+ 'Pod::Simple::PullParserEndToken'=> '3.28',
+ 'Pod::Simple::PullParserStartToken'=> '3.28',
+ 'Pod::Simple::PullParserTextToken'=> '3.28',
+ 'Pod::Simple::PullParserToken'=> '3.28',
+ 'Pod::Simple::RTF' => '3.28',
+ 'Pod::Simple::Search' => '3.28',
+ 'Pod::Simple::SimpleTree'=> '3.28',
+ 'Pod::Simple::Text' => '3.28',
+ 'Pod::Simple::TextContent'=> '3.28',
+ 'Pod::Simple::TiedOutFH'=> '3.28',
+ 'Pod::Simple::Transcode'=> '3.28',
+ 'Pod::Simple::TranscodeDumb'=> '3.28',
+ 'Pod::Simple::TranscodeSmart'=> '3.28',
+ 'Pod::Simple::XHTML' => '3.28',
+ 'Pod::Simple::XMLOutStream'=> '3.28',
+ },
+ removed => {
+ }
},
- 5.012004 => {
- 'Class::ISA' => '1',
- 'Pod::Plainer' => '1',
- 'Shell' => '1',
- 'Switch' => '1',
+ 5.018001 => {
+ delta_from => 5.018000,
+ changed => {
+ 'B' => '1.42_01',
+ 'Config' => '5.018001',
+ 'Digest::SHA' => '5.84_01',
+ 'Module::CoreList' => '2.96',
+ 'Module::CoreList::TieHashDelta'=> '2.96',
+ 'Module::CoreList::Utils'=> '2.96',
+ },
+ removed => {
+ 'VMS::Filespec' => 1,
+ }
},
- 5.014001 => {
- 'Shell' => '1',
+ 5.018002 => {
+ delta_from => 5.018001,
+ changed => {
+ 'B' => '1.42_02',
+ 'B::Concise' => '0.95_01',
+ 'Config' => '5.018002',
+ 'File::Glob' => '1.20_01',
+ 'Module::CoreList' => '3.03',
+ 'Module::CoreList::TieHashDelta'=> '3.03',
+ 'Module::CoreList::Utils'=> '3.03',
+ },
},
- 5.015000 => {
- 'Devel::DProf' => '1',
+ 5.019000 => {
+ delta_from => 5.018000,
+ changed => {
+ 'Config' => '5.019000',
+ 'Getopt::Std' => '1.08',
+ 'Module::CoreList' => '2.91',
+ 'Module::CoreList::TieHashDelta'=> '2.91',
+ 'Storable' => '2.42',
+ 'feature' => '1.33',
+ 'utf8' => '1.11',
+ },
+ removed => {
+ 'Archive::Extract' => 1,
+ 'B::Lint' => 1,
+ 'B::Lint::Debug' => 1,
+ 'CPANPLUS' => 1,
+ 'CPANPLUS::Backend' => 1,
+ 'CPANPLUS::Backend::RV' => 1,
+ 'CPANPLUS::Config' => 1,
+ 'CPANPLUS::Config::HomeEnv'=> 1,
+ 'CPANPLUS::Configure' => 1,
+ 'CPANPLUS::Configure::Setup'=> 1,
+ 'CPANPLUS::Dist' => 1,
+ 'CPANPLUS::Dist::Autobundle'=> 1,
+ 'CPANPLUS::Dist::Base' => 1,
+ 'CPANPLUS::Dist::Build' => 1,
+ 'CPANPLUS::Dist::Build::Constants'=> 1,
+ 'CPANPLUS::Dist::MM' => 1,
+ 'CPANPLUS::Dist::Sample'=> 1,
+ 'CPANPLUS::Error' => 1,
+ 'CPANPLUS::Internals' => 1,
+ 'CPANPLUS::Internals::Constants'=> 1,
+ 'CPANPLUS::Internals::Constants::Report'=> 1,
+ 'CPANPLUS::Internals::Extract'=> 1,
+ 'CPANPLUS::Internals::Fetch'=> 1,
+ 'CPANPLUS::Internals::Report'=> 1,
+ 'CPANPLUS::Internals::Search'=> 1,
+ 'CPANPLUS::Internals::Source'=> 1,
+ 'CPANPLUS::Internals::Source::Memory'=> 1,
+ 'CPANPLUS::Internals::Source::SQLite'=> 1,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> 1,
+ 'CPANPLUS::Internals::Utils'=> 1,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> 1,
+ 'CPANPLUS::Module' => 1,
+ 'CPANPLUS::Module::Author'=> 1,
+ 'CPANPLUS::Module::Author::Fake'=> 1,
+ 'CPANPLUS::Module::Checksums'=> 1,
+ 'CPANPLUS::Module::Fake'=> 1,
+ 'CPANPLUS::Module::Signature'=> 1,
+ 'CPANPLUS::Selfupdate' => 1,
+ 'CPANPLUS::Shell' => 1,
+ 'CPANPLUS::Shell::Classic'=> 1,
+ 'CPANPLUS::Shell::Default'=> 1,
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> 1,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> 1,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> 1,
+ 'Devel::InnerPackage' => 1,
+ 'File::CheckTree' => 1,
+ 'Log::Message' => 1,
+ 'Log::Message::Config' => 1,
+ 'Log::Message::Handlers'=> 1,
+ 'Log::Message::Item' => 1,
+ 'Log::Message::Simple' => 1,
+ 'Module::Pluggable' => 1,
+ 'Module::Pluggable::Object'=> 1,
+ 'Object::Accessor' => 1,
+ 'Pod::LaTeX' => 1,
+ 'Term::UI' => 1,
+ 'Term::UI::History' => 1,
+ 'Text::Soundex' => 1,
+ }
},
- 5.015000 => {
+ 5.019001 => {
+ delta_from => 5.019000,
+ changed => {
+ 'App::Prove' => '3.28',
+ 'App::Prove::State' => '3.28',
+ 'App::Prove::State::Result'=> '3.28',
+ 'App::Prove::State::Result::Test'=> '3.28',
+ 'Archive::Tar' => '1.92',
+ 'Archive::Tar::Constant'=> '1.92',
+ 'Archive::Tar::File' => '1.92',
+ 'Attribute::Handlers' => '0.95',
+ 'B' => '1.43',
+ 'B::Concise' => '0.96',
+ 'B::Deparse' => '1.21',
+ 'B::Showlex' => '1.04',
+ 'Benchmark' => '1.16',
+ 'CPAN::Meta' => '2.131560',
+ 'CPAN::Meta::Converter' => '2.131560',
+ 'CPAN::Meta::Feature' => '2.131560',
+ 'CPAN::Meta::History' => '2.131560',
+ 'CPAN::Meta::Prereqs' => '2.131560',
+ 'CPAN::Meta::Spec' => '2.131560',
+ 'CPAN::Meta::Validator' => '2.131560',
+ 'Carp' => '1.30',
+ 'Carp::Heavy' => '1.30',
+ 'Compress::Raw::Bzip2' => '2.061',
+ 'Compress::Raw::Zlib' => '2.061',
+ 'Compress::Zlib' => '2.061',
+ 'Config' => '5.019001',
+ 'Config::Perl::V' => '0.18',
+ 'Cwd' => '3.41',
+ 'DB' => '1.06',
+ 'DB_File' => '1.828',
+ 'Data::Dumper' => '2.146',
+ 'Encode' => '2.51',
+ 'Encode::CN::HZ' => '2.06',
+ 'Encode::GSM0338' => '2.03',
+ 'Encode::Unicode::UTF7' => '2.07',
+ 'ExtUtils::CBuilder::Base'=> '0.280210',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280210',
+ 'ExtUtils::Command::MM' => '6.68',
+ 'ExtUtils::Install' => '1.60',
+ 'ExtUtils::Liblist' => '6.68',
+ 'ExtUtils::Liblist::Kid'=> '6.68',
+ 'ExtUtils::MM' => '6.68',
+ 'ExtUtils::MM_AIX' => '6.68',
+ 'ExtUtils::MM_Any' => '6.68',
+ 'ExtUtils::MM_BeOS' => '6.68',
+ 'ExtUtils::MM_Cygwin' => '6.68',
+ 'ExtUtils::MM_DOS' => '6.68',
+ 'ExtUtils::MM_Darwin' => '6.68',
+ 'ExtUtils::MM_MacOS' => '6.68',
+ 'ExtUtils::MM_NW5' => '6.68',
+ 'ExtUtils::MM_OS2' => '6.68',
+ 'ExtUtils::MM_QNX' => '6.68',
+ 'ExtUtils::MM_UWIN' => '6.68',
+ 'ExtUtils::MM_Unix' => '6.68',
+ 'ExtUtils::MM_VMS' => '6.68',
+ 'ExtUtils::MM_VOS' => '6.68',
+ 'ExtUtils::MM_Win32' => '6.68',
+ 'ExtUtils::MM_Win95' => '6.68',
+ 'ExtUtils::MY' => '6.68',
+ 'ExtUtils::MakeMaker' => '6.68',
+ 'ExtUtils::MakeMaker::Config'=> '6.68',
+ 'ExtUtils::Mkbootstrap' => '6.68',
+ 'ExtUtils::Mksymlists' => '6.68',
+ 'ExtUtils::ParseXS' => '3.19',
+ 'ExtUtils::testlib' => '6.68',
+ 'Fatal' => '2.19',
+ 'File::Copy' => '2.27',
+ 'File::DosGlob' => '1.11',
+ 'File::Fetch' => '0.42',
+ 'File::Find' => '1.24',
+ 'File::Spec' => '3.41',
+ 'File::Spec::Cygwin' => '3.41',
+ 'File::Spec::Epoc' => '3.41',
+ 'File::Spec::Mac' => '3.41',
+ 'File::Spec::OS2' => '3.41',
+ 'File::Spec::Unix' => '3.41',
+ 'File::Spec::VMS' => '3.41',
+ 'File::Spec::Win32' => '3.41',
+ 'File::Temp' => '0.2301',
+ 'Filter::Simple' => '0.90',
+ 'Filter::Util::Call' => '1.49',
+ 'Getopt::Long' => '2.4',
+ 'HTTP::Tiny' => '0.031',
+ 'Hash::Util::FieldHash' => '1.11',
+ 'IO::Compress::Adapter::Bzip2'=> '2.061',
+ 'IO::Compress::Adapter::Deflate'=> '2.061',
+ 'IO::Compress::Adapter::Identity'=> '2.061',
+ 'IO::Compress::Base' => '2.061',
+ 'IO::Compress::Base::Common'=> '2.061',
+ 'IO::Compress::Bzip2' => '2.061',
+ 'IO::Compress::Deflate' => '2.061',
+ 'IO::Compress::Gzip' => '2.061',
+ 'IO::Compress::Gzip::Constants'=> '2.061',
+ 'IO::Compress::RawDeflate'=> '2.061',
+ 'IO::Compress::Zip' => '2.061',
+ 'IO::Compress::Zip::Constants'=> '2.061',
+ 'IO::Compress::Zlib::Constants'=> '2.061',
+ 'IO::Compress::Zlib::Extra'=> '2.061',
+ 'IO::Handle' => '1.35',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.061',
+ 'IO::Uncompress::Adapter::Identity'=> '2.061',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.061',
+ 'IO::Uncompress::AnyInflate'=> '2.061',
+ 'IO::Uncompress::AnyUncompress'=> '2.061',
+ 'IO::Uncompress::Base' => '2.061',
+ 'IO::Uncompress::Bunzip2'=> '2.061',
+ 'IO::Uncompress::Gunzip'=> '2.061',
+ 'IO::Uncompress::Inflate'=> '2.061',
+ 'IO::Uncompress::RawInflate'=> '2.061',
+ 'IO::Uncompress::Unzip' => '2.061',
+ 'IPC::Open3' => '1.14',
+ 'Locale::Codes' => '3.26',
+ 'Locale::Codes::Constants'=> '3.26',
+ 'Locale::Codes::Country'=> '3.26',
+ 'Locale::Codes::Country_Codes'=> '3.26',
+ 'Locale::Codes::Country_Retired'=> '3.26',
+ 'Locale::Codes::Currency'=> '3.26',
+ 'Locale::Codes::Currency_Codes'=> '3.26',
+ 'Locale::Codes::Currency_Retired'=> '3.26',
+ 'Locale::Codes::LangExt'=> '3.26',
+ 'Locale::Codes::LangExt_Codes'=> '3.26',
+ 'Locale::Codes::LangExt_Retired'=> '3.26',
+ 'Locale::Codes::LangFam'=> '3.26',
+ 'Locale::Codes::LangFam_Codes'=> '3.26',
+ 'Locale::Codes::LangFam_Retired'=> '3.26',
+ 'Locale::Codes::LangVar'=> '3.26',
+ 'Locale::Codes::LangVar_Codes'=> '3.26',
+ 'Locale::Codes::LangVar_Retired'=> '3.26',
+ 'Locale::Codes::Language'=> '3.26',
+ 'Locale::Codes::Language_Codes'=> '3.26',
+ 'Locale::Codes::Language_Retired'=> '3.26',
+ 'Locale::Codes::Script' => '3.26',
+ 'Locale::Codes::Script_Codes'=> '3.26',
+ 'Locale::Codes::Script_Retired'=> '3.26',
+ 'Locale::Country' => '3.26',
+ 'Locale::Currency' => '3.26',
+ 'Locale::Language' => '3.26',
+ 'Locale::Maketext' => '1.24',
+ 'Locale::Script' => '3.26',
+ 'Math::BigFloat' => '1.999',
+ 'Math::BigInt' => '1.9992',
+ 'Math::BigInt::Calc' => '1.998',
+ 'Math::BigInt::CalcEmu' => '1.9991',
+ 'Math::BigRat' => '0.2606',
+ 'Module::Build' => '0.4005',
+ 'Module::Build::Base' => '0.4005',
+ 'Module::Build::Compat' => '0.4005',
+ 'Module::Build::Config' => '0.4005',
+ 'Module::Build::Cookbook'=> '0.4005',
+ 'Module::Build::Dumper' => '0.4005',
+ 'Module::Build::ModuleInfo'=> '0.4005',
+ 'Module::Build::Notes' => '0.4005',
+ 'Module::Build::PPMMaker'=> '0.4005',
+ 'Module::Build::Platform::Amiga'=> '0.4005',
+ 'Module::Build::Platform::Default'=> '0.4005',
+ 'Module::Build::Platform::EBCDIC'=> '0.4005',
+ 'Module::Build::Platform::MPEiX'=> '0.4005',
+ 'Module::Build::Platform::MacOS'=> '0.4005',
+ 'Module::Build::Platform::RiscOS'=> '0.4005',
+ 'Module::Build::Platform::Unix'=> '0.4005',
+ 'Module::Build::Platform::VMS'=> '0.4005',
+ 'Module::Build::Platform::VOS'=> '0.4005',
+ 'Module::Build::Platform::Windows'=> '0.4005',
+ 'Module::Build::Platform::aix'=> '0.4005',
+ 'Module::Build::Platform::cygwin'=> '0.4005',
+ 'Module::Build::Platform::darwin'=> '0.4005',
+ 'Module::Build::Platform::os2'=> '0.4005',
+ 'Module::Build::PodParser'=> '0.4005',
+ 'Module::CoreList' => '2.92',
+ 'Module::CoreList::TieHashDelta'=> '2.92',
+ 'Module::CoreList::Utils'=> '2.92',
+ 'Module::Metadata' => '1.000014',
+ 'Net::Ping' => '2.42',
+ 'POSIX' => '1.33',
+ 'Pod::Find' => '1.61',
+ 'Pod::Html' => '1.19',
+ 'Pod::InputObjects' => '1.61',
+ 'Pod::ParseUtils' => '1.61',
+ 'Pod::Parser' => '1.61',
+ 'Pod::Perldoc' => '3.20',
+ 'Pod::Perldoc::BaseTo' => '3.20',
+ 'Pod::Perldoc::GetOptsOO'=> '3.20',
+ 'Pod::Perldoc::ToANSI' => '3.20',
+ 'Pod::Perldoc::ToChecker'=> '3.20',
+ 'Pod::Perldoc::ToMan' => '3.20',
+ 'Pod::Perldoc::ToNroff' => '3.20',
+ 'Pod::Perldoc::ToPod' => '3.20',
+ 'Pod::Perldoc::ToRtf' => '3.20',
+ 'Pod::Perldoc::ToTerm' => '3.20',
+ 'Pod::Perldoc::ToText' => '3.20',
+ 'Pod::Perldoc::ToTk' => '3.20',
+ 'Pod::Perldoc::ToXml' => '3.20',
+ 'Pod::Select' => '1.61',
+ 'Pod::Usage' => '1.63',
+ 'Safe' => '2.36',
+ 'Storable' => '2.43',
+ 'Sys::Hostname' => '1.18',
+ 'Sys::Syslog' => '0.33',
+ 'TAP::Base' => '3.28',
+ 'TAP::Formatter::Base' => '3.28',
+ 'TAP::Formatter::Color' => '3.28',
+ 'TAP::Formatter::Console'=> '3.28',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.28',
+ 'TAP::Formatter::Console::Session'=> '3.28',
+ 'TAP::Formatter::File' => '3.28',
+ 'TAP::Formatter::File::Session'=> '3.28',
+ 'TAP::Formatter::Session'=> '3.28',
+ 'TAP::Harness' => '3.28',
+ 'TAP::Object' => '3.28',
+ 'TAP::Parser' => '3.28',
+ 'TAP::Parser::Aggregator'=> '3.28',
+ 'TAP::Parser::Grammar' => '3.28',
+ 'TAP::Parser::Iterator' => '3.28',
+ 'TAP::Parser::Iterator::Array'=> '3.28',
+ 'TAP::Parser::Iterator::Process'=> '3.28',
+ 'TAP::Parser::Iterator::Stream'=> '3.28',
+ 'TAP::Parser::IteratorFactory'=> '3.28',
+ 'TAP::Parser::Multiplexer'=> '3.28',
+ 'TAP::Parser::Result' => '3.28',
+ 'TAP::Parser::Result::Bailout'=> '3.28',
+ 'TAP::Parser::Result::Comment'=> '3.28',
+ 'TAP::Parser::Result::Plan'=> '3.28',
+ 'TAP::Parser::Result::Pragma'=> '3.28',
+ 'TAP::Parser::Result::Test'=> '3.28',
+ 'TAP::Parser::Result::Unknown'=> '3.28',
+ 'TAP::Parser::Result::Version'=> '3.28',
+ 'TAP::Parser::Result::YAML'=> '3.28',
+ 'TAP::Parser::ResultFactory'=> '3.28',
+ 'TAP::Parser::Scheduler'=> '3.28',
+ 'TAP::Parser::Scheduler::Job'=> '3.28',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.28',
+ 'TAP::Parser::Source' => '3.28',
+ 'TAP::Parser::SourceHandler'=> '3.28',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.28',
+ 'TAP::Parser::SourceHandler::File'=> '3.28',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.28',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.28',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.28',
+ 'TAP::Parser::Utils' => '3.28',
+ 'TAP::Parser::YAMLish::Reader'=> '3.28',
+ 'TAP::Parser::YAMLish::Writer'=> '3.28',
+ 'Term::ReadLine' => '1.13',
+ 'Test::Harness' => '3.28',
+ 'Text::Tabs' => '2013.0523',
+ 'Text::Wrap' => '2013.0523',
+ 'Thread' => '3.04',
+ 'Tie::File' => '1.00',
+ 'Time::Piece' => '1.2002',
+ 'Unicode::Collate' => '0.98',
+ 'Unicode::UCD' => '0.53',
+ 'XS::APItest' => '0.53',
+ '_charnames' => '1.37',
+ 'autodie' => '2.19',
+ 'autodie::exception' => '2.19',
+ 'autodie::exception::system'=> '2.19',
+ 'autodie::hints' => '2.19',
+ 'autodie::skip' => '2.19',
+ 'bigint' => '0.35',
+ 'charnames' => '1.38',
+ 'encoding' => '2.12',
+ 'inc::latest' => '0.4005',
+ 'mro' => '1.12',
+ 'perlfaq' => '5.0150043',
+ 're' => '0.25',
+ 'threads' => '1.87',
+ 'threads::shared' => '1.44',
+ 'utf8' => '1.12',
+ },
+ removed => {
+ }
},
- 5.015001 => {
+ 5.019002 => {
+ delta_from => 5.019001,
+ changed => {
+ 'B' => '1.44',
+ 'B::Concise' => '0.98',
+ 'B::Deparse' => '1.22',
+ 'Benchmark' => '1.17',
+ 'Class::Struct' => '0.65',
+ 'Config' => '5.019002',
+ 'DB' => '1.07',
+ 'DBM_Filter' => '0.06',
+ 'DBM_Filter::compress' => '0.03',
+ 'DBM_Filter::encode' => '0.03',
+ 'DBM_Filter::int32' => '0.03',
+ 'DBM_Filter::null' => '0.03',
+ 'DBM_Filter::utf8' => '0.03',
+ 'DB_File' => '1.829',
+ 'Data::Dumper' => '2.147',
+ 'Devel::Peek' => '1.12',
+ 'Digest::MD5' => '2.53',
+ 'Digest::SHA' => '5.85',
+ 'English' => '1.07',
+ 'Errno' => '1.19',
+ 'ExtUtils::Embed' => '1.31',
+ 'ExtUtils::Miniperl' => '1',
+ 'ExtUtils::ParseXS' => '3.21',
+ 'ExtUtils::ParseXS::Constants'=> '3.21',
+ 'ExtUtils::ParseXS::CountLines'=> '3.21',
+ 'ExtUtils::ParseXS::Eval'=> '3.19',
+ 'ExtUtils::ParseXS::Utilities'=> '3.21',
+ 'ExtUtils::Typemaps' => '3.21',
+ 'ExtUtils::Typemaps::Cmd'=> '3.21',
+ 'ExtUtils::Typemaps::InputMap'=> '3.21',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.21',
+ 'ExtUtils::Typemaps::Type'=> '3.21',
+ 'ExtUtils::XSSymSet' => '1.3',
+ 'Fatal' => '2.20',
+ 'File::Basename' => '2.85',
+ 'File::Spec::VMS' => '3.43',
+ 'File::Spec::Win32' => '3.42',
+ 'Getopt::Long' => '2.41',
+ 'Getopt::Std' => '1.09',
+ 'HTTP::Tiny' => '0.034',
+ 'Hash::Util::FieldHash' => '1.12',
+ 'I18N::Langinfo' => '0.11',
+ 'IO::Socket::INET' => '1.34',
+ 'IO::Socket::UNIX' => '1.25',
+ 'IPC::Cmd' => '0.82',
+ 'MIME::Base64' => '3.14',
+ 'Module::CoreList' => '2.94',
+ 'Module::CoreList::TieHashDelta'=> '2.94',
+ 'Module::CoreList::Utils'=> '2.94',
+ 'POSIX' => '1.34',
+ 'Params::Check' => '0.38',
+ 'Parse::CPAN::Meta' => '1.4405',
+ 'Pod::Functions' => '1.07',
+ 'Pod::Functions::Functions'=> '1.07',
+ 'Pod::Html' => '1.2',
+ 'Safe' => '2.37',
+ 'Socket' => '2.010',
+ 'Storable' => '2.45',
+ 'Text::ParseWords' => '3.29',
+ 'Tie::Array' => '1.06',
+ 'Tie::Hash' => '1.05',
+ 'Tie::Scalar' => '1.03',
+ 'Time::Piece' => '1.21',
+ 'Time::Seconds' => '1.21',
+ 'XS::APItest' => '0.54',
+ 'autodie' => '2.20',
+ 'autodie::exception' => '2.20',
+ 'autodie::exception::system'=> '2.20',
+ 'autodie::hints' => '2.20',
+ 'autodie::skip' => '2.20',
+ 'base' => '2.19',
+ 'deprecate' => '0.03',
+ 'if' => '0.0603',
+ 'integer' => '1.01',
+ 'strict' => '1.08',
+ 'subs' => '1.02',
+ 'vmsish' => '1.04',
+ },
+ removed => {
+ }
},
- 5.015002 => {
+ 5.019003 => {
+ delta_from => 5.019002,
+ changed => {
+ 'B' => '1.45',
+ 'CPAN::Meta' => '2.132140',
+ 'CPAN::Meta::Converter' => '2.132140',
+ 'CPAN::Meta::Feature' => '2.132140',
+ 'CPAN::Meta::History' => '2.132140',
+ 'CPAN::Meta::Prereqs' => '2.132140',
+ 'CPAN::Meta::Spec' => '2.132140',
+ 'CPAN::Meta::Validator' => '2.132140',
+ 'Carp' => '1.31',
+ 'Carp::Heavy' => '1.31',
+ 'Compress::Raw::Bzip2' => '2.062',
+ 'Compress::Raw::Zlib' => '2.062',
+ 'Compress::Zlib' => '2.062',
+ 'Config' => '5.019003',
+ 'Config::Perl::V' => '0.19',
+ 'Cwd' => '3.44',
+ 'Data::Dumper' => '2.148',
+ 'Devel::PPPort' => '3.21',
+ 'Devel::Peek' => '1.13',
+ 'DynaLoader' => '1.19',
+ 'Encode' => '2.52',
+ 'Encode::Alias' => '2.17',
+ 'Encode::Encoding' => '2.06',
+ 'Encode::GSM0338' => '2.04',
+ 'Encode::MIME::Header' => '2.14',
+ 'Encode::Unicode' => '2.08',
+ 'English' => '1.08',
+ 'Exporter' => '5.69',
+ 'Exporter::Heavy' => '5.69',
+ 'ExtUtils::Command::MM' => '6.72',
+ 'ExtUtils::Liblist' => '6.72',
+ 'ExtUtils::Liblist::Kid'=> '6.72',
+ 'ExtUtils::MM' => '6.72',
+ 'ExtUtils::MM_AIX' => '6.72',
+ 'ExtUtils::MM_Any' => '6.72',
+ 'ExtUtils::MM_BeOS' => '6.72',
+ 'ExtUtils::MM_Cygwin' => '6.72',
+ 'ExtUtils::MM_DOS' => '6.72',
+ 'ExtUtils::MM_Darwin' => '6.72',
+ 'ExtUtils::MM_MacOS' => '6.72',
+ 'ExtUtils::MM_NW5' => '6.72',
+ 'ExtUtils::MM_OS2' => '6.72',
+ 'ExtUtils::MM_QNX' => '6.72',
+ 'ExtUtils::MM_UWIN' => '6.72',
+ 'ExtUtils::MM_Unix' => '6.72',
+ 'ExtUtils::MM_VMS' => '6.72',
+ 'ExtUtils::MM_VOS' => '6.72',
+ 'ExtUtils::MM_Win32' => '6.72',
+ 'ExtUtils::MM_Win95' => '6.72',
+ 'ExtUtils::MY' => '6.72',
+ 'ExtUtils::MakeMaker' => '6.72',
+ 'ExtUtils::MakeMaker::Config'=> '6.72',
+ 'ExtUtils::Mkbootstrap' => '6.72',
+ 'ExtUtils::Mksymlists' => '6.72',
+ 'ExtUtils::ParseXS::Eval'=> '3.21',
+ 'ExtUtils::testlib' => '6.72',
+ 'File::Spec' => '3.44',
+ 'File::Spec::Cygwin' => '3.44',
+ 'File::Spec::Epoc' => '3.44',
+ 'File::Spec::Functions' => '3.44',
+ 'File::Spec::Mac' => '3.44',
+ 'File::Spec::OS2' => '3.44',
+ 'File::Spec::Unix' => '3.44',
+ 'File::Spec::VMS' => '3.44',
+ 'File::Spec::Win32' => '3.44',
+ 'Getopt::Std' => '1.10',
+ 'IO::Compress::Adapter::Bzip2'=> '2.062',
+ 'IO::Compress::Adapter::Deflate'=> '2.062',
+ 'IO::Compress::Adapter::Identity'=> '2.062',
+ 'IO::Compress::Base' => '2.062',
+ 'IO::Compress::Base::Common'=> '2.062',
+ 'IO::Compress::Bzip2' => '2.062',
+ 'IO::Compress::Deflate' => '2.062',
+ 'IO::Compress::Gzip' => '2.062',
+ 'IO::Compress::Gzip::Constants'=> '2.062',
+ 'IO::Compress::RawDeflate'=> '2.062',
+ 'IO::Compress::Zip' => '2.062',
+ 'IO::Compress::Zip::Constants'=> '2.062',
+ 'IO::Compress::Zlib::Constants'=> '2.062',
+ 'IO::Compress::Zlib::Extra'=> '2.062',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.062',
+ 'IO::Uncompress::Adapter::Identity'=> '2.062',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.062',
+ 'IO::Uncompress::AnyInflate'=> '2.062',
+ 'IO::Uncompress::AnyUncompress'=> '2.062',
+ 'IO::Uncompress::Base' => '2.062',
+ 'IO::Uncompress::Bunzip2'=> '2.062',
+ 'IO::Uncompress::Gunzip'=> '2.062',
+ 'IO::Uncompress::Inflate'=> '2.062',
+ 'IO::Uncompress::RawInflate'=> '2.062',
+ 'IO::Uncompress::Unzip' => '2.062',
+ 'IPC::Cmd' => '0.84',
+ 'IPC::Msg' => '2.04',
+ 'IPC::Open3' => '1.15',
+ 'IPC::Semaphore' => '2.04',
+ 'IPC::SharedMem' => '2.04',
+ 'IPC::SysV' => '2.04',
+ 'List::Util' => '1.31',
+ 'List::Util::XS' => '1.31',
+ 'Math::BigFloat::Trace' => '0.36',
+ 'Math::BigInt::Trace' => '0.36',
+ 'Module::Build' => '0.4007',
+ 'Module::Build::Base' => '0.4007',
+ 'Module::Build::Compat' => '0.4007',
+ 'Module::Build::Config' => '0.4007',
+ 'Module::Build::Cookbook'=> '0.4007',
+ 'Module::Build::Dumper' => '0.4007',
+ 'Module::Build::ModuleInfo'=> '0.4007',
+ 'Module::Build::Notes' => '0.4007',
+ 'Module::Build::PPMMaker'=> '0.4007',
+ 'Module::Build::Platform::Default'=> '0.4007',
+ 'Module::Build::Platform::MacOS'=> '0.4007',
+ 'Module::Build::Platform::Unix'=> '0.4007',
+ 'Module::Build::Platform::VMS'=> '0.4007',
+ 'Module::Build::Platform::VOS'=> '0.4007',
+ 'Module::Build::Platform::Windows'=> '0.4007',
+ 'Module::Build::Platform::aix'=> '0.4007',
+ 'Module::Build::Platform::cygwin'=> '0.4007',
+ 'Module::Build::Platform::darwin'=> '0.4007',
+ 'Module::Build::Platform::os2'=> '0.4007',
+ 'Module::Build::PodParser'=> '0.4007',
+ 'Module::CoreList' => '2.97',
+ 'Module::CoreList::TieHashDelta'=> '2.97',
+ 'Module::CoreList::Utils'=> '2.97',
+ 'Net::Cmd' => '2.30',
+ 'Net::Config' => '1.12',
+ 'Net::Domain' => '2.22',
+ 'Net::FTP' => '2.78',
+ 'Net::FTP::dataconn' => '0.12',
+ 'Net::NNTP' => '2.25',
+ 'Net::Netrc' => '2.14',
+ 'Net::POP3' => '2.30',
+ 'Net::SMTP' => '2.32',
+ 'PerlIO' => '1.08',
+ 'Pod::Functions' => '1.08',
+ 'Pod::Functions::Functions'=> '1.08',
+ 'Scalar::Util' => '1.31',
+ 'Socket' => '2.011',
+ 'Storable' => '2.46',
+ 'Time::HiRes' => '1.9726',
+ 'Time::Piece' => '1.22',
+ 'Time::Seconds' => '1.22',
+ 'XS::APItest' => '0.55',
+ 'bigint' => '0.36',
+ 'bignum' => '0.36',
+ 'bigrat' => '0.36',
+ 'constant' => '1.28',
+ 'diagnostics' => '1.32',
+ 'inc::latest' => '0.4007',
+ 'mro' => '1.13',
+ 'parent' => '0.226',
+ 'utf8' => '1.13',
+ 'version' => '0.9903',
+ },
+ removed => {
+ 'Module::Build::Platform::Amiga'=> 1,
+ 'Module::Build::Platform::EBCDIC'=> 1,
+ 'Module::Build::Platform::MPEiX'=> 1,
+ 'Module::Build::Platform::RiscOS'=> 1,
+ }
},
- 5.014002 => {
- 'Shell' => '1',
+ 5.019004 => {
+ delta_from => 5.019003,
+ changed => {
+ 'B' => '1.46',
+ 'B::Concise' => '0.99',
+ 'B::Deparse' => '1.23',
+ 'CPAN' => '2.03',
+ 'CPAN::Meta' => '2.132620',
+ 'CPAN::Meta::Converter' => '2.132620',
+ 'CPAN::Meta::Feature' => '2.132620',
+ 'CPAN::Meta::History' => '2.132620',
+ 'CPAN::Meta::Prereqs' => '2.132620',
+ 'CPAN::Meta::Requirements'=> '2.123',
+ 'CPAN::Meta::Spec' => '2.132620',
+ 'CPAN::Meta::Validator' => '2.132620',
+ 'Carp' => '1.32',
+ 'Carp::Heavy' => '1.32',
+ 'Config' => '5.019004',
+ 'Data::Dumper' => '2.149',
+ 'Devel::Peek' => '1.14',
+ 'DynaLoader' => '1.20',
+ 'Encode' => '2.55',
+ 'Encode::Alias' => '2.18',
+ 'Encode::CN::HZ' => '2.07',
+ 'Encode::Encoder' => '2.03',
+ 'Encode::Encoding' => '2.07',
+ 'Encode::GSM0338' => '2.05',
+ 'Encode::Guess' => '2.06',
+ 'Encode::JP::JIS7' => '2.05',
+ 'Encode::KR::2022_KR' => '2.03',
+ 'Encode::MIME::Header' => '2.15',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.04',
+ 'Encode::Unicode' => '2.09',
+ 'Encode::Unicode::UTF7' => '2.08',
+ 'Errno' => '1.20',
+ 'Exporter' => '5.70',
+ 'Exporter::Heavy' => '5.70',
+ 'ExtUtils::CBuilder' => '0.280212',
+ 'ExtUtils::CBuilder::Base'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280212',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280212',
+ 'ExtUtils::Command' => '1.18',
+ 'ExtUtils::Command::MM' => '6.76',
+ 'ExtUtils::Liblist' => '6.76',
+ 'ExtUtils::Liblist::Kid'=> '6.76',
+ 'ExtUtils::MM' => '6.76',
+ 'ExtUtils::MM_AIX' => '6.76',
+ 'ExtUtils::MM_Any' => '6.76',
+ 'ExtUtils::MM_BeOS' => '6.76',
+ 'ExtUtils::MM_Cygwin' => '6.76',
+ 'ExtUtils::MM_DOS' => '6.76',
+ 'ExtUtils::MM_Darwin' => '6.76',
+ 'ExtUtils::MM_MacOS' => '6.76',
+ 'ExtUtils::MM_NW5' => '6.76',
+ 'ExtUtils::MM_OS2' => '6.76',
+ 'ExtUtils::MM_QNX' => '6.76',
+ 'ExtUtils::MM_UWIN' => '6.76',
+ 'ExtUtils::MM_Unix' => '6.76',
+ 'ExtUtils::MM_VMS' => '6.76',
+ 'ExtUtils::MM_VOS' => '6.76',
+ 'ExtUtils::MM_Win32' => '6.76',
+ 'ExtUtils::MM_Win95' => '6.76',
+ 'ExtUtils::MY' => '6.76',
+ 'ExtUtils::MakeMaker' => '6.76',
+ 'ExtUtils::MakeMaker::Config'=> '6.76',
+ 'ExtUtils::Mkbootstrap' => '6.76',
+ 'ExtUtils::Mksymlists' => '6.76',
+ 'ExtUtils::ParseXS' => '3.23',
+ 'ExtUtils::ParseXS::Constants'=> '3.23',
+ 'ExtUtils::ParseXS::CountLines'=> '3.23',
+ 'ExtUtils::ParseXS::Eval'=> '3.23',
+ 'ExtUtils::ParseXS::Utilities'=> '3.23',
+ 'ExtUtils::Typemaps' => '3.23',
+ 'ExtUtils::Typemaps::Cmd'=> '3.23',
+ 'ExtUtils::Typemaps::InputMap'=> '3.23',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.23',
+ 'ExtUtils::Typemaps::Type'=> '3.23',
+ 'ExtUtils::testlib' => '6.76',
+ 'Fatal' => '2.21',
+ 'File::Copy' => '2.28',
+ 'File::Find' => '1.25',
+ 'File::Glob' => '1.21',
+ 'FileCache' => '1.09',
+ 'HTTP::Tiny' => '0.035',
+ 'Hash::Util::FieldHash' => '1.13',
+ 'I18N::LangTags' => '0.40',
+ 'IO' => '1.29',
+ 'IO::Socket' => '1.37',
+ 'IPC::Open3' => '1.16',
+ 'JSON::PP' => '2.27202_01',
+ 'List::Util' => '1.32',
+ 'List::Util::XS' => '1.32',
+ 'Locale::Codes' => '3.27',
+ 'Locale::Codes::Constants'=> '3.27',
+ 'Locale::Codes::Country'=> '3.27',
+ 'Locale::Codes::Country_Codes'=> '3.27',
+ 'Locale::Codes::Country_Retired'=> '3.27',
+ 'Locale::Codes::Currency'=> '3.27',
+ 'Locale::Codes::Currency_Codes'=> '3.27',
+ 'Locale::Codes::Currency_Retired'=> '3.27',
+ 'Locale::Codes::LangExt'=> '3.27',
+ 'Locale::Codes::LangExt_Codes'=> '3.27',
+ 'Locale::Codes::LangExt_Retired'=> '3.27',
+ 'Locale::Codes::LangFam'=> '3.27',
+ 'Locale::Codes::LangFam_Codes'=> '3.27',
+ 'Locale::Codes::LangFam_Retired'=> '3.27',
+ 'Locale::Codes::LangVar'=> '3.27',
+ 'Locale::Codes::LangVar_Codes'=> '3.27',
+ 'Locale::Codes::LangVar_Retired'=> '3.27',
+ 'Locale::Codes::Language'=> '3.27',
+ 'Locale::Codes::Language_Codes'=> '3.27',
+ 'Locale::Codes::Language_Retired'=> '3.27',
+ 'Locale::Codes::Script' => '3.27',
+ 'Locale::Codes::Script_Codes'=> '3.27',
+ 'Locale::Codes::Script_Retired'=> '3.27',
+ 'Locale::Country' => '3.27',
+ 'Locale::Currency' => '3.27',
+ 'Locale::Language' => '3.27',
+ 'Locale::Script' => '3.27',
+ 'Math::BigFloat' => '1.9991',
+ 'Math::BigInt' => '1.9993',
+ 'Math::BigInt::FastCalc'=> '0.31',
+ 'Module::CoreList' => '2.99',
+ 'Module::CoreList::TieHashDelta'=> '2.99',
+ 'Module::CoreList::Utils'=> '2.99',
+ 'Module::Load::Conditional'=> '0.58',
+ 'Module::Metadata' => '1.000018',
+ 'Opcode' => '1.26',
+ 'POSIX' => '1.35',
+ 'Parse::CPAN::Meta' => '1.4407',
+ 'Perl::OSType' => '1.005',
+ 'Pod::Html' => '1.21',
+ 'Scalar::Util' => '1.32',
+ 'Socket' => '2.012',
+ 'Storable' => '2.47',
+ 'Term::ReadLine' => '1.14',
+ 'Test::Builder' => '0.98_06',
+ 'Test::Builder::Module' => '0.98_06',
+ 'Test::More' => '0.98_06',
+ 'Test::Simple' => '0.98_06',
+ 'Time::Piece' => '1.23',
+ 'Time::Seconds' => '1.23',
+ 'Unicode::Collate' => '0.99',
+ 'Unicode::UCD' => '0.54',
+ 'XS::APItest' => '0.56',
+ 'XS::Typemap' => '0.11',
+ '_charnames' => '1.39',
+ 'autodie' => '2.21',
+ 'autodie::exception' => '2.21',
+ 'autodie::exception::system'=> '2.21',
+ 'autodie::hints' => '2.21',
+ 'autodie::skip' => '2.21',
+ 'charnames' => '1.39',
+ 'diagnostics' => '1.33',
+ 'mro' => '1.14',
+ 'parent' => '0.228',
+ 'perlfaq' => '5.0150044',
+ 're' => '0.26',
+ 'version' => '0.9904',
+ 'warnings' => '1.19',
+ },
+ removed => {
+ }
},
- 5.015003 => {
+ 5.019005 => {
+ delta_from => 5.019004,
+ changed => {
+ 'App::Prove' => '3.29',
+ 'App::Prove::State' => '3.29',
+ 'App::Prove::State::Result'=> '3.29',
+ 'App::Prove::State::Result::Test'=> '3.29',
+ 'CPAN::Meta' => '2.132830',
+ 'CPAN::Meta::Converter' => '2.132830',
+ 'CPAN::Meta::Feature' => '2.132830',
+ 'CPAN::Meta::History' => '2.132830',
+ 'CPAN::Meta::Prereqs' => '2.132830',
+ 'CPAN::Meta::Requirements'=> '2.125',
+ 'CPAN::Meta::Spec' => '2.132830',
+ 'CPAN::Meta::Validator' => '2.132830',
+ 'CPAN::Meta::YAML' => '0.010',
+ 'Config' => '5.019005',
+ 'Cwd' => '3.45',
+ 'ExtUtils::Command::MM' => '6.80',
+ 'ExtUtils::Install' => '1.61',
+ 'ExtUtils::Liblist' => '6.80',
+ 'ExtUtils::Liblist::Kid'=> '6.80',
+ 'ExtUtils::MM' => '6.80',
+ 'ExtUtils::MM_AIX' => '6.80',
+ 'ExtUtils::MM_Any' => '6.80',
+ 'ExtUtils::MM_BeOS' => '6.80',
+ 'ExtUtils::MM_Cygwin' => '6.80',
+ 'ExtUtils::MM_DOS' => '6.80',
+ 'ExtUtils::MM_Darwin' => '6.80',
+ 'ExtUtils::MM_MacOS' => '6.80',
+ 'ExtUtils::MM_NW5' => '6.80',
+ 'ExtUtils::MM_OS2' => '6.80',
+ 'ExtUtils::MM_QNX' => '6.80',
+ 'ExtUtils::MM_UWIN' => '6.80',
+ 'ExtUtils::MM_Unix' => '6.80',
+ 'ExtUtils::MM_VMS' => '6.80',
+ 'ExtUtils::MM_VOS' => '6.80',
+ 'ExtUtils::MM_Win32' => '6.80',
+ 'ExtUtils::MM_Win95' => '6.80',
+ 'ExtUtils::MY' => '6.80',
+ 'ExtUtils::MakeMaker' => '6.80',
+ 'ExtUtils::MakeMaker::Config'=> '6.80',
+ 'ExtUtils::Mkbootstrap' => '6.80',
+ 'ExtUtils::Mksymlists' => '6.80',
+ 'ExtUtils::testlib' => '6.80',
+ 'Fatal' => '2.22',
+ 'File::Fetch' => '0.44',
+ 'File::Glob' => '1.22',
+ 'File::Spec' => '3.45',
+ 'File::Spec::Cygwin' => '3.45',
+ 'File::Spec::Epoc' => '3.45',
+ 'File::Spec::Functions' => '3.45',
+ 'File::Spec::Mac' => '3.45',
+ 'File::Spec::OS2' => '3.45',
+ 'File::Spec::Unix' => '3.45',
+ 'File::Spec::VMS' => '3.45',
+ 'File::Spec::Win32' => '3.45',
+ 'File::Temp' => '0.2304',
+ 'Getopt::Long' => '2.42',
+ 'HTTP::Tiny' => '0.036',
+ 'IPC::Cmd' => '0.84_01',
+ 'JSON::PP' => '2.27203',
+ 'List::Util' => '1.35',
+ 'List::Util::XS' => '1.35',
+ 'Module::CoreList' => '3.00',
+ 'Module::CoreList::TieHashDelta'=> '3.00',
+ 'Module::CoreList::Utils'=> '3.00',
+ 'Module::Metadata' => '1.000019',
+ 'Parse::CPAN::Meta' => '1.4409',
+ 'Perl::OSType' => '1.006',
+ 'PerlIO::scalar' => '0.17',
+ 'Pod::Man' => '2.28',
+ 'Pod::Text' => '3.18',
+ 'Pod::Text::Termcap' => '2.08',
+ 'Scalar::Util' => '1.35',
+ 'TAP::Base' => '3.29',
+ 'TAP::Formatter::Base' => '3.29',
+ 'TAP::Formatter::Color' => '3.29',
+ 'TAP::Formatter::Console'=> '3.29',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.29',
+ 'TAP::Formatter::Console::Session'=> '3.29',
+ 'TAP::Formatter::File' => '3.29',
+ 'TAP::Formatter::File::Session'=> '3.29',
+ 'TAP::Formatter::Session'=> '3.29',
+ 'TAP::Harness' => '3.29',
+ 'TAP::Harness::Env' => '3.29',
+ 'TAP::Object' => '3.29',
+ 'TAP::Parser' => '3.29',
+ 'TAP::Parser::Aggregator'=> '3.29',
+ 'TAP::Parser::Grammar' => '3.29',
+ 'TAP::Parser::Iterator' => '3.29',
+ 'TAP::Parser::Iterator::Array'=> '3.29',
+ 'TAP::Parser::Iterator::Process'=> '3.29',
+ 'TAP::Parser::Iterator::Stream'=> '3.29',
+ 'TAP::Parser::IteratorFactory'=> '3.29',
+ 'TAP::Parser::Multiplexer'=> '3.29',
+ 'TAP::Parser::Result' => '3.29',
+ 'TAP::Parser::Result::Bailout'=> '3.29',
+ 'TAP::Parser::Result::Comment'=> '3.29',
+ 'TAP::Parser::Result::Plan'=> '3.29',
+ 'TAP::Parser::Result::Pragma'=> '3.29',
+ 'TAP::Parser::Result::Test'=> '3.29',
+ 'TAP::Parser::Result::Unknown'=> '3.29',
+ 'TAP::Parser::Result::Version'=> '3.29',
+ 'TAP::Parser::Result::YAML'=> '3.29',
+ 'TAP::Parser::ResultFactory'=> '3.29',
+ 'TAP::Parser::Scheduler'=> '3.29',
+ 'TAP::Parser::Scheduler::Job'=> '3.29',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.29',
+ 'TAP::Parser::Source' => '3.29',
+ 'TAP::Parser::SourceHandler'=> '3.29',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.29',
+ 'TAP::Parser::SourceHandler::File'=> '3.29',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.29',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.29',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.29',
+ 'TAP::Parser::YAMLish::Reader'=> '3.29',
+ 'TAP::Parser::YAMLish::Writer'=> '3.29',
+ 'Test::Builder' => '0.99',
+ 'Test::Builder::Module' => '0.99',
+ 'Test::Builder::Tester' => '1.23_002',
+ 'Test::Builder::Tester::Color'=> '1.23_002',
+ 'Test::Harness' => '3.29',
+ 'Test::More' => '0.99',
+ 'Test::Simple' => '0.99',
+ 'Unicode' => '6.3.0',
+ 'Unicode::Normalize' => '1.17',
+ 'Unicode::UCD' => '0.55',
+ 'attributes' => '0.22',
+ 'autodie' => '2.22',
+ 'autodie::exception' => '2.22',
+ 'autodie::exception::system'=> '2.22',
+ 'autodie::hints' => '2.22',
+ 'autodie::skip' => '2.22',
+ 'feature' => '1.34',
+ 'threads' => '1.89',
+ 'warnings' => '1.20',
+ },
+ removed => {
+ 'TAP::Parser::Utils' => 1,
+ }
},
- 5.015004 => {
+ 5.019006 => {
+ delta_from => 5.019005,
+ changed => {
+ 'App::Prove' => '3.30',
+ 'App::Prove::State' => '3.30',
+ 'App::Prove::State::Result'=> '3.30',
+ 'App::Prove::State::Result::Test'=> '3.30',
+ 'Archive::Tar' => '1.96',
+ 'Archive::Tar::Constant'=> '1.96',
+ 'Archive::Tar::File' => '1.96',
+ 'AutoLoader' => '5.74',
+ 'B' => '1.47',
+ 'B::Concise' => '0.991',
+ 'B::Debug' => '1.19',
+ 'B::Deparse' => '1.24',
+ 'Benchmark' => '1.18',
+ 'Compress::Raw::Bzip2' => '2.063',
+ 'Compress::Raw::Zlib' => '2.063',
+ 'Compress::Zlib' => '2.063',
+ 'Config' => '5.019006',
+ 'DB_File' => '1.831',
+ 'Devel::Peek' => '1.15',
+ 'DynaLoader' => '1.21',
+ 'Errno' => '1.20_01',
+ 'ExtUtils::Command::MM' => '6.82',
+ 'ExtUtils::Liblist' => '6.82',
+ 'ExtUtils::Liblist::Kid'=> '6.82',
+ 'ExtUtils::MM' => '6.82',
+ 'ExtUtils::MM_AIX' => '6.82',
+ 'ExtUtils::MM_Any' => '6.82',
+ 'ExtUtils::MM_BeOS' => '6.82',
+ 'ExtUtils::MM_Cygwin' => '6.82',
+ 'ExtUtils::MM_DOS' => '6.82',
+ 'ExtUtils::MM_Darwin' => '6.82',
+ 'ExtUtils::MM_MacOS' => '6.82',
+ 'ExtUtils::MM_NW5' => '6.82',
+ 'ExtUtils::MM_OS2' => '6.82',
+ 'ExtUtils::MM_QNX' => '6.82',
+ 'ExtUtils::MM_UWIN' => '6.82',
+ 'ExtUtils::MM_Unix' => '6.82',
+ 'ExtUtils::MM_VMS' => '6.82',
+ 'ExtUtils::MM_VOS' => '6.82',
+ 'ExtUtils::MM_Win32' => '6.82',
+ 'ExtUtils::MM_Win95' => '6.82',
+ 'ExtUtils::MY' => '6.82',
+ 'ExtUtils::MakeMaker' => '6.82',
+ 'ExtUtils::MakeMaker::Config'=> '6.82',
+ 'ExtUtils::Mkbootstrap' => '6.82',
+ 'ExtUtils::Mksymlists' => '6.82',
+ 'ExtUtils::testlib' => '6.82',
+ 'File::DosGlob' => '1.12',
+ 'File::Find' => '1.26',
+ 'File::Glob' => '1.23',
+ 'HTTP::Tiny' => '0.038',
+ 'IO' => '1.30',
+ 'IO::Compress::Adapter::Bzip2'=> '2.063',
+ 'IO::Compress::Adapter::Deflate'=> '2.063',
+ 'IO::Compress::Adapter::Identity'=> '2.063',
+ 'IO::Compress::Base' => '2.063',
+ 'IO::Compress::Base::Common'=> '2.063',
+ 'IO::Compress::Bzip2' => '2.063',
+ 'IO::Compress::Deflate' => '2.063',
+ 'IO::Compress::Gzip' => '2.063',
+ 'IO::Compress::Gzip::Constants'=> '2.063',
+ 'IO::Compress::RawDeflate'=> '2.063',
+ 'IO::Compress::Zip' => '2.063',
+ 'IO::Compress::Zip::Constants'=> '2.063',
+ 'IO::Compress::Zlib::Constants'=> '2.063',
+ 'IO::Compress::Zlib::Extra'=> '2.063',
+ 'IO::Select' => '1.22',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.063',
+ 'IO::Uncompress::Adapter::Identity'=> '2.063',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.063',
+ 'IO::Uncompress::AnyInflate'=> '2.063',
+ 'IO::Uncompress::AnyUncompress'=> '2.063',
+ 'IO::Uncompress::Base' => '2.063',
+ 'IO::Uncompress::Bunzip2'=> '2.063',
+ 'IO::Uncompress::Gunzip'=> '2.063',
+ 'IO::Uncompress::Inflate'=> '2.063',
+ 'IO::Uncompress::RawInflate'=> '2.063',
+ 'IO::Uncompress::Unzip' => '2.063',
+ 'IPC::Cmd' => '0.90',
+ 'Locale::Maketext' => '1.25',
+ 'Module::Build' => '0.4202',
+ 'Module::Build::Base' => '0.4202',
+ 'Module::Build::Compat' => '0.4202',
+ 'Module::Build::Config' => '0.4202',
+ 'Module::Build::Cookbook'=> '0.4202',
+ 'Module::Build::Dumper' => '0.4202',
+ 'Module::Build::ModuleInfo'=> '0.4202',
+ 'Module::Build::Notes' => '0.4202',
+ 'Module::Build::PPMMaker'=> '0.4202',
+ 'Module::Build::Platform::Default'=> '0.4202',
+ 'Module::Build::Platform::MacOS'=> '0.4202',
+ 'Module::Build::Platform::Unix'=> '0.4202',
+ 'Module::Build::Platform::VMS'=> '0.4202',
+ 'Module::Build::Platform::VOS'=> '0.4202',
+ 'Module::Build::Platform::Windows'=> '0.4202',
+ 'Module::Build::Platform::aix'=> '0.4202',
+ 'Module::Build::Platform::cygwin'=> '0.4202',
+ 'Module::Build::Platform::darwin'=> '0.4202',
+ 'Module::Build::Platform::os2'=> '0.4202',
+ 'Module::Build::PodParser'=> '0.4202',
+ 'Module::CoreList' => '3.01',
+ 'Module::CoreList::TieHashDelta'=> '3.01',
+ 'Module::CoreList::Utils'=> '3.01',
+ 'Opcode' => '1.27',
+ 'POSIX' => '1.36',
+ 'Package::Constants' => '0.04',
+ 'PerlIO::scalar' => '0.18',
+ 'PerlIO::via' => '0.13',
+ 'SDBM_File' => '1.10',
+ 'Socket' => '2.013',
+ 'TAP::Base' => '3.30',
+ 'TAP::Formatter::Base' => '3.30',
+ 'TAP::Formatter::Color' => '3.30',
+ 'TAP::Formatter::Console'=> '3.30',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.30',
+ 'TAP::Formatter::Console::Session'=> '3.30',
+ 'TAP::Formatter::File' => '3.30',
+ 'TAP::Formatter::File::Session'=> '3.30',
+ 'TAP::Formatter::Session'=> '3.30',
+ 'TAP::Harness' => '3.30',
+ 'TAP::Harness::Env' => '3.30',
+ 'TAP::Object' => '3.30',
+ 'TAP::Parser' => '3.30',
+ 'TAP::Parser::Aggregator'=> '3.30',
+ 'TAP::Parser::Grammar' => '3.30',
+ 'TAP::Parser::Iterator' => '3.30',
+ 'TAP::Parser::Iterator::Array'=> '3.30',
+ 'TAP::Parser::Iterator::Process'=> '3.30',
+ 'TAP::Parser::Iterator::Stream'=> '3.30',
+ 'TAP::Parser::IteratorFactory'=> '3.30',
+ 'TAP::Parser::Multiplexer'=> '3.30',
+ 'TAP::Parser::Result' => '3.30',
+ 'TAP::Parser::Result::Bailout'=> '3.30',
+ 'TAP::Parser::Result::Comment'=> '3.30',
+ 'TAP::Parser::Result::Plan'=> '3.30',
+ 'TAP::Parser::Result::Pragma'=> '3.30',
+ 'TAP::Parser::Result::Test'=> '3.30',
+ 'TAP::Parser::Result::Unknown'=> '3.30',
+ 'TAP::Parser::Result::Version'=> '3.30',
+ 'TAP::Parser::Result::YAML'=> '3.30',
+ 'TAP::Parser::ResultFactory'=> '3.30',
+ 'TAP::Parser::Scheduler'=> '3.30',
+ 'TAP::Parser::Scheduler::Job'=> '3.30',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.30',
+ 'TAP::Parser::Source' => '3.30',
+ 'TAP::Parser::SourceHandler'=> '3.30',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.30',
+ 'TAP::Parser::SourceHandler::File'=> '3.30',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.30',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.30',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.30',
+ 'TAP::Parser::YAMLish::Reader'=> '3.30',
+ 'TAP::Parser::YAMLish::Writer'=> '3.30',
+ 'Term::Cap' => '1.15',
+ 'Test::Builder' => '1.001002',
+ 'Test::Builder::Module' => '1.001002',
+ 'Test::Harness' => '3.30',
+ 'Test::More' => '1.001002',
+ 'Test::Simple' => '1.001002',
+ 'Tie::StdHandle' => '4.4',
+ 'Unicode::Collate' => '1.02',
+ 'Unicode::Collate::CJK::Korean'=> '1.02',
+ 'Unicode::Collate::Locale'=> '1.02',
+ 'XS::APItest' => '0.57',
+ 'XS::Typemap' => '0.12',
+ 'arybase' => '0.07',
+ 'bignum' => '0.37',
+ 'constant' => '1.29',
+ 'fields' => '2.17',
+ 'inc::latest' => '0.4202',
+ 'threads' => '1.90',
+ 'threads::shared' => '1.45',
+ },
+ removed => {
+ }
},
- 5.015005 => {
+ 5.019007 => {
+ delta_from => 5.019006,
+ changed => {
+ 'CGI' => '3.64',
+ 'CGI::Apache' => '1.02',
+ 'CGI::Carp' => '3.64',
+ 'CGI::Cookie' => '1.31',
+ 'CGI::Fast' => '1.10',
+ 'CGI::Pretty' => '3.64',
+ 'CGI::Push' => '1.06',
+ 'CGI::Switch' => '1.02',
+ 'CGI::Util' => '3.64',
+ 'CPAN::Meta' => '2.133380',
+ 'CPAN::Meta::Converter' => '2.133380',
+ 'CPAN::Meta::Feature' => '2.133380',
+ 'CPAN::Meta::History' => '2.133380',
+ 'CPAN::Meta::Prereqs' => '2.133380',
+ 'CPAN::Meta::Spec' => '2.133380',
+ 'CPAN::Meta::Validator' => '2.133380',
+ 'Config' => '5.019007',
+ 'Data::Dumper' => '2.150',
+ 'DynaLoader' => '1.22',
+ 'ExtUtils::Command::MM' => '6.84',
+ 'ExtUtils::Liblist' => '6.84',
+ 'ExtUtils::Liblist::Kid'=> '6.84',
+ 'ExtUtils::MM' => '6.84',
+ 'ExtUtils::MM_AIX' => '6.84',
+ 'ExtUtils::MM_Any' => '6.84',
+ 'ExtUtils::MM_BeOS' => '6.84',
+ 'ExtUtils::MM_Cygwin' => '6.84',
+ 'ExtUtils::MM_DOS' => '6.84',
+ 'ExtUtils::MM_Darwin' => '6.84',
+ 'ExtUtils::MM_MacOS' => '6.84',
+ 'ExtUtils::MM_NW5' => '6.84',
+ 'ExtUtils::MM_OS2' => '6.84',
+ 'ExtUtils::MM_QNX' => '6.84',
+ 'ExtUtils::MM_UWIN' => '6.84',
+ 'ExtUtils::MM_Unix' => '6.84',
+ 'ExtUtils::MM_VMS' => '6.84',
+ 'ExtUtils::MM_VOS' => '6.84',
+ 'ExtUtils::MM_Win32' => '6.84',
+ 'ExtUtils::MM_Win95' => '6.84',
+ 'ExtUtils::MY' => '6.84',
+ 'ExtUtils::MakeMaker' => '6.84',
+ 'ExtUtils::MakeMaker::Config'=> '6.84',
+ 'ExtUtils::Mkbootstrap' => '6.84',
+ 'ExtUtils::Mksymlists' => '6.84',
+ 'ExtUtils::testlib' => '6.84',
+ 'File::Fetch' => '0.46',
+ 'HTTP::Tiny' => '0.039',
+ 'Locale::Codes' => '3.28',
+ 'Locale::Codes::Constants'=> '3.28',
+ 'Locale::Codes::Country'=> '3.28',
+ 'Locale::Codes::Country_Codes'=> '3.28',
+ 'Locale::Codes::Country_Retired'=> '3.28',
+ 'Locale::Codes::Currency'=> '3.28',
+ 'Locale::Codes::Currency_Codes'=> '3.28',
+ 'Locale::Codes::Currency_Retired'=> '3.28',
+ 'Locale::Codes::LangExt'=> '3.28',
+ 'Locale::Codes::LangExt_Codes'=> '3.28',
+ 'Locale::Codes::LangExt_Retired'=> '3.28',
+ 'Locale::Codes::LangFam'=> '3.28',
+ 'Locale::Codes::LangFam_Codes'=> '3.28',
+ 'Locale::Codes::LangFam_Retired'=> '3.28',
+ 'Locale::Codes::LangVar'=> '3.28',
+ 'Locale::Codes::LangVar_Codes'=> '3.28',
+ 'Locale::Codes::LangVar_Retired'=> '3.28',
+ 'Locale::Codes::Language'=> '3.28',
+ 'Locale::Codes::Language_Codes'=> '3.28',
+ 'Locale::Codes::Language_Retired'=> '3.28',
+ 'Locale::Codes::Script' => '3.28',
+ 'Locale::Codes::Script_Codes'=> '3.28',
+ 'Locale::Codes::Script_Retired'=> '3.28',
+ 'Locale::Country' => '3.28',
+ 'Locale::Currency' => '3.28',
+ 'Locale::Language' => '3.28',
+ 'Locale::Script' => '3.28',
+ 'Module::Build' => '0.4203',
+ 'Module::Build::Base' => '0.4203',
+ 'Module::Build::Compat' => '0.4203',
+ 'Module::Build::Config' => '0.4203',
+ 'Module::Build::Cookbook'=> '0.4203',
+ 'Module::Build::Dumper' => '0.4203',
+ 'Module::Build::ModuleInfo'=> '0.4203',
+ 'Module::Build::Notes' => '0.4203',
+ 'Module::Build::PPMMaker'=> '0.4203',
+ 'Module::Build::Platform::Default'=> '0.4203',
+ 'Module::Build::Platform::MacOS'=> '0.4203',
+ 'Module::Build::Platform::Unix'=> '0.4203',
+ 'Module::Build::Platform::VMS'=> '0.4203',
+ 'Module::Build::Platform::VOS'=> '0.4203',
+ 'Module::Build::Platform::Windows'=> '0.4203',
+ 'Module::Build::Platform::aix'=> '0.4203',
+ 'Module::Build::Platform::cygwin'=> '0.4203',
+ 'Module::Build::Platform::darwin'=> '0.4203',
+ 'Module::Build::Platform::os2'=> '0.4203',
+ 'Module::Build::PodParser'=> '0.4203',
+ 'Module::CoreList' => '3.02',
+ 'Module::CoreList::TieHashDelta'=> '3.02',
+ 'Module::CoreList::Utils'=> '3.02',
+ 'POSIX' => '1.37',
+ 'PathTools::Cwd' => '3.45',
+ 'PerlIO::encoding' => '0.17',
+ 'PerlIO::via' => '0.14',
+ 'SDBM_File' => '1.11',
+ 'Storable' => '2.48',
+ 'Time::Piece' => '1.24',
+ 'Time::Seconds' => '1.24',
+ 'Unicode::Collate' => '1.04',
+ 'Win32' => '0.48',
+ 'XS::APItest' => '0.58',
+ 'base' => '2.20',
+ 'constant' => '1.30',
+ 'inc::latest' => '0.4203',
+ 'threads' => '1.91',
+ },
+ removed => {
+ }
},
- 5.015006 => {
+);
+
+sub is_core
+{
+ my $module = shift;
+ $module = shift if eval { $module->isa(__PACKAGE__) } && @_ > 0 && defined($_[0]) && $_[0] =~ /^\w/;
+ my ($module_version, $perl_version);
+
+ $module_version = shift if @_ > 0;
+ $perl_version = @_ > 0 ? shift : $^V;
+
+ my $first_release = first_release($module);
+
+ return 0 if !defined($first_release) || $first_release > $perl_version;
+
+ my $final_release = removed_from($module);
+
+ return 0 if defined($final_release) && $perl_version > $final_release;
+
+ # If a minimum version of the module was specified:
+ # Step through all perl releases ($prn)
+ # so we can find what version of the module
+ # was included in the specified version of perl.
+ # On the way if we pass the required module version, we can
+ # short-circuit and return true
+ if (defined($module_version)) {
+ # The Perl releases aren't a linear sequence, but a tree. We need to build the path
+ # of releases from 5 to the specified release, and follow the module's version(s)
+ # along that path.
+ my @releases = ($perl_version);
+ my $rel = $perl_version;
+ while (defined($rel)) {
+ $rel = $delta{$rel}->{delta_from};
+ unshift(@releases, $rel) if defined($rel);
+ }
+ RELEASE:
+ foreach my $prn (@releases) {
+ next RELEASE if $prn <= $first_release;
+ last RELEASE if $prn > $perl_version;
+ next unless defined(my $next_module_version
+ = $delta{$prn}->{changed}->{$module});
+ return 1 if $next_module_version >= $module_version;
+ }
+ return 0;
+ }
+
+ return 1 if !defined($final_release);
+
+ return $perl_version <= $final_release;
+}
+
+for my $version (sort { $a <=> $b } keys %delta) {
+ my $data = $delta{$version};
+
+ tie %{$version{$version}}, 'Module::CoreList::TieHashDelta',
+ $data->{changed}, $data->{removed},
+ $data->{delta_from} ? $version{$data->{delta_from}} : undef;
+}
+
+%deprecated = (
+ 5.011 => {
+ changed => { map { $_ => 1 } qw/
+ Class::ISA
+ Pod::Plainer
+ Shell
+ Switch
+ /},
},
- 5.015007 => {
+ 5.011001 => { delta_from => 5.011 },
+ 5.011002 => { delta_from => 5.011001 },
+ 5.011003 => { delta_from => 5.011002 },
+ 5.011004 => { delta_from => 5.011003 },
+ 5.011005 => { delta_from => 5.011004 },
+
+ 5.012 => { delta_from => 5.011005 },
+ 5.012001 => { delta_from => 5.012 },
+ 5.012002 => { delta_from => 5.012001 },
+ 5.012003 => { delta_from => 5.012002 },
+ 5.012004 => { delta_from => 5.012003 },
+ 5.012005 => { delta_from => 5.012004 },
+
+ 5.013 => { delta_from => 5.012005 },
+ 5.013001 => {
+ delta_from => 5.013,
+ removed => { map { $_ => 1 } qw/
+ Class::ISA
+ Pod::Plainer
+ Switch
+ /},
},
- 5.015008 => {
+ 5.013002 => { delta_from => 5.013001 },
+ 5.013003 => { delta_from => 5.013002 },
+ 5.013004 => { delta_from => 5.013003 },
+ 5.013005 => { delta_from => 5.013004 },
+ 5.013006 => { delta_from => 5.013005 },
+ 5.013007 => { delta_from => 5.013006 },
+ 5.013008 => { delta_from => 5.013007 },
+ 5.013009 => { delta_from => 5.013008 },
+ 5.01301 => { delta_from => 5.013009 },
+ 5.013011 => { delta_from => 5.01301 },
+
+ 5.014 => { delta_from => 5.013011 },
+ 5.014001 => { delta_from => 5.014 },
+ 5.014002 => { delta_from => 5.014001 },
+ 5.014003 => { delta_from => 5.014002 },
+ 5.014004 => { delta_from => 5.014003 },
+
+ 5.015 => {
+ delta_from => 5.014004,
+ removed => { Shell => 1 },
},
- 5.015009 => {
+ 5.015001 => { delta_from => 5.015 },
+ 5.015002 => { delta_from => 5.015001 },
+ 5.015003 => { delta_from => 5.015002 },
+ 5.015004 => { delta_from => 5.015003 },
+ 5.015005 => { delta_from => 5.015004 },
+ 5.015006 => { delta_from => 5.015005 },
+ 5.015007 => { delta_from => 5.015006 },
+ 5.015008 => { delta_from => 5.015007 },
+ 5.015009 => { delta_from => 5.015008 },
+
+ 5.016 => { delta_from => 5.015009 },
+ 5.016001 => { delta_from => 5.016 },
+ 5.016002 => { delta_from => 5.016001 },
+ 5.016003 => { delta_from => 5.016002 },
+
+ 5.017 => { delta_from => 5.016003 },
+ 5.017001 => { delta_from => 5.017 },
+ 5.017002 => { delta_from => 5.017001 },
+ 5.017003 => { delta_from => 5.017002 },
+ 5.017004 => { delta_from => 5.017003 },
+ 5.017005 => { delta_from => 5.017004 },
+ 5.017006 => { delta_from => 5.017005 },
+ 5.017007 => { delta_from => 5.017006 },
+ 5.017008 => {
+ delta_from => 5.017007,
+ changed => { 'Pod::LaTeX' => 1 },
},
- 5.016000 => {
+ 5.017009 => {
+ delta_from => 5.017008,
+ changed => { map { $_ => 1 } qw/
+ Archive::Extract
+ B::Lint
+ B::Lint::Debug
+ CPANPLUS
+ CPANPLUS::Backend
+ CPANPLUS::Backend::RV
+ CPANPLUS::Config
+ CPANPLUS::Config::HomeEnv
+ CPANPLUS::Configure
+ CPANPLUS::Configure::Setup
+ CPANPLUS::Dist
+ CPANPLUS::Dist::Autobundle
+ CPANPLUS::Dist::Base
+ CPANPLUS::Dist::Build
+ CPANPLUS::Dist::Build::Constants
+ CPANPLUS::Dist::MM
+ CPANPLUS::Dist::Sample
+ CPANPLUS::Error
+ CPANPLUS::Internals
+ CPANPLUS::Internals::Constants
+ CPANPLUS::Internals::Constants::Report
+ CPANPLUS::Internals::Extract
+ CPANPLUS::Internals::Fetch
+ CPANPLUS::Internals::Report
+ CPANPLUS::Internals::Search
+ CPANPLUS::Internals::Source
+ CPANPLUS::Internals::Source::Memory
+ CPANPLUS::Internals::Source::SQLite
+ CPANPLUS::Internals::Source::SQLite::Tie
+ CPANPLUS::Internals::Utils
+ CPANPLUS::Internals::Utils::Autoflush
+ CPANPLUS::Module
+ CPANPLUS::Module::Author
+ CPANPLUS::Module::Author::Fake
+ CPANPLUS::Module::Checksums
+ CPANPLUS::Module::Fake
+ CPANPLUS::Module::Signature
+ CPANPLUS::Selfupdate
+ CPANPLUS::Shell
+ CPANPLUS::Shell::Classic
+ CPANPLUS::Shell::Default
+ CPANPLUS::Shell::Default::Plugins::CustomSource
+ CPANPLUS::Shell::Default::Plugins::Remote
+ CPANPLUS::Shell::Default::Plugins::Source
+ Devel::InnerPackage
+ File::CheckTree
+ Log::Message
+ Log::Message::Config
+ Log::Message::Handlers
+ Log::Message::Item
+ Log::Message::Simple
+ Module::Pluggable
+ Module::Pluggable::Object
+ Object::Accessor
+ Term::UI
+ Term::UI::History
+ Text::Soundex
+ /},
},
- 5.016001 => {
+ 5.01701 => { delta_from => 5.017009 },
+ 5.017011 => { delta_from => 5.01701 },
+ 5.017012 => { delta_from => 5.017011 },
+
+ 5.018 => { delta_from => 5.017012 },
+ 5.018001 => {
+ delta_from => 5.018,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.016002 => {
+ 5.018002 => {
+ delta_from => 5.018001,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.017000 => {
+
+
+ 5.019 => {
+ delta_from => 5.018,
+ changed => { 'Module::Build' => 1 },
+ removed => { map { $_ => 1 } qw/
+ Archive::Extract
+ B::Lint
+ B::Lint::Debug
+ CPANPLUS
+ CPANPLUS::Backend
+ CPANPLUS::Backend::RV
+ CPANPLUS::Config
+ CPANPLUS::Config::HomeEnv
+ CPANPLUS::Configure
+ CPANPLUS::Configure::Setup
+ CPANPLUS::Dist
+ CPANPLUS::Dist::Autobundle
+ CPANPLUS::Dist::Base
+ CPANPLUS::Dist::Build
+ CPANPLUS::Dist::Build::Constants
+ CPANPLUS::Dist::MM
+ CPANPLUS::Dist::Sample
+ CPANPLUS::Error
+ CPANPLUS::Internals
+ CPANPLUS::Internals::Constants
+ CPANPLUS::Internals::Constants::Report
+ CPANPLUS::Internals::Extract
+ CPANPLUS::Internals::Fetch
+ CPANPLUS::Internals::Report
+ CPANPLUS::Internals::Search
+ CPANPLUS::Internals::Source
+ CPANPLUS::Internals::Source::Memory
+ CPANPLUS::Internals::Source::SQLite
+ CPANPLUS::Internals::Source::SQLite::Tie
+ CPANPLUS::Internals::Utils
+ CPANPLUS::Internals::Utils::Autoflush
+ CPANPLUS::Module
+ CPANPLUS::Module::Author
+ CPANPLUS::Module::Author::Fake
+ CPANPLUS::Module::Checksums
+ CPANPLUS::Module::Fake
+ CPANPLUS::Module::Signature
+ CPANPLUS::Selfupdate
+ CPANPLUS::Shell
+ CPANPLUS::Shell::Classic
+ CPANPLUS::Shell::Default
+ CPANPLUS::Shell::Default::Plugins::CustomSource
+ CPANPLUS::Shell::Default::Plugins::Remote
+ CPANPLUS::Shell::Default::Plugins::Source
+ Devel::InnerPackage
+ File::CheckTree
+ Log::Message
+ Log::Message::Config
+ Log::Message::Handlers
+ Log::Message::Item
+ Log::Message::Simple
+ Module::Pluggable
+ Module::Pluggable::Object
+ Object::Accessor
+ Pod::LaTeX
+ Term::UI
+ Term::UI::History
+ Text::Soundex
+ /}
},
- 5.017001 => {
+ 5.019001 => {
+ delta_from => 5.019,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.017002 => {
+ 5.019002 => {
+ delta_from => 5.019001,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.017003 => {
+ 5.019003 => {
+ delta_from => 5.019002,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.017004 => {
+ 5.019004 => {
+ delta_from => 5.019003,
+ changed => {
+ 'Module::Build::Base' => '1',
+ 'Module::Build::Compat' => '1',
+ 'Module::Build::Config' => '1',
+ 'Module::Build::ConfigData'=> '1',
+ 'Module::Build::Cookbook'=> '1',
+ 'Module::Build::Dumper' => '1',
+ 'Module::Build::ModuleInfo'=> '1',
+ 'Module::Build::Notes' => '1',
+ 'Module::Build::PPMMaker'=> '1',
+ 'Module::Build::Platform::Default'=> '1',
+ 'Module::Build::Platform::MacOS'=> '1',
+ 'Module::Build::Platform::Unix'=> '1',
+ 'Module::Build::Platform::VMS'=> '1',
+ 'Module::Build::Platform::VOS'=> '1',
+ 'Module::Build::Platform::Windows'=> '1',
+ 'Module::Build::Platform::aix'=> '1',
+ 'Module::Build::Platform::cygwin'=> '1',
+ 'Module::Build::Platform::darwin'=> '1',
+ 'Module::Build::Platform::os2'=> '1',
+ 'Module::Build::PodParser'=> '1',
+ 'Module::Build::Version'=> '1',
+ 'Module::Build::YAML' => '1',
+ 'inc::latest' => '1',
+ },
+ removed => {
+ }
},
- 5.014003 => {
- 'Shell' => '1',
+ 5.019005 => {
+ delta_from => 5.019004,
+ changed => {
+ },
+ removed => {
+ }
},
- 5.017005 => {
+ 5.019006 => {
+ delta_from => 5.019005,
+ changed => {
+ 'Package::Constants' => '1',
+ },
+ removed => {
+ }
},
);
+for my $version (sort { $a <=> $b } keys %deprecated) {
+ my $data = $deprecated{$version};
+
+ tie %{ $deprecated{$version} }, 'Module::CoreList::TieHashDelta',
+ $data->{changed}, $data->{removed},
+ $data->{delta_from} ? $deprecated{ $data->{delta_from} } : undef;
+}
+
%upstream = (
'App::Cpan' => 'cpan',
'App::Prove' => 'cpan',
'App::Prove::State' => 'cpan',
'App::Prove::State::Result'=> 'cpan',
'App::Prove::State::Result::Test'=> 'cpan',
- 'Archive::Extract' => 'cpan',
'Archive::Tar' => 'cpan',
'Archive::Tar::Constant'=> 'cpan',
'Archive::Tar::File' => 'cpan',
- 'Attribute::Handlers' => 'blead',
'AutoLoader' => 'cpan',
'AutoSplit' => 'cpan',
- 'B::Concise' => 'blead',
'B::Debug' => 'cpan',
- 'B::Deparse' => 'blead',
- 'B::Lint' => 'blead',
- 'B::Lint::Debug' => 'blead',
'CGI' => 'cpan',
'CGI::Apache' => 'cpan',
'CGI::Carp' => 'cpan',
@@ -7533,55 +9690,11 @@ for my $version (sort { $a <=> $b } keys %delta) {
'CPAN::Tarzip' => 'cpan',
'CPAN::URL' => 'cpan',
'CPAN::Version' => 'cpan',
- 'CPANPLUS' => 'cpan',
- 'CPANPLUS::Backend' => 'cpan',
- 'CPANPLUS::Backend::RV' => 'cpan',
- 'CPANPLUS::Config' => 'cpan',
- 'CPANPLUS::Config::HomeEnv'=> 'cpan',
- 'CPANPLUS::Configure' => 'cpan',
- 'CPANPLUS::Configure::Setup'=> 'cpan',
- 'CPANPLUS::Dist' => 'cpan',
- 'CPANPLUS::Dist::Autobundle'=> 'cpan',
- 'CPANPLUS::Dist::Base' => 'cpan',
- 'CPANPLUS::Dist::Build' => 'cpan',
- 'CPANPLUS::Dist::Build::Constants'=> 'cpan',
- 'CPANPLUS::Dist::MM' => 'cpan',
- 'CPANPLUS::Dist::Sample'=> 'cpan',
- 'CPANPLUS::Error' => 'cpan',
- 'CPANPLUS::Internals' => 'cpan',
- 'CPANPLUS::Internals::Constants'=> 'cpan',
- 'CPANPLUS::Internals::Constants::Report'=> 'cpan',
- 'CPANPLUS::Internals::Extract'=> 'cpan',
- 'CPANPLUS::Internals::Fetch'=> 'cpan',
- 'CPANPLUS::Internals::Report'=> 'cpan',
- 'CPANPLUS::Internals::Search'=> 'cpan',
- 'CPANPLUS::Internals::Source'=> 'cpan',
- 'CPANPLUS::Internals::Source::Memory'=> 'cpan',
- 'CPANPLUS::Internals::Source::SQLite'=> 'cpan',
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> 'cpan',
- 'CPANPLUS::Internals::Utils'=> 'cpan',
- 'CPANPLUS::Internals::Utils::Autoflush'=> 'cpan',
- 'CPANPLUS::Module' => 'cpan',
- 'CPANPLUS::Module::Author'=> 'cpan',
- 'CPANPLUS::Module::Author::Fake'=> 'cpan',
- 'CPANPLUS::Module::Checksums'=> 'cpan',
- 'CPANPLUS::Module::Fake'=> 'cpan',
- 'CPANPLUS::Module::Signature'=> 'cpan',
- 'CPANPLUS::Selfupdate' => 'cpan',
- 'CPANPLUS::Shell' => 'cpan',
- 'CPANPLUS::Shell::Classic'=> 'cpan',
- 'CPANPLUS::Shell::Default'=> 'cpan',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> 'cpan',
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> 'cpan',
- 'CPANPLUS::Shell::Default::Plugins::Source'=> 'cpan',
- 'Carp' => 'blead',
- 'Carp::Heavy' => 'blead',
'Compress::Raw::Bzip2' => 'cpan',
'Compress::Raw::Zlib' => 'cpan',
'Compress::Zlib' => 'cpan',
- 'Cwd' => 'blead',
+ 'Config::Perl::V' => 'cpan',
'DB_File' => 'cpan',
- 'Devel::InnerPackage' => 'cpan',
'Devel::PPPort' => 'cpan',
'Digest' => 'cpan',
'Digest::MD5' => 'cpan',
@@ -7612,79 +9725,42 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Encode::TW' => 'cpan',
'Encode::Unicode' => 'cpan',
'Encode::Unicode::UTF7' => 'cpan',
- 'Exporter' => 'blead',
- 'Exporter::Heavy' => 'blead',
- 'ExtUtils::CBuilder' => 'blead',
- 'ExtUtils::CBuilder::Base'=> 'blead',
- 'ExtUtils::CBuilder::Platform::Unix'=> 'blead',
- 'ExtUtils::CBuilder::Platform::VMS'=> 'blead',
- 'ExtUtils::CBuilder::Platform::Windows'=> 'blead',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> 'blead',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> 'blead',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> 'blead',
- 'ExtUtils::CBuilder::Platform::aix'=> 'blead',
- 'ExtUtils::CBuilder::Platform::cygwin'=> 'blead',
- 'ExtUtils::CBuilder::Platform::darwin'=> 'blead',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> 'blead',
- 'ExtUtils::CBuilder::Platform::os2'=> 'blead',
- 'ExtUtils::Command::MM' => 'first-come',
- 'ExtUtils::Constant' => undef,
- 'ExtUtils::Constant::Base'=> undef,
- 'ExtUtils::Constant::ProxySubs'=> undef,
- 'ExtUtils::Constant::Utils'=> undef,
- 'ExtUtils::Constant::XS'=> undef,
- 'ExtUtils::Install' => 'blead',
- 'ExtUtils::Installed' => 'blead',
- 'ExtUtils::Liblist' => 'first-come',
- 'ExtUtils::Liblist::Kid'=> 'first-come',
- 'ExtUtils::MM' => 'first-come',
- 'ExtUtils::MM_AIX' => 'first-come',
- 'ExtUtils::MM_Any' => 'first-come',
- 'ExtUtils::MM_BeOS' => 'first-come',
- 'ExtUtils::MM_Cygwin' => 'first-come',
- 'ExtUtils::MM_DOS' => 'first-come',
- 'ExtUtils::MM_Darwin' => 'first-come',
- 'ExtUtils::MM_MacOS' => 'first-come',
- 'ExtUtils::MM_NW5' => 'first-come',
- 'ExtUtils::MM_OS2' => 'first-come',
- 'ExtUtils::MM_QNX' => 'first-come',
- 'ExtUtils::MM_UWIN' => 'first-come',
- 'ExtUtils::MM_Unix' => 'first-come',
- 'ExtUtils::MM_VMS' => 'first-come',
- 'ExtUtils::MM_VOS' => 'first-come',
- 'ExtUtils::MM_Win32' => 'first-come',
- 'ExtUtils::MM_Win95' => 'first-come',
- 'ExtUtils::MY' => 'first-come',
- 'ExtUtils::MakeMaker' => 'first-come',
- 'ExtUtils::MakeMaker::Config'=> 'first-come',
- 'ExtUtils::Mkbootstrap' => 'first-come',
- 'ExtUtils::Mksymlists' => 'first-come',
- 'ExtUtils::Packlist' => 'blead',
- 'ExtUtils::ParseXS' => 'blead',
- 'ExtUtils::ParseXS::Constants'=> 'blead',
- 'ExtUtils::ParseXS::CountLines'=> 'blead',
- 'ExtUtils::ParseXS::Utilities'=> 'blead',
- 'ExtUtils::Typemaps' => 'blead',
- 'ExtUtils::Typemaps::Cmd'=> 'blead',
- 'ExtUtils::Typemaps::InputMap'=> 'blead',
- 'ExtUtils::Typemaps::OutputMap'=> 'blead',
- 'ExtUtils::Typemaps::Type'=> 'blead',
- 'ExtUtils::testlib' => 'first-come',
+ 'ExtUtils::Command::MM' => 'cpan',
+ 'ExtUtils::Constant' => 'cpan',
+ 'ExtUtils::Constant::Base'=> 'cpan',
+ 'ExtUtils::Constant::ProxySubs'=> 'cpan',
+ 'ExtUtils::Constant::Utils'=> 'cpan',
+ 'ExtUtils::Constant::XS'=> 'cpan',
+ 'ExtUtils::Liblist' => 'cpan',
+ 'ExtUtils::Liblist::Kid'=> 'cpan',
+ 'ExtUtils::MM' => 'cpan',
+ 'ExtUtils::MM_AIX' => 'cpan',
+ 'ExtUtils::MM_Any' => 'cpan',
+ 'ExtUtils::MM_BeOS' => 'cpan',
+ 'ExtUtils::MM_Cygwin' => 'cpan',
+ 'ExtUtils::MM_DOS' => 'cpan',
+ 'ExtUtils::MM_Darwin' => 'cpan',
+ 'ExtUtils::MM_MacOS' => 'cpan',
+ 'ExtUtils::MM_NW5' => 'cpan',
+ 'ExtUtils::MM_OS2' => 'cpan',
+ 'ExtUtils::MM_QNX' => 'cpan',
+ 'ExtUtils::MM_UWIN' => 'cpan',
+ 'ExtUtils::MM_Unix' => 'cpan',
+ 'ExtUtils::MM_VMS' => 'cpan',
+ 'ExtUtils::MM_VOS' => 'cpan',
+ 'ExtUtils::MM_Win32' => 'cpan',
+ 'ExtUtils::MM_Win95' => 'cpan',
+ 'ExtUtils::MY' => 'cpan',
+ 'ExtUtils::MakeMaker' => 'cpan',
+ 'ExtUtils::MakeMaker::Config'=> 'cpan',
+ 'ExtUtils::Mkbootstrap' => 'cpan',
+ 'ExtUtils::Mksymlists' => 'cpan',
+ 'ExtUtils::testlib' => 'cpan',
'Fatal' => 'cpan',
'File::Fetch' => 'cpan',
'File::GlobMapper' => 'cpan',
- 'File::Path' => undef,
- 'File::Spec' => 'blead',
- 'File::Spec::Cygwin' => 'blead',
- 'File::Spec::Epoc' => 'blead',
- 'File::Spec::Functions' => 'blead',
- 'File::Spec::Mac' => 'blead',
- 'File::Spec::OS2' => 'blead',
- 'File::Spec::Unix' => 'blead',
- 'File::Spec::VMS' => 'blead',
- 'File::Spec::Win32' => 'blead',
+ 'File::Path' => 'cpan',
'File::Temp' => 'cpan',
- 'Filter::Simple' => 'blead',
'Filter::Util::Call' => 'cpan',
'Getopt::Long' => 'cpan',
'HTTP::Tiny' => 'cpan',
@@ -7713,7 +9789,7 @@ for my $version (sort { $a <=> $b } keys %delta) {
'IO::Uncompress::Inflate'=> 'cpan',
'IO::Uncompress::RawInflate'=> 'cpan',
'IO::Uncompress::Unzip' => 'cpan',
- 'IO::Zlib' => undef,
+ 'IO::Zlib' => 'cpan',
'IPC::Cmd' => 'cpan',
'IPC::Msg' => 'cpan',
'IPC::Semaphore' => 'cpan',
@@ -7749,26 +9825,10 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Locale::Country' => 'cpan',
'Locale::Currency' => 'cpan',
'Locale::Language' => 'cpan',
- 'Locale::Maketext' => 'blead',
- 'Locale::Maketext::Guts'=> 'blead',
- 'Locale::Maketext::GutsLoader'=> 'blead',
'Locale::Maketext::Simple'=> 'cpan',
'Locale::Script' => 'cpan',
- 'Log::Message' => 'cpan',
- 'Log::Message::Config' => 'cpan',
- 'Log::Message::Handlers'=> 'cpan',
- 'Log::Message::Item' => 'cpan',
- 'Log::Message::Simple' => 'cpan',
'MIME::Base64' => 'cpan',
'MIME::QuotedPrint' => 'cpan',
- 'Math::BigFloat' => 'blead',
- 'Math::BigFloat::Trace' => 'blead',
- 'Math::BigInt' => 'blead',
- 'Math::BigInt::Calc' => 'blead',
- 'Math::BigInt::CalcEmu' => 'blead',
- 'Math::BigInt::FastCalc'=> 'blead',
- 'Math::BigInt::Trace' => 'blead',
- 'Math::BigRat' => 'blead',
'Math::Complex' => 'cpan',
'Math::Trig' => 'cpan',
'Memoize' => 'cpan',
@@ -7789,12 +9849,8 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Module::Build::ModuleInfo'=> 'cpan',
'Module::Build::Notes' => 'cpan',
'Module::Build::PPMMaker'=> 'cpan',
- 'Module::Build::Platform::Amiga'=> 'cpan',
'Module::Build::Platform::Default'=> 'cpan',
- 'Module::Build::Platform::EBCDIC'=> 'cpan',
- 'Module::Build::Platform::MPEiX'=> 'cpan',
'Module::Build::Platform::MacOS'=> 'cpan',
- 'Module::Build::Platform::RiscOS'=> 'cpan',
'Module::Build::Platform::Unix'=> 'cpan',
'Module::Build::Platform::VMS'=> 'cpan',
'Module::Build::Platform::VOS'=> 'cpan',
@@ -7806,41 +9862,34 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Module::Build::PodParser'=> 'cpan',
'Module::Build::Version'=> 'cpan',
'Module::Build::YAML' => 'cpan',
- 'Module::CoreList' => 'blead',
- 'Module::CoreList::TieHashDelta'=> 'blead',
'Module::Load' => 'cpan',
'Module::Load::Conditional'=> 'cpan',
'Module::Loaded' => 'cpan',
'Module::Metadata' => 'cpan',
- 'Module::Pluggable' => 'cpan',
- 'Module::Pluggable::Object'=> 'cpan',
'NEXT' => 'cpan',
- 'Net::Cmd' => undef,
- 'Net::Config' => undef,
- 'Net::Domain' => undef,
- 'Net::FTP' => undef,
- 'Net::FTP::A' => undef,
- 'Net::FTP::E' => undef,
- 'Net::FTP::I' => undef,
- 'Net::FTP::L' => undef,
- 'Net::FTP::dataconn' => undef,
- 'Net::NNTP' => undef,
- 'Net::Netrc' => undef,
- 'Net::POP3' => undef,
- 'Net::Ping' => 'blead',
- 'Net::SMTP' => undef,
- 'Net::Time' => undef,
- 'Object::Accessor' => 'cpan',
+ 'Net::Cmd' => 'cpan',
+ 'Net::Config' => 'cpan',
+ 'Net::Domain' => 'cpan',
+ 'Net::FTP' => 'cpan',
+ 'Net::FTP::A' => 'cpan',
+ 'Net::FTP::E' => 'cpan',
+ 'Net::FTP::I' => 'cpan',
+ 'Net::FTP::L' => 'cpan',
+ 'Net::FTP::dataconn' => 'cpan',
+ 'Net::NNTP' => 'cpan',
+ 'Net::Netrc' => 'cpan',
+ 'Net::POP3' => 'cpan',
+ 'Net::SMTP' => 'cpan',
+ 'Net::Time' => 'cpan',
'Package::Constants' => 'cpan',
'Params::Check' => 'cpan',
'Parse::CPAN::Meta' => 'cpan',
'Perl::OSType' => 'cpan',
- 'PerlIO::via::QuotedPrint'=> undef,
+ 'PerlIO::via::QuotedPrint'=> 'cpan',
'Pod::Checker' => 'cpan',
- 'Pod::Escapes' => undef,
+ 'Pod::Escapes' => 'cpan',
'Pod::Find' => 'cpan',
'Pod::InputObjects' => 'cpan',
- 'Pod::LaTeX' => undef,
'Pod::Man' => 'cpan',
'Pod::ParseLink' => 'cpan',
'Pod::ParseUtils' => 'cpan',
@@ -7893,11 +9942,8 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Pod::Text::Overstrike' => 'cpan',
'Pod::Text::Termcap' => 'cpan',
'Pod::Usage' => 'cpan',
- 'Safe' => 'blead',
'Scalar::Util' => 'cpan',
- 'SelfLoader' => 'blead',
'Socket' => 'cpan',
- 'Storable' => 'blead',
'Sys::Syslog' => 'cpan',
'Sys::Syslog::Win32' => 'cpan',
'TAP::Base' => 'cpan',
@@ -7910,6 +9956,7 @@ for my $version (sort { $a <=> $b } keys %delta) {
'TAP::Formatter::File::Session'=> 'cpan',
'TAP::Formatter::Session'=> 'cpan',
'TAP::Harness' => 'cpan',
+ 'TAP::Harness::Env' => 'cpan',
'TAP::Object' => 'cpan',
'TAP::Parser' => 'cpan',
'TAP::Parser::Aggregator'=> 'cpan',
@@ -7940,13 +9987,10 @@ for my $version (sort { $a <=> $b } keys %delta) {
'TAP::Parser::SourceHandler::Handle'=> 'cpan',
'TAP::Parser::SourceHandler::Perl'=> 'cpan',
'TAP::Parser::SourceHandler::RawTAP'=> 'cpan',
- 'TAP::Parser::Utils' => 'cpan',
'TAP::Parser::YAMLish::Reader'=> 'cpan',
'TAP::Parser::YAMLish::Writer'=> 'cpan',
'Term::ANSIColor' => 'cpan',
- 'Term::Cap' => undef,
- 'Term::UI' => 'cpan',
- 'Term::UI::History' => 'cpan',
+ 'Term::Cap' => 'cpan',
'Test' => 'cpan',
'Test::Builder' => 'cpan',
'Test::Builder::Module' => 'cpan',
@@ -7956,58 +10000,37 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Test::More' => 'cpan',
'Test::Simple' => 'cpan',
'Text::Balanced' => 'cpan',
- 'Text::ParseWords' => undef,
- 'Text::Soundex' => undef,
+ 'Text::ParseWords' => 'cpan',
'Text::Tabs' => 'cpan',
'Text::Wrap' => 'cpan',
- 'Thread::Queue' => 'blead',
- 'Thread::Semaphore' => 'blead',
- 'Tie::File' => 'blead',
'Tie::RefHash' => 'cpan',
'Time::HiRes' => 'cpan',
'Time::Local' => 'cpan',
- 'Time::Piece' => undef,
- 'Time::Seconds' => undef,
- 'Unicode::Collate' => 'first-come',
- 'Unicode::Collate::CJK::Big5'=> 'first-come',
- 'Unicode::Collate::CJK::GB2312'=> 'first-come',
- 'Unicode::Collate::CJK::JISX0208'=> 'first-come',
- 'Unicode::Collate::CJK::Korean'=> 'first-come',
- 'Unicode::Collate::CJK::Pinyin'=> 'first-come',
- 'Unicode::Collate::CJK::Stroke'=> 'first-come',
- 'Unicode::Collate::Locale'=> 'first-come',
- 'Unicode::Normalize' => 'first-come',
- 'Unicode::UCD' => 'blead',
- 'VMS::DCLsym' => undef,
- 'VMS::Filespec' => undef,
- 'VMS::Stdio' => undef,
+ 'Time::Piece' => 'cpan',
+ 'Time::Seconds' => 'cpan',
+ 'Unicode::Collate' => 'cpan',
+ 'Unicode::Collate::CJK::Big5'=> 'cpan',
+ 'Unicode::Collate::CJK::GB2312'=> 'cpan',
+ 'Unicode::Collate::CJK::JISX0208'=> 'cpan',
+ 'Unicode::Collate::CJK::Korean'=> 'cpan',
+ 'Unicode::Collate::CJK::Pinyin'=> 'cpan',
+ 'Unicode::Collate::CJK::Stroke'=> 'cpan',
+ 'Unicode::Collate::CJK::Zhuyin'=> 'cpan',
+ 'Unicode::Collate::Locale'=> 'cpan',
+ 'Unicode::Normalize' => 'cpan',
'Win32' => 'cpan',
'Win32API::File' => 'cpan',
'Win32API::File::ExtUtils::Myconst2perl'=> 'cpan',
- 'Win32CORE' => undef,
- 'XSLoader' => undef,
'autodie' => 'cpan',
'autodie::exception' => 'cpan',
'autodie::exception::system'=> 'cpan',
'autodie::hints' => 'cpan',
- 'base' => 'blead',
- 'bigint' => 'blead',
- 'bignum' => 'blead',
- 'bigrat' => 'blead',
- 'constant' => 'blead',
+ 'autodie::skip' => 'cpan',
'encoding' => 'cpan',
- 'encoding::warnings' => undef,
- 'fields' => 'blead',
- 'if' => 'blead',
+ 'encoding::warnings' => 'cpan',
'inc::latest' => 'cpan',
- 'lib' => 'blead',
- 'parent' => undef,
+ 'parent' => 'cpan',
'perlfaq' => 'cpan',
- 'threads' => 'blead',
- 'threads::shared' => 'blead',
- 'version' => undef,
- 'warnings' => 'blead',
- 'warnings::register' => 'blead',
);
%bug_tracker = (
@@ -8016,16 +10039,10 @@ for my $version (sort { $a <=> $b } keys %delta) {
'App::Prove::State' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'App::Prove::State::Result'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'App::Prove::State::Result::Test'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
- 'Archive::Extract' => undef,
'Archive::Tar' => undef,
'Archive::Tar::Constant'=> undef,
'Archive::Tar::File' => undef,
- 'Attribute::Handlers' => undef,
- 'B::Concise' => undef,
'B::Debug' => undef,
- 'B::Deparse' => undef,
- 'B::Lint' => undef,
- 'B::Lint::Debug' => undef,
'CGI' => undef,
'CGI::Apache' => undef,
'CGI::Carp' => undef,
@@ -8059,15 +10076,15 @@ for my $version (sort { $a <=> $b } keys %delta) {
'CPAN::InfoObj' => undef,
'CPAN::Kwalify' => undef,
'CPAN::LWP::UserAgent' => undef,
- 'CPAN::Meta' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::Converter' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::Feature' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::History' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::Prereqs' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::Requirements'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-Requirements',
- 'CPAN::Meta::Spec' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::Validator' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
- 'CPAN::Meta::YAML' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML',
+ 'CPAN::Meta' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::Converter' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::Feature' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::History' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::Prereqs' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::Requirements'=> 'https://github.com/dagolden/CPAN-Meta-Requirements/issues',
+ 'CPAN::Meta::Spec' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::Validator' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues',
+ 'CPAN::Meta::YAML' => 'https://github.com/dagolden/CPAN-Meta-YAML/issues',
'CPAN::Mirrors' => undef,
'CPAN::Module' => undef,
'CPAN::Nox' => undef,
@@ -8077,55 +10094,11 @@ for my $version (sort { $a <=> $b } keys %delta) {
'CPAN::Tarzip' => undef,
'CPAN::URL' => undef,
'CPAN::Version' => undef,
- 'CPANPLUS' => undef,
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Config::HomeEnv'=> undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => undef,
- 'CPANPLUS::Dist::Build::Constants'=> undef,
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => undef,
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> undef,
- 'CPANPLUS::Shell::Default'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => undef,
- 'Carp::Heavy' => undef,
'Compress::Raw::Bzip2' => undef,
'Compress::Raw::Zlib' => undef,
'Compress::Zlib' => undef,
- 'Cwd' => undef,
+ 'Config::Perl::V' => undef,
'DB_File' => undef,
- 'Devel::InnerPackage' => undef,
'Devel::PPPort' => undef,
'Digest' => undef,
'Digest::MD5' => undef,
@@ -8156,82 +10129,45 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Encode::TW' => undef,
'Encode::Unicode' => undef,
'Encode::Unicode::UTF7' => undef,
- 'Exporter' => undef,
- 'Exporter::Heavy' => undef,
- 'ExtUtils::CBuilder' => undef,
- 'ExtUtils::CBuilder::Base'=> undef,
- 'ExtUtils::CBuilder::Platform::Unix'=> undef,
- 'ExtUtils::CBuilder::Platform::VMS'=> undef,
- 'ExtUtils::CBuilder::Platform::Windows'=> undef,
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> undef,
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> undef,
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> undef,
- 'ExtUtils::CBuilder::Platform::aix'=> undef,
- 'ExtUtils::CBuilder::Platform::cygwin'=> undef,
- 'ExtUtils::CBuilder::Platform::darwin'=> undef,
- 'ExtUtils::CBuilder::Platform::dec_osf'=> undef,
- 'ExtUtils::CBuilder::Platform::os2'=> undef,
- 'ExtUtils::Command::MM' => undef,
+ 'ExtUtils::Command::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
'ExtUtils::Constant' => undef,
'ExtUtils::Constant::Base'=> undef,
'ExtUtils::Constant::ProxySubs'=> undef,
'ExtUtils::Constant::Utils'=> undef,
'ExtUtils::Constant::XS'=> undef,
- 'ExtUtils::Install' => undef,
- 'ExtUtils::Installed' => undef,
- 'ExtUtils::Liblist' => undef,
- 'ExtUtils::Liblist::Kid'=> undef,
- 'ExtUtils::MM' => undef,
- 'ExtUtils::MM_AIX' => undef,
- 'ExtUtils::MM_Any' => undef,
- 'ExtUtils::MM_BeOS' => undef,
- 'ExtUtils::MM_Cygwin' => undef,
- 'ExtUtils::MM_DOS' => undef,
- 'ExtUtils::MM_Darwin' => undef,
- 'ExtUtils::MM_MacOS' => undef,
- 'ExtUtils::MM_NW5' => undef,
- 'ExtUtils::MM_OS2' => undef,
- 'ExtUtils::MM_QNX' => undef,
- 'ExtUtils::MM_UWIN' => undef,
- 'ExtUtils::MM_Unix' => undef,
- 'ExtUtils::MM_VMS' => undef,
- 'ExtUtils::MM_VOS' => undef,
- 'ExtUtils::MM_Win32' => undef,
- 'ExtUtils::MM_Win95' => undef,
- 'ExtUtils::MY' => undef,
- 'ExtUtils::MakeMaker' => undef,
- 'ExtUtils::MakeMaker::Config'=> undef,
- 'ExtUtils::Mkbootstrap' => undef,
- 'ExtUtils::Mksymlists' => undef,
- 'ExtUtils::Packlist' => undef,
- 'ExtUtils::ParseXS' => undef,
- 'ExtUtils::ParseXS::Constants'=> undef,
- 'ExtUtils::ParseXS::CountLines'=> undef,
- 'ExtUtils::ParseXS::Utilities'=> undef,
- 'ExtUtils::Typemaps' => undef,
- 'ExtUtils::Typemaps::Cmd'=> undef,
- 'ExtUtils::Typemaps::InputMap'=> undef,
- 'ExtUtils::Typemaps::OutputMap'=> undef,
- 'ExtUtils::Typemaps::Type'=> undef,
- 'ExtUtils::testlib' => undef,
+ 'ExtUtils::Liblist' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::Liblist::Kid'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_AIX' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Any' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_BeOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Cygwin' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_DOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Darwin' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_MacOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_NW5' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_OS2' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_QNX' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_UWIN' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Unix' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_VMS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_VOS' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Win32' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MM_Win95' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MY' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MakeMaker' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::MakeMaker::Config'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::Mkbootstrap' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::Mksymlists' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
+ 'ExtUtils::testlib' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
'Fatal' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'File::Fetch' => undef,
'File::GlobMapper' => undef,
'File::Path' => undef,
- 'File::Spec' => undef,
- 'File::Spec::Cygwin' => undef,
- 'File::Spec::Epoc' => undef,
- 'File::Spec::Functions' => undef,
- 'File::Spec::Mac' => undef,
- 'File::Spec::OS2' => undef,
- 'File::Spec::Unix' => undef,
- 'File::Spec::VMS' => undef,
- 'File::Spec::Win32' => undef,
- 'File::Temp' => undef,
- 'Filter::Simple' => undef,
+ 'File::Temp' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=File-Temp',
'Filter::Util::Call' => undef,
'Getopt::Long' => undef,
- 'HTTP::Tiny' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny',
+ 'HTTP::Tiny' => 'https://github.com/chansen/p5-http-tiny/issues',
'IO::Compress::Adapter::Bzip2'=> undef,
'IO::Compress::Adapter::Deflate'=> undef,
'IO::Compress::Adapter::Identity'=> undef,
@@ -8293,26 +10229,10 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Locale::Country' => undef,
'Locale::Currency' => undef,
'Locale::Language' => undef,
- 'Locale::Maketext' => undef,
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
'Locale::Maketext::Simple'=> undef,
'Locale::Script' => undef,
- 'Log::Message' => undef,
- 'Log::Message::Config' => undef,
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => undef,
'MIME::Base64' => undef,
'MIME::QuotedPrint' => undef,
- 'Math::BigFloat' => undef,
- 'Math::BigFloat::Trace' => undef,
- 'Math::BigInt' => undef,
- 'Math::BigInt::Calc' => undef,
- 'Math::BigInt::CalcEmu' => undef,
- 'Math::BigInt::FastCalc'=> undef,
- 'Math::BigInt::Trace' => undef,
- 'Math::BigRat' => undef,
'Math::Complex' => undef,
'Math::Trig' => undef,
'Memoize' => undef,
@@ -8327,17 +10247,14 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Module::Build::Base' => undef,
'Module::Build::Compat' => undef,
'Module::Build::Config' => undef,
+ 'Module::Build::ConfigData'=> undef,
'Module::Build::Cookbook'=> undef,
'Module::Build::Dumper' => undef,
'Module::Build::ModuleInfo'=> undef,
'Module::Build::Notes' => undef,
'Module::Build::PPMMaker'=> undef,
- 'Module::Build::Platform::Amiga'=> undef,
'Module::Build::Platform::Default'=> undef,
- 'Module::Build::Platform::EBCDIC'=> undef,
- 'Module::Build::Platform::MPEiX'=> undef,
'Module::Build::Platform::MacOS'=> undef,
- 'Module::Build::Platform::RiscOS'=> undef,
'Module::Build::Platform::Unix'=> undef,
'Module::Build::Platform::VMS'=> undef,
'Module::Build::Platform::VOS'=> undef,
@@ -8349,14 +10266,10 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Module::Build::PodParser'=> undef,
'Module::Build::Version'=> undef,
'Module::Build::YAML' => undef,
- 'Module::CoreList' => undef,
- 'Module::CoreList::TieHashDelta'=> undef,
'Module::Load' => undef,
'Module::Load::Conditional'=> undef,
'Module::Loaded' => undef,
- 'Module::Metadata' => undef,
- 'Module::Pluggable' => undef,
- 'Module::Pluggable::Object'=> undef,
+ 'Module::Metadata' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Module-Metadata',
'NEXT' => undef,
'Net::Cmd' => undef,
'Net::Config' => undef,
@@ -8370,20 +10283,17 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Net::NNTP' => undef,
'Net::Netrc' => undef,
'Net::POP3' => undef,
- 'Net::Ping' => undef,
'Net::SMTP' => undef,
'Net::Time' => undef,
- 'Object::Accessor' => undef,
'Package::Constants' => undef,
'Params::Check' => undef,
- 'Parse::CPAN::Meta' => undef,
- 'Perl::OSType' => undef,
+ 'Parse::CPAN::Meta' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Parse-CPAN-Meta',
+ 'Perl::OSType' => 'https://github.com/dagolden/Perl-OSType/issues',
'PerlIO::via::QuotedPrint'=> undef,
'Pod::Checker' => undef,
'Pod::Escapes' => undef,
'Pod::Find' => undef,
'Pod::InputObjects' => undef,
- 'Pod::LaTeX' => undef,
'Pod::Man' => undef,
'Pod::ParseLink' => undef,
'Pod::ParseUtils' => undef,
@@ -8436,11 +10346,8 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Pod::Text::Overstrike' => undef,
'Pod::Text::Termcap' => undef,
'Pod::Usage' => undef,
- 'Safe' => undef,
'Scalar::Util' => undef,
- 'SelfLoader' => undef,
'Socket' => undef,
- 'Storable' => undef,
'Sys::Syslog' => undef,
'Sys::Syslog::Win32' => undef,
'TAP::Base' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -8453,6 +10360,7 @@ for my $version (sort { $a <=> $b } keys %delta) {
'TAP::Formatter::File::Session'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Formatter::Session'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Harness' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
+ 'TAP::Harness::Env' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Object' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::Aggregator'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -8483,29 +10391,22 @@ for my $version (sort { $a <=> $b } keys %delta) {
'TAP::Parser::SourceHandler::Handle'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::SourceHandler::Perl'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::SourceHandler::RawTAP'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
- 'TAP::Parser::Utils' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::YAMLish::Reader'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Parser::YAMLish::Writer'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'Term::ANSIColor' => undef,
'Term::Cap' => undef,
- 'Term::UI' => undef,
- 'Term::UI::History' => undef,
'Test' => undef,
- 'Test::Builder' => 'http://github.com/schwern/test-more/issues',
- 'Test::Builder::Module' => 'http://github.com/schwern/test-more/issues',
+ 'Test::Builder' => 'http://github.com/schwern/test-more/issues/',
+ 'Test::Builder::Module' => 'http://github.com/schwern/test-more/issues/',
'Test::Builder::Tester' => 'http://github.com/schwern/test-more/issues',
'Test::Builder::Tester::Color'=> 'http://github.com/schwern/test-more/issues',
'Test::Harness' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
- 'Test::More' => 'http://github.com/schwern/test-more/issues',
- 'Test::Simple' => 'http://github.com/schwern/test-more/issues',
+ 'Test::More' => 'http://github.com/schwern/test-more/issues/',
+ 'Test::Simple' => 'http://github.com/schwern/test-more/issues/',
'Text::Balanced' => undef,
'Text::ParseWords' => undef,
- 'Text::Soundex' => undef,
'Text::Tabs' => undef,
'Text::Wrap' => undef,
- 'Thread::Queue' => undef,
- 'Thread::Semaphore' => undef,
- 'Tie::File' => undef,
'Tie::RefHash' => undef,
'Time::HiRes' => undef,
'Time::Local' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local',
@@ -8518,39 +10419,22 @@ for my $version (sort { $a <=> $b } keys %delta) {
'Unicode::Collate::CJK::Korean'=> undef,
'Unicode::Collate::CJK::Pinyin'=> undef,
'Unicode::Collate::CJK::Stroke'=> undef,
+ 'Unicode::Collate::CJK::Zhuyin'=> undef,
'Unicode::Collate::Locale'=> undef,
'Unicode::Normalize' => undef,
- 'Unicode::UCD' => undef,
- 'VMS::DCLsym' => undef,
- 'VMS::Filespec' => undef,
- 'VMS::Stdio' => undef,
'Win32' => undef,
'Win32API::File' => undef,
'Win32API::File::ExtUtils::Myconst2perl'=> undef,
- 'Win32CORE' => undef,
- 'XSLoader' => 'https://rt.perl.org/rt3/Search/Results.html?Query=Queue=\'perl5\' AND Content LIKE \'module=XSLoader\' AND (Status=\'open\' OR Status=\'new\' OR Status=\'stalled\')',
'autodie' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'autodie::exception' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'autodie::exception::system'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'autodie::hints' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
- 'base' => undef,
- 'bigint' => undef,
- 'bignum' => undef,
- 'bigrat' => undef,
- 'constant' => undef,
+ 'autodie::skip' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'encoding' => undef,
'encoding::warnings' => undef,
- 'fields' => undef,
- 'if' => undef,
'inc::latest' => undef,
- 'lib' => undef,
'parent' => undef,
'perlfaq' => 'https://github.com/perl-doc-cats/perlfaq/issues',
- 'threads' => undef,
- 'threads::shared' => undef,
- 'version' => undef,
- 'warnings' => undef,
- 'warnings::register' => undef,
);
# Create aliases with trailing zeros for $] use
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
index 19e38aaf9c3..b0c133950b2 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
@@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta;
use strict;
use vars qw($VERSION);
-$VERSION = "2.76";
+$VERSION = "3.03";
sub TIEHASH {
my ($class, $changed, $removed, $parent) = @_;
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm
new file mode 100755
index 00000000000..5967e032ad5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList/Utils.pm
@@ -0,0 +1,1021 @@
+package Module::CoreList::Utils;
+
+use strict;
+use warnings;
+use vars qw[$VERSION %utilities];
+use Module::CoreList;
+use Module::CoreList::TieHashDelta;
+
+$VERSION = '3.03';
+
+sub utilities {
+ my $perl = shift;
+ $perl = shift if eval { $perl->isa(__PACKAGE__) };
+ return unless $perl or exists $utilities{$perl};
+ return sort keys %{ $utilities{$perl} };
+}
+
+sub first_release_raw {
+ my $util = shift;
+ $util = shift if eval { $util->isa(__PACKAGE__) };
+ #and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
+ my $version = shift;
+
+ my @perls = $version
+ ? grep { exists $utilities{$_}{ $util } &&
+ $utilities{$_}{ $util } ge $version } keys %utilities
+ : grep { exists $utilities{$_}{ $util } } keys %utilities;
+
+ return grep { exists $Module::CoreList::released{$_} } @perls;
+}
+
+sub first_release_by_date {
+ my @perls = &first_release_raw;
+ return unless @perls;
+ return (sort { $Module::CoreList::released{$a} cmp $Module::CoreList::released{$b} } @perls)[0];
+}
+
+sub first_release {
+ my @perls = &first_release_raw;
+ return unless @perls;
+ return (sort { $a cmp $b } @perls)[0];
+}
+
+sub removed_from {
+ my @perls = &removed_raw;
+ return shift @perls;
+}
+
+sub removed_from_by_date {
+ my @perls = sort { $Module::CoreList::released{$a} cmp $Module::CoreList::released{$b} } &removed_raw;
+ return shift @perls;
+}
+
+sub removed_raw {
+ my $util = shift;
+ $util = shift if eval { $util->isa(__PACKAGE__) };
+ return unless my @perls = sort { $a cmp $b } first_release_raw($util);
+ @perls = grep { exists $Module::CoreList::released{$_} } @perls;
+ my $last = pop @perls;
+ my @removed = grep { $_ > $last } sort { $a cmp $b } keys %utilities;
+ return @removed;
+}
+
+my %delta = (
+ 5 => {
+ changed => {
+ 'a2p' => '1',
+ 'c2ph' => '1',
+ 'cppstdin' => '1',
+ 'find2perl' => '1',
+ 'pstruct' => '1',
+ 's2p' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.001 => {
+ delta_from => 5,
+ changed => {
+ 'h2xs' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.002 => {
+ delta_from => 5.001,
+ changed => {
+ 'h2ph' => '1',
+ 'perlbug' => '1',
+ 'perldoc' => '1',
+ 'pod2html' => '1',
+ 'pod2latex' => '1',
+ 'pod2man' => '1',
+ 'pod2text' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.00307 => {
+ delta_from => 5.002,
+ changed => {
+ 'pl2pm' => '1',
+ },
+ removed => {
+ 'cppstdin' => 1,
+ 'pstruct' => 1,
+ }
+ },
+
+ 5.004 => {
+ delta_from => 5.00307,
+ changed => {
+ 'splain' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.005 => {
+ delta_from => 5.00405,
+ changed => {
+ 'perlcc' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.00503 => {
+ delta_from => 5.005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.00405 => {
+ delta_from => 5.004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.006 => {
+ delta_from => 5.00504,
+ changed => {
+ 'dprofpp' => '1',
+ 'pod2usage' => '1',
+ 'podchecker' => '1',
+ 'podselect' => '1',
+ 'pstruct' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.006001 => {
+ delta_from => 5.006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.007003 => {
+ delta_from => 5.006002,
+ changed => {
+ 'libnetcfg' => '1',
+ 'perlivp' => '1',
+ 'psed' => '1',
+ 'xsubpp' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.008 => {
+ delta_from => 5.007003,
+ changed => {
+ 'enc2xs' => '1',
+ 'piconv' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.008001 => {
+ delta_from => 5.008,
+ changed => {
+ 'cpan' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.009 => {
+ delta_from => 5.008009,
+ changed => {
+ },
+ removed => {
+ 'corelist' => 1,
+ 'instmodsh' => 1,
+ 'prove' => 1,
+ }
+ },
+
+ 5.008002 => {
+ delta_from => 5.008001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.006002 => {
+ delta_from => 5.006001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.008003 => {
+ delta_from => 5.008002,
+ changed => {
+ 'instmodsh' => '1',
+ 'prove' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.00504 => {
+ delta_from => 5.00503,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.009001 => {
+ delta_from => 5.009,
+ changed => {
+ 'instmodsh' => '1',
+ 'prove' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.008004 => {
+ delta_from => 5.008003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.008005 => {
+ delta_from => 5.008004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.008006 => {
+ delta_from => 5.008005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.009002 => {
+ delta_from => 5.009001,
+ changed => {
+ 'corelist' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.008007 => {
+ delta_from => 5.008006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.009003 => {
+ delta_from => 5.009002,
+ changed => {
+ 'ptar' => '1',
+ 'ptardiff' => '1',
+ 'shasum' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.008008 => {
+ delta_from => 5.008007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.009004 => {
+ delta_from => 5.009003,
+ changed => {
+ 'config_data' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.009005 => {
+ delta_from => 5.009004,
+ changed => {
+ 'cpan2dist' => '1',
+ 'cpanp' => '1',
+ 'cpanp-run-perl' => '1',
+ },
+ removed => {
+ 'perlcc' => 1,
+ }
+ },
+
+ 5.010000 => {
+ delta_from => 5.009005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.008009 => {
+ delta_from => 5.008008,
+ changed => {
+ 'corelist' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.010001 => {
+ delta_from => 5.010000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.011 => {
+ delta_from => 5.010001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.011001 => {
+ delta_from => 5.011,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.011002 => {
+ delta_from => 5.011001,
+ changed => {
+ 'perlthanks' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.011003 => {
+ delta_from => 5.011002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.011004 => {
+ delta_from => 5.011003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.011005 => {
+ delta_from => 5.011004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.012 => {
+ delta_from => 5.011005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013 => {
+ delta_from => 5.012005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.012001 => {
+ delta_from => 5.012,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013001 => {
+ delta_from => 5.013,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013002 => {
+ delta_from => 5.013001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013003 => {
+ delta_from => 5.013002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013004 => {
+ delta_from => 5.013003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.012002 => {
+ delta_from => 5.012001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013005 => {
+ delta_from => 5.013004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013006 => {
+ delta_from => 5.013005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013007 => {
+ delta_from => 5.013006,
+ changed => {
+ 'ptargrep' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.013008 => {
+ delta_from => 5.013007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013009 => {
+ delta_from => 5.013008,
+ changed => {
+ 'json_pp' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.012003 => {
+ delta_from => 5.012002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013010 => {
+ delta_from => 5.013009,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.013011 => {
+ delta_from => 5.013010,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.014 => {
+ delta_from => 5.013011,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.014001 => {
+ delta_from => 5.014,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015 => {
+ delta_from => 5.014004,
+ changed => {
+ },
+ removed => {
+ 'dprofpp' => 1,
+ }
+ },
+
+ 5.012004 => {
+ delta_from => 5.012003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015001 => {
+ delta_from => 5.015,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015002 => {
+ delta_from => 5.015001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015003 => {
+ delta_from => 5.015002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.014002 => {
+ delta_from => 5.014001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015004 => {
+ delta_from => 5.015003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015005 => {
+ delta_from => 5.015004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015006 => {
+ delta_from => 5.015005,
+ changed => {
+ 'zipdetails' => '1',
+ },
+ removed => {
+ }
+ },
+
+ 5.015007 => {
+ delta_from => 5.015006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015008 => {
+ delta_from => 5.015007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.015009 => {
+ delta_from => 5.015008,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.016 => {
+ delta_from => 5.015009,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017 => {
+ delta_from => 5.016003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017001 => {
+ delta_from => 5.017,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017002 => {
+ delta_from => 5.017001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.016001 => {
+ delta_from => 5.016,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017003 => {
+ delta_from => 5.017002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017004 => {
+ delta_from => 5.017003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.014003 => {
+ delta_from => 5.014002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017005 => {
+ delta_from => 5.017004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.016002 => {
+ delta_from => 5.016001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.012005 => {
+ delta_from => 5.012004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017006 => {
+ delta_from => 5.017005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017007 => {
+ delta_from => 5.017006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017008 => {
+ delta_from => 5.017007,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017009 => {
+ delta_from => 5.017008,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.014004 => {
+ delta_from => 5.014003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.016003 => {
+ delta_from => 5.016002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017010 => {
+ delta_from => 5.017009,
+ changed => {
+ },
+ removed => {
+ }
+ },
+
+ 5.017011 => {
+ delta_from => 5.017010,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.018000 => {
+ delta_from => 5.017011,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.018001 => {
+ delta_from => 5.018000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.018002 => {
+ delta_from => 5.018001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019000 => {
+ delta_from => 5.018000,
+ changed => {
+ },
+ removed => {
+ 'cpan2dist' => '1',
+ 'cpanp' => '1',
+ 'cpanp-run-perl' => '1',
+ 'pod2latex' => '1',
+ }
+ },
+ 5.019001 => {
+ delta_from => 5.019000,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019002 => {
+ delta_from => 5.019001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019003 => {
+ delta_from => 5.019002,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019004 => {
+ delta_from => 5.019003,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019005 => {
+ delta_from => 5.019004,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019006 => {
+ delta_from => 5.019005,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.019007 => {
+ delta_from => 5.019006,
+ changed => {
+ },
+ removed => {
+ }
+ },
+);
+
+for my $version (sort { $a <=> $b } keys %delta) {
+ my $data = $delta{$version};
+
+ tie %{$utilities{$version}}, 'Module::CoreList::TieHashDelta',
+ $data->{changed}, $data->{removed},
+ $data->{delta_from} ? $utilities{$data->{delta_from}} : undef;
+}
+
+# Create aliases with trailing zeros for $] use
+
+$utilities{'5.000'} = $utilities{5};
+
+_create_aliases(\%utilities);
+
+sub _create_aliases {
+ my ($hash) = @_;
+
+ for my $version (keys %$hash) {
+ next unless $version >= 5.010;
+
+ my $padded = sprintf "%0.6f", $version;
+
+ # If the version in string form isn't the same as the numeric version,
+ # alias it.
+ if ($padded ne $version && $version == $padded) {
+ $hash->{$padded} = $hash->{$version};
+ }
+ }
+}
+
+'foo';
+
+=pod
+
+=head1 NAME
+
+Module::CoreList::Utils - what utilities shipped with versions of perl
+
+=head1 SYNOPSIS
+
+ use Module::CoreList::Utils;
+
+ print $Module::CoreList::Utils::utilities{5.009003}{ptar}; # prints 1
+
+ print Module::CoreList::Utils->first_release('corelist'); # prints 5.008009
+ print Module::CoreList::Utils->first_release_by_date('corelist'); # prints 5.009002
+
+=head1 DESCRIPTION
+
+Module::CoreList::Utils provides information on which core and dual-life utilities shipped
+with each version of L<perl>.
+
+It provides a number of mechanisms for querying this information.
+
+There is a functional programming API available for programmers to query
+information.
+
+Programmers may also query the contained hash structure to find relevant
+information.
+
+=head1 FUNCTIONS API
+
+These are the functions that are available, they may either be called as functions or class methods:
+
+ Module::CoreList::Utils::first_release('corelist'); # as a function
+
+ Module::CoreList::Utils->first_release('corelist'); # class method
+
+=over
+
+=item C<utilities>
+
+Requires a perl version as an argument, returns a list of utilities that shipped with
+that version of perl, or undef/empty list if that perl doesn't exist.
+
+=item C<first_release( UTILITY )>
+
+Requires a UTILITY name as an argument, returns the perl version when that utility first
+appeared in core as ordered by perl version number or undef ( in scalar context )
+or an empty list ( in list context ) if that utility is not in core.
+
+=item C<first_release_by_date( UTILITY )>
+
+Requires a UTILITY name as an argument, returns the perl version when that utility first
+appeared in core as ordered by release date or undef ( in scalar context )
+or an empty list ( in list context ) if that utility is not in core.
+
+=item C<removed_from( UTILITY )>
+
+Takes a UTILITY name as an argument, returns the first perl version where that utility
+was removed from core. Returns undef if the given utility was never in core or remains
+in core.
+
+=item C<removed_from_by_date( UTILITY )>
+
+Takes a UTILITY name as an argument, returns the first perl version by release date where that
+utility was removed from core. Returns undef if the given utility was never in core or remains
+in core.
+
+=back
+
+=head1 DATA STRUCTURES
+
+These are the hash data structures that are available:
+
+=over
+
+=item C<%Module::CoreList::Utils::utilities>
+
+A hash of hashes that is keyed on perl version as indicated
+in $]. The second level hash is utility / defined pairs.
+
+=back
+
+=head1 AUTHOR
+
+Chris C<BinGOs> Williams <chris@bingosnet.co.uk>
+
+Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
+
+This module is the result of archaeology undertaken during QA Hackathon
+in Lancaster, April 2013.
+
+=head1 LICENSE
+
+Copyright (C) 2013 Chris Williams. All Rights Reserved.
+
+This module is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<corelist>, L<Module::CoreList>, L<perl>, L<http://perlpunks.de/corelist>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Load.pm b/Master/tlpkg/tlperl/lib/Module/Load.pm
index 3a83c386a27..60464847449 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load.pm
@@ -1,6 +1,6 @@
package Module::Load;
-$VERSION = '0.22';
+$VERSION = '0.24';
use strict;
use File::Spec ();
@@ -48,7 +48,7 @@ sub _to_file{
my $pm = shift || '';
## trailing blanks ignored by default. [rt #69886]
- my @parts = split /::/, $_, -1;
+ my @parts = split /::|'/, $_, -1;
## make sure that we can't hop out of @INC
shift @parts if @parts && !$parts[0];
diff --git a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
index 39dccf1ce2b..342371f8794 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
@@ -11,6 +11,8 @@ use File::Spec ();
use FileHandle ();
use version;
+use Module::Metadata ();
+
use constant ON_VMS => $^O eq 'VMS';
BEGIN {
@@ -18,7 +20,7 @@ BEGIN {
$FIND_VERSION $ERROR $CHECK_INC_HASH];
use Exporter;
@ISA = qw[Exporter];
- $VERSION = '0.46';
+ $VERSION = '0.54';
$VERBOSE = 0;
$DEPRECATED = 0;
$FIND_VERSION = 1;
@@ -137,7 +139,7 @@ uptodate will always be true if the module was found.
If no parsable version was found in the module, uptodate will also be
true, since C<check_install> had no way to verify clearly.
-See also C<$Module::Load::Conditional::DEPRECATED>, which affects
+See also C<$Module::Load::Conditional::DEPRECATED>, which affects
the outcome of this value.
=back
@@ -168,8 +170,8 @@ sub check_install {
}
my $file = File::Spec->catfile( split /::/, $args->{module} ) . '.pm';
- my $file_inc = File::Spec::Unix->catfile(
- split /::/, $args->{module}
+ my $file_inc = File::Spec::Unix->catfile(
+ split /::/, $args->{module}
) . '.pm';
### where we store the return value ###
@@ -178,59 +180,59 @@ sub check_install {
version => undef,
uptodate => undef,
};
-
+
my $filename;
### check the inc hash if we're allowed to
if( $CHECK_INC_HASH ) {
- $filename = $href->{'file'} =
+ $filename = $href->{'file'} =
$INC{ $file_inc } if defined $INC{ $file_inc };
### find the version by inspecting the package
if( defined $filename && $FIND_VERSION ) {
no strict 'refs';
- $href->{version} = ${ "$args->{module}"."::VERSION" };
+ $href->{version} = ${ "$args->{module}"."::VERSION" };
}
- }
+ }
### we didnt find the filename yet by looking in %INC,
### so scan the dirs
unless( $filename ) {
DIR: for my $dir ( @INC ) {
-
+
my $fh;
-
+
if ( ref $dir ) {
### @INC hook -- we invoke it and get the filehandle back
### this is actually documented behaviour as of 5.8 ;)
my $existed_in_inc = $INC{$file_inc};
-
+
if (UNIVERSAL::isa($dir, 'CODE')) {
($fh) = $dir->($dir, $file);
-
+
} elsif (UNIVERSAL::isa($dir, 'ARRAY')) {
($fh) = $dir->[0]->($dir, $file, @{$dir}{1..$#{$dir}})
-
+
} elsif (UNIVERSAL::can($dir, 'INC')) {
($fh) = $dir->INC($file);
}
-
+
if (!UNIVERSAL::isa($fh, 'GLOB')) {
warn loc(q[Cannot open file '%1': %2], $file, $!)
if $args->{verbose};
next;
}
-
+
$filename = $INC{$file_inc} || $file;
delete $INC{$file_inc} if not $existed_in_inc;
-
+
} else {
$filename = File::Spec->catfile($dir, $file);
next unless -e $filename;
-
+
$fh = new FileHandle;
if (!$fh->open($filename)) {
warn loc(q[Cannot open file '%1': %2], $file, $!)
@@ -238,45 +240,31 @@ sub check_install {
next;
}
}
-
+
### store the directory we found the file in
$href->{dir} = $dir;
-
+
### files need to be in unix format under vms,
### or they might be loaded twice
$href->{file} = ON_VMS
? VMS::Filespec::unixify( $filename )
: $filename;
-
- ### user wants us to find the version from files
- if( $FIND_VERSION ) {
-
- my $in_pod = 0;
- while ( my $line = <$fh> ) {
-
- ### stolen from EU::MM_Unix->parse_version to address
- ### #24062: "Problem with CPANPLUS 0.076 misidentifying
- ### versions after installing Text::NSP 1.03" where a
- ### VERSION mentioned in the POD was found before
- ### the real $VERSION declaration.
- $in_pod = $line =~ /^=(?!cut)/ ? 1 :
- $line =~ /^=cut/ ? 0 :
- $in_pod;
- next if $in_pod;
-
- ### try to find a version declaration in this string.
- my $ver = __PACKAGE__->_parse_version( $line );
-
- if( defined $ver ) {
- $href->{version} = $ver;
-
- last DIR;
- }
- }
+
+ ### if we don't need the version, we're done
+ last DIR unless $FIND_VERSION;
+
+ ### otherwise, the user wants us to find the version from files
+ my $mod_info = Module::Metadata->new_from_handle( $fh, $filename );
+ my $ver = $mod_info->version( $args->{module} );
+
+ if( defined $ver ) {
+ $href->{version} = $ver;
+
+ last DIR;
}
}
}
-
+
### if we couldn't find the file, return undef ###
return unless defined $href->{file};
@@ -294,7 +282,7 @@ sub check_install {
} else {
### don't warn about the 'not numeric' stuff ###
local $^W;
-
+
### use qv(), as it will deal with developer release number
### ie ones containing _ as well. This addresses bug report
### #29348: Version compare logic doesn't handle alphas?
@@ -308,19 +296,19 @@ sub check_install {
eval {
- $href->{uptodate} =
+ $href->{uptodate} =
version->new( $args->{version} ) <= version->new( $href->{version} )
- ? 1
+ ? 1
: 0;
};
}
- if ( $DEPRECATED and version->new($]) >= version->new('5.011') ) {
+ if ( $DEPRECATED and "$]" >= 5.011 ) {
require Module::CoreList;
require Config;
- $href->{uptodate} = 0 if
+ $href->{uptodate} = 0 if
exists $Module::CoreList::version{ 0+$] }{ $args->{module} } and
Module::CoreList::is_deprecated( $args->{module} ) and
$Config::Config{privlibexp} eq $href->{dir};
@@ -329,67 +317,6 @@ sub check_install {
return $href;
}
-sub _parse_version {
- my $self = shift;
- my $str = shift or return;
- my $verbose = shift || 0;
-
- ### skip lines which doesn't contain VERSION
- return unless $str =~ /VERSION/;
-
- ### skip commented out lines, they won't eval to anything.
- return if $str =~ /^\s*#/;
-
- ### the following regexp & eval statement comes from the
- ### ExtUtils::MakeMaker source (EU::MM_Unix->parse_version)
- ### Following #18892, which tells us the original
- ### regex breaks under -T, we must modify it so
- ### it captures the entire expression, and eval /that/
- ### rather than $_, which is insecure.
- my $taint_safe_str = do { $str =~ /(^.*$)/sm; $1 };
-
- if( $str =~ /(?<!\\)([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) {
-
- print "Evaluating: $str\n" if $verbose;
-
- ### this creates a string to be eval'd, like:
- # package Module::Load::Conditional::_version;
- # no strict;
- #
- # local $VERSION;
- # $VERSION=undef; do {
- # use version; $VERSION = qv('0.0.3');
- # }; $VERSION
-
- my $eval = qq{
- package Module::Load::Conditional::_version;
- no strict;
-
- local $1$2;
- \$$2=undef; do {
- $taint_safe_str
- }; \$$2
- };
-
- print "Evaltext: $eval\n" if $verbose;
-
- my $result = do {
- local $^W = 0;
- eval($eval);
- };
-
-
- my $rv = defined $result ? $result : '0.0';
-
- print( $@ ? "Error: $@\n" : "Result: $rv\n" ) if $verbose;
-
- return $rv;
- }
-
- ### unable to find a version in this string
- return;
-}
-
=head2 $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL] )
C<can_load> will take a list of modules, optionally with version
@@ -475,10 +402,10 @@ sub can_load {
###
### Update from JPeacock: apparently qv() and version->new
### are different things, and we *must* use version->new
- ### here, or things like #30056 might start happening
+ ### here, or things like #30056 might start happening
if ( !$args->{nocache}
&& defined $CACHE->{$mod}->{usable}
- && (version->new( $CACHE->{$mod}->{version}||0 )
+ && (version->new( $CACHE->{$mod}->{version}||0 )
>= version->new( $href->{$mod} ) )
) {
$error = loc( q[Already tried to use '%1', which was unsuccessful], $mod);
@@ -568,7 +495,7 @@ sub requires {
}
my $lib = join " ", map { qq["-I$_"] } @INC;
- my $cmd = qq[$^X $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
+ my $cmd = qq["$^X" $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
return sort
grep { !/^$who$/ }
@@ -596,12 +523,12 @@ The default is 0;
=head2 $Module::Load::Conditional::FIND_VERSION
This controls whether Module::Load::Conditional will try to parse
-(and eval) the version from the module you're trying to load.
+(and eval) the version from the module you're trying to load.
If you don't wish to do this, set this variable to C<false>. Understand
then that version comparisons are not possible, and Module::Load::Conditional
can not tell you what module version you have installed.
-This may be desirable from a security or performance point of view.
+This may be desirable from a security or performance point of view.
Note that C<$FIND_VERSION> code runs safely under C<taint mode>.
The default is 1;
@@ -631,9 +558,9 @@ C<undef>.
=head2 $Module::Load::Conditional::DEPRECATED
-This controls whether C<Module::Load::Conditional> checks if
+This controls whether C<Module::Load::Conditional> checks if
a dual-life core module has been deprecated. If this is set to
-true C<check_install> will return false to C<uptodate>, if
+true C<check_install> will return false to C<uptodate>, if
a dual-life module is found to be loaded from C<$Config{privlibexp}>
The default is 0;
@@ -652,7 +579,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Metadata.pm b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
index e52a0e24968..e3c25049460 100644
--- a/Master/tlpkg/tlperl/lib/Module/Metadata.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
@@ -11,7 +11,7 @@ package Module::Metadata;
use strict;
use vars qw($VERSION);
-$VERSION = '1.000009';
+$VERSION = '1.000011';
$VERSION = eval $VERSION;
use Carp qw/croak/;
@@ -61,7 +61,6 @@ my $VERS_REGEXP = qr{ # match a VERSION definition
=[^=~] # = but not ==, nor =~
}x;
-
sub new_from_file {
my $class = shift;
my $filename = File::Spec->rel2abs( shift );
@@ -219,7 +218,7 @@ sub new_from_module {
# separating into primary & alternative candidates
my( %prime, %alt );
foreach my $file (@files) {
- my $mapped_filename = File::Spec->abs2rel( $file, $dir );
+ my $mapped_filename = File::Spec::Unix->abs2rel( $file, $dir );
my @path = split( /\//, $mapped_filename );
(my $prime_package = join( '::', @path )) =~ s/\.pm$//;
@@ -232,10 +231,12 @@ sub new_from_module {
my $version = $pm_info->version( $package );
+ $prime_package = $package if lc($prime_package) eq lc($package);
if ( $package eq $prime_package ) {
if ( exists( $prime{$package} ) ) {
croak "Unexpected conflict in '$package'; multiple versions found.\n";
} else {
+ $mapped_filename = "$package.pm" if lc("$package.pm") eq lc($mapped_filename);
$prime{$package}{file} = $mapped_filename;
$prime{$package}{version} = $version if defined( $version );
}
@@ -420,7 +421,7 @@ sub _parse_version_expression {
my $line = shift;
my( $sig, $var, $pkg );
- if ( $line =~ $VERS_REGEXP ) {
+ if ( $line =~ /$VERS_REGEXP/o ) {
( $sig, $var, $pkg ) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
if ( $pkg ) {
$pkg = ($pkg eq '::') ? 'main' : $pkg;
@@ -438,9 +439,49 @@ sub _parse_file {
my $fh = IO::File->new( $filename )
or croak( "Can't open '$filename': $!" );
+ $self->_handle_bom($fh, $filename);
+
$self->_parse_fh($fh);
}
+# Look for a UTF-8/UTF-16BE/UTF-16LE BOM at the beginning of the stream.
+# If there's one, then skip it and set the :encoding layer appropriately.
+sub _handle_bom {
+ my ($self, $fh, $filename) = @_;
+
+ my $pos = $fh->getpos;
+ return unless defined $pos;
+
+ my $buf = ' ' x 2;
+ my $count = $fh->read( $buf, length $buf );
+ return unless defined $count and $count >= 2;
+
+ my $encoding;
+ if ( $buf eq "\x{FE}\x{FF}" ) {
+ $encoding = 'UTF-16BE';
+ } elsif ( $buf eq "\x{FF}\x{FE}" ) {
+ $encoding = 'UTF-16LE';
+ } elsif ( $buf eq "\x{EF}\x{BB}" ) {
+ $buf = ' ';
+ $count = $fh->read( $buf, length $buf );
+ if ( defined $count and $count >= 1 and $buf eq "\x{BF}" ) {
+ $encoding = 'UTF-8';
+ }
+ }
+
+ if ( defined $encoding ) {
+ if ( "$]" >= 5.008 ) {
+ # $fh->binmode requires perl 5.10
+ binmode( $fh, ":encoding($encoding)" );
+ }
+ } else {
+ $fh->setpos($pos)
+ or croak( sprintf "Can't reset position to the top of '$filename'" );
+ }
+
+ return $encoding;
+}
+
sub _parse_fh {
my ($self, $fh) = @_;
@@ -454,16 +495,21 @@ sub _parse_fh {
my $line_num = $.;
chomp( $line );
- next if $line =~ /^\s*#/;
- $in_pod = ($line =~ /^=(?!cut)/) ? 1 : ($line =~ /^=cut/) ? 0 : $in_pod;
-
- # Would be nice if we could also check $in_string or something too
- last if !$in_pod && $line =~ /^__(?:DATA|END)__$/;
+ # From toke.c : any line that begins by "=X", where X is an alphabetic
+ # character, introduces a POD segment.
+ my $is_cut;
+ if ( $line =~ /^=([a-zA-Z].*)/ ) {
+ my $cmd = $1;
+ # Then it goes back to Perl code for "=cutX" where X is a non-alphabetic
+ # character (which includes the newline, but here we chomped it away).
+ $is_cut = $cmd =~ /^cut(?:[^a-zA-Z]|$)/;
+ $in_pod = !$is_cut;
+ }
- if ( $in_pod || $line =~ /^=cut/ ) {
+ if ( $in_pod ) {
- if ( $line =~ /^=head\d\s+(.+)\s*$/ ) {
+ if ( $line =~ /^=head[1-4]\s+(.+)\s*$/ ) {
push( @pod, $1 );
if ( $self->{collect_pod} && length( $pod_data ) ) {
$pod{$pod_sect} = $pod_data;
@@ -471,25 +517,37 @@ sub _parse_fh {
}
$pod_sect = $1;
-
} elsif ( $self->{collect_pod} ) {
$pod_data .= "$line\n";
}
- } else {
+ } elsif ( $is_cut ) {
+ if ( $self->{collect_pod} && length( $pod_data ) ) {
+ $pod{$pod_sect} = $pod_data;
+ $pod_data = '';
+ }
$pod_sect = '';
- $pod_data = '';
+
+ } else {
+
+ # Skip comments in code
+ next if $line =~ /^\s*#/;
+
+ # Would be nice if we could also check $in_string or something too
+ last if $line =~ /^__(?:DATA|END)__$/;
# parse $line to see if it's a $VERSION declaration
my( $vers_sig, $vers_fullname, $vers_pkg ) =
- $self->_parse_version_expression( $line );
+ ($line =~ /VERSION/)
+ ? $self->_parse_version_expression( $line )
+ : ();
- if ( $line =~ $PKG_REGEXP ) {
+ if ( $line =~ /$PKG_REGEXP/o ) {
$pkg = $1;
push( @pkgs, $pkg ) unless grep( $pkg eq $_, @pkgs );
- $vers{$pkg} = (defined $2 ? $2 : undef) unless exists( $vers{$pkg} );
+ $vers{$pkg} = $2 unless exists( $vers{$pkg} );
$need_vers = defined $2 ? 0 : 1;
# VERSION defined with full package spec, i.e. $Module::VERSION
@@ -500,14 +558,6 @@ sub _parse_fh {
unless ( defined $vers{$vers_pkg} && length $vers{$vers_pkg} ) {
$vers{$vers_pkg} =
$self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
- } else {
- # Warn unless the user is using the "$VERSION = eval
- # $VERSION" idiom (though there are probably other idioms
- # that we should watch out for...)
- warn <<"EOM" unless $line =~ /=\s*eval/;
-Package '$vers_pkg' already declared with version '$vers{$vers_pkg}',
-ignoring subsequent declaration on line $line_num.
-EOM
}
# first non-comment line in undeclared package main is VERSION
@@ -533,12 +583,7 @@ EOM
unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
$vers{$pkg} = $v;
- } else {
- warn <<"EOM";
-Package '$pkg' already declared with version '$vers{$pkg}'
-ignoring new version '$v' on line $line_num.
-EOM
- }
+ }
}
@@ -730,27 +775,43 @@ without executing unsafe code.
=item C<< new_from_file($filename, collect_pod => 1) >>
-Construct a C<Module::Metadata> object given the path to a file. Takes an
-optional argument C<collect_pod> which is a boolean that determines whether POD
-data is collected and stored for reference. POD data is not collected by
-default. POD headings are always collected. Returns undef if the filename
-does not exist.
+Constructs a C<Module::Metadata> object given the path to a file. Returns
+undef if the filename does not exist.
+
+C<collect_pod> is a optional boolean argument that determines whether POD
+data is collected and stored for reference. POD data is not collected by
+default. POD headings are always collected.
+
+If the file begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then
+it is skipped before processing, and the content of the file is also decoded
+appropriately starting from perl 5.8.
=item C<< new_from_handle($handle, $filename, collect_pod => 1) >>
This works just like C<new_from_file>, except that a handle can be provided
-as the first argument. Note that there is no validation to confirm that the
-handle is a handle or something that can act like one. Passing something that
-isn't a handle will cause a exception when trying to read from it. The
-C<filename> argument is mandatory or undef will be returned.
+as the first argument.
+
+Note that there is no validation to confirm that the handle is a handle or
+something that can act like one. Passing something that isn't a handle will
+cause a exception when trying to read from it. The C<filename> argument is
+mandatory or undef will be returned.
+
+You are responsible for setting the decoding layers on C<$handle> if
+required.
=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
-Construct a C<Module::Metadata> object given a module or package name. In addition
-to accepting the C<collect_pod> argument as described above, this
-method accepts a C<inc> argument which is a reference to an array of
-of directories to search for the module. If none are given, the
-default is @INC. Returns undef if the module cannot be found.
+Constructs a C<Module::Metadata> object given a module or package name.
+Returns undef if the module cannot be found.
+
+In addition to accepting the C<collect_pod> argument as described above,
+this method accepts a C<inc> argument which is a reference to an array of
+directories to search for the module. If none are given, the default is
+@INC.
+
+If the file that contains the module begins by an UTF-8, UTF-16BE or
+UTF-16LE byte-order mark, then it is skipped before processing, and the
+content of the file is also decoded appropriately starting from perl 5.8.
=item C<< find_module_by_name($module, \@dirs) >>
@@ -897,7 +958,7 @@ Original code from Module::Build::ModuleInfo by Ken Williams
Released as Module::Metadata by Matt S Trout (mst) <mst@shadowcat.co.uk> with
assistance from David Golden (xdg) <dagolden@cpan.org>.
-=head1 COPYRIGHT
+=head1 COPYRIGHT & LICENSE
Original code Copyright (c) 2001-2011 Ken Williams.
Additional code Copyright (c) 2010-2011 Matt Trout and David Golden.
diff --git a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm b/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
index 55cf7269e70..9e7962efab7 100644
--- a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
@@ -1,15 +1,18 @@
package Module::Pluggable;
use strict;
-use vars qw($VERSION);
+use vars qw($VERSION $FORCE_SEARCH_ALL_PATHS);
use Module::Pluggable::Object;
+use if $] > 5.017, 'deprecate';
+
# ObQuote:
# Bob Porter: Looks like you've been missing a lot of work lately.
# Peter Gibbons: I wouldn't say I've been missing it, Bob!
-$VERSION = '4.0';
+$VERSION = '4.7';
+$FORCE_SEARCH_ALL_PATHS = 0;
sub import {
my $class = shift;
@@ -22,6 +25,7 @@ sub import {
my ($package) = $opts{'package'} || $pkg;
$opts{filename} = $file;
$opts{package} = $package;
+ $opts{force_search_all_paths} = $FORCE_SEARCH_ALL_PATHS unless exists $opts{force_search_all_paths};
my $finder = Module::Pluggable::Object->new(%opts);
@@ -152,9 +156,8 @@ Optionally it instantiates those classes for you.
=head1 ADVANCED USAGE
-
Alternatively, if you don't want to use 'plugins' as the method ...
-
+
package MyClass;
use Module::Pluggable sub_name => 'foo';
@@ -227,6 +230,21 @@ and then later ...
my @filters = $self->filters;
my @plugins = $self->plugins;
+
+=head1 PLUGIN SEARCHING
+
+Every time you call 'plugins' the whole search path is walked again. This allows
+for dynamically loading plugins even at run time. However this can get expensive
+and so if you don't expect to want to add new plugins at run time you could do
+
+
+ package Foo;
+ use strict;
+ use Module::Pluggable sub_name => '_plugins';
+
+ our @PLUGINS;
+ sub plugins { @PLUGINS ||= shift->_plugins }
+ 1;
=head1 INNER PACKAGES
@@ -307,6 +325,62 @@ the extensions F<.swp> or F<.swo>, or files beginning with F<.#>.
Setting C<include_editor_junk> changes C<Module::Pluggable> so it does
not ignore any files it finds.
+=head2 follow_symlinks
+
+Whether, when searching directories, to follow symlinks.
+
+Defaults to 1 i.e do follow symlinks.
+
+=head2 min_depth, max_depth
+
+This will allow you to set what 'depth' of plugin will be allowed.
+
+So, for example, C<MyClass::Plugin::Foo> will have a depth of 3 and
+C<MyClass::Plugin::Foo::Bar> will have a depth of 4 so to only get the former
+(i.e C<MyClass::Plugin::Foo>) do
+
+ package MyClass;
+ use Module::Pluggable max_depth => 3;
+
+and to only get the latter (i.e C<MyClass::Plugin::Foo::Bar>)
+
+ package MyClass;
+ use Module::Pluggable min_depth => 4;
+
+
+=head1 TRIGGERS
+
+Various triggers can also be passed in to the options.
+
+If any of these triggers return 0 then the plugin will not be returned.
+
+=head2 before_require <plugin>
+
+Gets passed the plugin name.
+
+If 0 is returned then this plugin will not be required either.
+
+=head2 on_require_error <plugin> <err>
+
+Gets called when there's an error on requiring the plugin.
+
+Gets passed the plugin name and the error.
+
+The default on_require_error handler is to C<carp> the error and return 0.
+
+=head2 on_instantiate_error <plugin> <err>
+
+Gets called when there's an error on instantiating the plugin.
+
+Gets passed the plugin name and the error.
+
+The default on_instantiate_error handler is to C<carp> the error and return 0.
+
+=head2 after_require <plugin>
+
+Gets passed the plugin name.
+
+If 0 is returned then this plugin will be required but not returned as a plugin.
=head1 METHODs
@@ -319,7 +393,29 @@ search_path.
$self->search_path( add => "New::Path" ); # add
$self->search_path( new => "New::Path" ); # replace
+=head1 BEHAVIOUR UNDER TEST ENVIRONMENT
+In order to make testing reliable we exclude anything not from blib if blib.pm is
+in %INC.
+
+However if the module being tested used another module that itself used C<Module::Pluggable>
+then the second module would fail. This was fixed by checking to see if the caller
+had (^|/)blib/ in their filename.
+
+There's an argument that this is the wrong behaviour and that modules should explicitly
+trigger this behaviour but that particular code has been around for 7 years now and I'm
+reluctant to change the default behaviour.
+
+You can now (as of version 4.1) force Module::Pluggable to look outside blib in a test environment by doing either
+
+ require Module::Pluggable;
+ $Module::Pluggable::FORCE_SEARCH_ALL_PATHS = 1;
+ import Module::Pluggable;
+
+or
+
+ use Module::Pluggable force_search_all_paths => 1;
+
=head1 FUTURE PLANS
@@ -332,6 +428,12 @@ Recently tried fixed to find inner packages and to make it
However suggestions (and patches) are welcome.
+=head1 DEVELOPMENT
+
+The master repo for this module is at
+
+https://github.com/simonwistow/Module-Pluggable
+
=head1 AUTHOR
Simon Wistow <simon@thegestalt.org>
diff --git a/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm b/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm
index e0ee993075d..6b1d265456c 100644
--- a/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Pluggable/Object.pm
@@ -4,11 +4,13 @@ use strict;
use File::Find ();
use File::Basename;
use File::Spec::Functions qw(splitdir catdir curdir catfile abs2rel);
-use Carp qw(croak carp);
+use Carp qw(croak carp confess);
use Devel::InnerPackage;
use vars qw($VERSION);
-$VERSION = '3.9';
+use if $] > 5.017, 'deprecate';
+
+$VERSION = '4.6';
sub new {
@@ -25,64 +27,74 @@ sub new {
sub plugins {
- my $self = shift;
-
- # override 'require'
- $self->{'require'} = 1 if $self->{'inner'};
-
- my $filename = $self->{'filename'};
- my $pkg = $self->{'package'};
-
- # Get the exception params instantiated
- $self->_setup_exceptions;
-
- # automatically turn a scalar search path or namespace into a arrayref
- for (qw(search_path search_dirs)) {
- $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
- }
-
- # default search path is '<Module>::<Name>::Plugin'
- $self->{'search_path'} = ["${pkg}::Plugin"] unless $self->{'search_path'};
+ my $self = shift;
+ my @args = @_;
+ # override 'require'
+ $self->{'require'} = 1 if $self->{'inner'};
- #my %opts = %$self;
+ my $filename = $self->{'filename'};
+ my $pkg = $self->{'package'};
+ # Get the exception params instantiated
+ $self->_setup_exceptions;
- # check to see if we're running under test
- my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! ? grep {/blib/} @INC : @INC;
+ # automatically turn a scalar search path or namespace into a arrayref
+ for (qw(search_path search_dirs)) {
+ $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
+ }
- # add any search_dir params
- unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
+ # default search path is '<Module>::<Name>::Plugin'
+ $self->{'search_path'} ||= ["${pkg}::Plugin"];
+ # default error handler
+ $self->{'on_require_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't require $plugin : $err"; return 0 };
+ $self->{'on_instantiate_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't instantiate $plugin: $err"; return 0 };
- my @plugins = $self->search_directories(@SEARCHDIR);
- push(@plugins, $self->handle_innerpackages($_)) for @{$self->{'search_path'}};
+ # default whether to follow symlinks
+ $self->{'follow_symlinks'} = 1 unless exists $self->{'follow_symlinks'};
- # push @plugins, map { print STDERR "$_\n"; $_->require } list_packages($_) for (@{$self->{'search_path'}});
-
- # return blank unless we've found anything
- return () unless @plugins;
+ # check to see if we're running under test
+ my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! && !$self->{'force_search_all_paths'} ? grep {/blib/} @INC : @INC;
+ # add any search_dir params
+ unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
+ # set our @INC up to include and prefer our search_dirs if necessary
+ my @tmp = @INC;
+ unshift @tmp, @{$self->{'search_dirs'} || []};
+ local @INC = @tmp if defined $self->{'search_dirs'};
- # remove duplicates
- # probably not necessary but hey ho
- my %plugins;
- for(@plugins) {
- next unless $self->_is_legit($_);
- $plugins{$_} = 1;
- }
+ my @plugins = $self->search_directories(@SEARCHDIR);
+ push(@plugins, $self->handle_innerpackages($_)) for @{$self->{'search_path'}};
+
+ # return blank unless we've found anything
+ return () unless @plugins;
+
+ # remove duplicates
+ # probably not necessary but hey ho
+ my %plugins;
+ for(@plugins) {
+ next unless $self->_is_legit($_);
+ $plugins{$_} = 1;
+ }
- # are we instantiating or requring?
- if (defined $self->{'instantiate'}) {
- my $method = $self->{'instantiate'};
- return map { ($_->can($method)) ? $_->$method(@_) : () } keys %plugins;
- } else {
- # no? just return the names
- return keys %plugins;
+ # are we instantiating or requring?
+ if (defined $self->{'instantiate'}) {
+ my $method = $self->{'instantiate'};
+ my @objs = ();
+ foreach my $package (sort keys %plugins) {
+ next unless $package->can($method);
+ my $obj = eval { $package->$method(@_) };
+ $self->{'on_instantiate_error'}->($package, $@) if $@;
+ push @objs, $obj if $obj;
}
-
-
+ return @objs;
+ } else {
+ # no? just return the names
+ my @objs= sort keys %plugins;
+ return @objs;
+ }
}
sub _setup_exceptions {
@@ -127,12 +139,16 @@ sub _is_legit {
my %except = %{$self->{_exceptions}->{except_hash}||{}};
my $only = $self->{_exceptions}->{only};
my $except = $self->{_exceptions}->{except};
+ my $depth = () = split '::', $plugin, -1;
return 0 if (keys %only && !$only{$plugin} );
return 0 unless (!defined $only || $plugin =~ m!$only! );
return 0 if (keys %except && $except{$plugin} );
return 0 if (defined $except && $plugin =~ m!$except! );
+
+ return 0 if defined $self->{max_depth} && $depth>$self->{max_depth};
+ return 0 if defined $self->{min_depth} && $depth<$self->{min_depth};
return 1;
}
@@ -193,7 +209,7 @@ sub search_paths {
next if ($in_pod || $line =~ /^=cut/); # skip pod text
next if $line =~ /^\s*#/; # and comments
if ( $line =~ m/^\s*package\s+(.*::)?($name)\s*;/i ) {
- @pkg_dirs = split /::/, $1;
+ @pkg_dirs = split /::/, $1 if defined $1;;
$name = $2;
last;
}
@@ -220,10 +236,7 @@ sub search_paths {
next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]!i;
- my $err = $self->handle_finding_plugin($plugin);
- carp "Couldn't require $plugin : $err" if $err;
-
- push @plugins, $plugin;
+ $self->handle_finding_plugin($plugin, \@plugins)
}
# now add stuff that may have been in package
@@ -252,12 +265,33 @@ sub _is_editor_junk {
}
sub handle_finding_plugin {
- my $self = shift;
- my $plugin = shift;
-
- return unless (defined $self->{'instantiate'} || $self->{'require'});
+ my $self = shift;
+ my $plugin = shift;
+ my $plugins = shift;
+ my $no_req = shift || 0;
+
return unless $self->_is_legit($plugin);
- $self->_require($plugin);
+ unless (defined $self->{'instantiate'} || $self->{'require'}) {
+ push @$plugins, $plugin;
+ return;
+ }
+
+ $self->{before_require}->($plugin) || return if defined $self->{before_require};
+ unless ($no_req) {
+ my $tmp = $@;
+ my $res = eval { $self->_require($plugin) };
+ my $err = $@;
+ $@ = $tmp;
+ if ($err) {
+ if (defined $self->{on_require_error}) {
+ $self->{on_require_error}->($plugin, $err) || return;
+ } else {
+ return;
+ }
+ }
+ }
+ $self->{after_require}->($plugin) || return if defined $self->{after_require};
+ push @$plugins, $plugin;
}
sub find_files {
@@ -273,7 +307,8 @@ sub find_files {
{ # for the benefit of perl 5.6.1's Find, localize topic
local $_;
File::Find::find( { no_chdir => 1,
- wanted => sub {
+ follow => $self->{'follow_symlinks'},
+ wanted => sub {
# Inlined from File::Find::Rule C< name => '*.pm' >
return unless $File::Find::name =~ /$file_regex/;
(my $path = $File::Find::name) =~ s#^\\./##;
@@ -294,10 +329,7 @@ sub handle_innerpackages {
my @plugins;
foreach my $plugin (Devel::InnerPackage::list_packages($path)) {
- my $err = $self->handle_finding_plugin($plugin);
- #next if $err;
- #next unless $INC{$plugin};
- push @plugins, $plugin;
+ $self->handle_finding_plugin($plugin, \@plugins, 1);
}
return @plugins;
@@ -305,11 +337,11 @@ sub handle_innerpackages {
sub _require {
- my $self = shift;
- my $pack = shift;
- local $@;
+ my $self = shift;
+ my $pack = shift;
eval "CORE::require $pack";
- return $@;
+ die ($@) if $@;
+ return 1;
}