diff options
author | Ricardo Signes <rjbs@cpan.org> | 2013-08-01 21:11:33 -0400 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2013-08-01 21:24:37 -0400 |
commit | 59101f8e68fed0451bb17da55e38bd10147764cc (patch) | |
tree | 233efa52808583beb9c3ded6766f5f975ae6a316 | |
parent | 691491ccee3b7e52b6f58d3f58fc3409c54b30b8 (diff) | |
download | perl-59101f8e68fed0451bb17da55e38bd10147764cc.tar.gz |
import Module-Corelist 2.95 from blead
-rw-r--r-- | MANIFEST | 2 | ||||
-rw-r--r-- | dist/Module-CoreList/Changes | 19 | ||||
-rw-r--r-- | dist/Module-CoreList/MANIFEST | 1 | ||||
-rw-r--r-- | dist/Module-CoreList/corelist | 16 | ||||
-rw-r--r-- | dist/Module-CoreList/lib/Module/CoreList.pm | 1259 | ||||
-rw-r--r-- | dist/Module-CoreList/lib/Module/CoreList.pod | 5 | ||||
-rw-r--r-- | dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm | 2 | ||||
-rw-r--r-- | dist/Module-CoreList/lib/Module/CoreList/Utils.pm | 979 | ||||
-rw-r--r-- | dist/Module-CoreList/t/find_modules.t | 2 | ||||
-rw-r--r-- | dist/Module-CoreList/t/utils.t | 23 | ||||
-rw-r--r-- | t/porting/known_pod_issues.dat | 4 |
11 files changed, 1717 insertions, 595 deletions
@@ -3449,6 +3449,7 @@ dist/Module-CoreList/identify-dependencies A usage example for Module::CoreList dist/Module-CoreList/lib/Module/CoreList.pm Module::CoreList dist/Module-CoreList/lib/Module/CoreList.pod Module::CoreList dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm Module::CoreList guts +dist/Module-CoreList/lib/Module/CoreList/Utils.pm Module::CoreList guts dist/Module-CoreList/Makefile.PL Module::CoreList dist/Module-CoreList/MANIFEST Module::CoreList dist/Module-CoreList/README Module::CoreList @@ -3456,6 +3457,7 @@ dist/Module-CoreList/t/corelist.t Module::CoreList tests dist/Module-CoreList/t/deprecated.t Module::CoreList tests dist/Module-CoreList/t/find_modules.t Module::CoreList tests dist/Module-CoreList/t/pod.t Module::CoreList tests +dist/Module-CoreList/t/utils.t Module::CoreList tests dist/Net-Ping/Changes Net::Ping dist/Net-Ping/lib/Net/Ping.pm Hello, anybody home? dist/Net-Ping/t/100_load.t Ping Net::Ping diff --git a/dist/Module-CoreList/Changes b/dist/Module-CoreList/Changes index 4f9730cb5b..b3f2460fdb 100644 --- a/dist/Module-CoreList/Changes +++ b/dist/Module-CoreList/Changes @@ -1,4 +1,21 @@ -2.89 +2.95 Mon Jun 22 2013 + - Updated for v5.19.3 + +2.94 Sun Jun 21 2013 + - Updated for v5.19.2 + +2.93 Thu 20 Jun 2013 + - Updated for v5.19.1 + +2.92 Thu Jun 21 2013 + - Make switches case-sensitive (keep -d and -D distinct) + - correct omission of Text::Soundex and File::CheckTree from deprecations + - switch %deprecated to a delta hash + +2.91 Mon May 20 2013 + - Updated for v5.19.0 + +2.90 Mon May 18 2013 - Updated for v5.18.0 2.88 Tue Apr 23 2013 diff --git a/dist/Module-CoreList/MANIFEST b/dist/Module-CoreList/MANIFEST index 1f963b968f..7d524a2556 100644 --- a/dist/Module-CoreList/MANIFEST +++ b/dist/Module-CoreList/MANIFEST @@ -4,6 +4,7 @@ identify-dependencies lib/Module/CoreList.pm lib/Module/CoreList.pod lib/Module/CoreList/TieHashDelta.pm +lib/Module/CoreList/Utils.pm README MANIFEST Makefile.PL diff --git a/dist/Module-CoreList/corelist b/dist/Module-CoreList/corelist index b012c5ef0b..ec8c7d6878 100644 --- a/dist/Module-CoreList/corelist +++ b/dist/Module-CoreList/corelist @@ -10,13 +10,13 @@ See L<Module::CoreList> for one. =head1 SYNOPSIS - corelist -v - corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ... - corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ... - corelist [-r <PerlVersion>] ... - corelist --feature <FeatureName> [<FeatureName>] ... - corelist --diff PerlVersion PerlVersion - corelist --upstream <ModuleName> + corelist -v + corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ... + corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ... + corelist [-r <PerlVersion>] ... + corelist --feature <FeatureName> [<FeatureName>] ... + corelist --diff PerlVersion PerlVersion + corelist --upstream <ModuleName> =head1 OPTIONS @@ -131,7 +131,7 @@ requested perl versions. =cut use Module::CoreList; -use Getopt::Long; +use Getopt::Long qw(:config no_ignore_case); use Pod::Usage; use strict; use warnings; diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm b/dist/Module-CoreList/lib/Module/CoreList.pm index b910d19866..7533c95c02 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/dist/Module-CoreList/lib/Module/CoreList.pm @@ -3,7 +3,7 @@ use strict; use vars qw/$VERSION %released %version %families %upstream %bug_tracker %deprecated/; use Module::CoreList::TieHashDelta; -$VERSION = '2.90'; +$VERSION = '2.95'; my $dumpinc = 0; sub import { @@ -231,6 +231,10 @@ sub changes_between { 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.019003 => '2013-08-??', ); for my $version ( sort { $a <=> $b } keys %released ) { @@ -8017,6 +8021,440 @@ my %delta = ( removed => { } }, + 5.019000 => { + delta_from => 5.018000, + changed => { + '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.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::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.019002 => { + delta_from => 5.019001, + changed => { + 'B' => '1.44', + 'B::Concise' => '0.98', + 'B::Deparse' => '1.22', + 'Benchmark' => '1.17', + 'Class::Struct' => '0.65', + '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.019003 => { + delta_from => 5.019002, + changed => { + }, + removed => { + } + }, ); for my $version (sort { $a <=> $b } keys %delta) { @@ -8028,481 +8466,252 @@ for my $version (sort { $a <=> $b } keys %delta) { } %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.011 => { + changed => { map { $_ => 1 } qw/ + Class::ISA + Pod::Plainer + Shell + Switch + /}, + }, + 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 => { - '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.013008 => { - 'Shell' => '1', - }, - 5.012003 => { - 'Class::ISA' => '1', - 'Pod::Plainer' => '1', - 'Shell' => '1', - 'Switch' => '1', - }, - 5.013009 => { - 'Shell' => '1', - }, - 5.013010 => { - 'Shell' => '1', - }, - 5.013011 => { - 'Shell' => '1', - }, - 5.014000 => { - 'Shell' => '1', - }, - 5.012004 => { - 'Class::ISA' => '1', - 'Pod::Plainer' => '1', - 'Shell' => '1', - 'Switch' => '1', - }, - 5.012005 => { - 'Class::ISA' => '1', - 'Pod::Plainer' => '1', - 'Shell' => '1', - 'Switch' => '1', - }, - 5.014001 => { - 'Shell' => '1', - }, - 5.015000 => { - 'Devel::DProf' => '1', - }, - 5.015000 => { - }, - 5.015001 => { - }, - 5.015002 => { - }, - 5.014002 => { - 'Shell' => '1', - }, - 5.015003 => { - }, - 5.015004 => { - }, - 5.015005 => { - }, - 5.015006 => { - }, - 5.015007 => { - }, - 5.015008 => { - }, - 5.015009 => { - }, - 5.016000 => { - }, - 5.016001 => { - }, - 5.016002 => { - }, - 5.017000 => { - }, - 5.017001 => { - }, - 5.017002 => { - }, - 5.017003 => { - }, - 5.017004 => { - }, - 5.014003 => { - 'Shell' => '1', - }, - 5.017005 => { - }, - 5.017006 => { - }, - 5.017007 => { - }, + delta_from => 5.013, + removed => { map { $_ => 1 } qw/ + Class::ISA + Pod::Plainer + Switch + /}, + }, + 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.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 => { - 'Pod::LaTeX' => '1', + delta_from => 5.017007, + changed => { 'Pod::LaTeX' => 1 }, }, 5.017009 => { - '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', - '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', - }, - 5.014004 => { - 'Shell' => '1', - }, - 5.016003 => { - }, - 5.017010 => { - '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', - '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', - }, - 5.017011 => { - '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', - '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', + 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.01701 => { delta_from => 5.017009 }, + 5.017011 => { delta_from => 5.01701 }, + 5.017012 => { delta_from => 5.017011 }, + + 5.018 => { delta_from => 5.017012 }, + + 5.019 => { + delta_from => 5.018, + 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.019001 => { + delta_from => 5.019, + changed => { + }, + removed => { + } }, - 5.017012 => { - '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', - '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', + 5.019002 => { + delta_from => 5.019001, + changed => { + }, + removed => { + } }, - 5.018000 => { - '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', - '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', + 5.019003 => { + delta_from => 5.019002, + changed => { + }, + 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', @@ -8512,8 +8721,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'B::Concise' => 'blead', 'B::Debug' => 'cpan', 'B::Deparse' => 'blead', - 'B::Lint' => 'cpan', - 'B::Lint::Debug' => 'cpan', 'CGI' => 'cpan', 'CGI::Apache' => 'cpan', 'CGI::Carp' => 'cpan', @@ -8565,47 +8772,6 @@ 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', @@ -8614,8 +8780,7 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Config::Perl::V' => 'cpan', 'Cwd' => 'blead', 'DB_File' => 'cpan', - 'Devel::InnerPackage' => 'cpan', - 'Devel::PPPort' => 'cpan', + 'Devel::PPPort' => 'undef', 'Digest' => 'cpan', 'Digest::MD5' => 'cpan', 'Digest::SHA' => 'cpan', @@ -8696,6 +8861,7 @@ for my $version (sort { $a <=> $b } keys %delta) { 'ExtUtils::ParseXS' => 'blead', 'ExtUtils::ParseXS::Constants'=> 'blead', 'ExtUtils::ParseXS::CountLines'=> 'blead', + 'ExtUtils::ParseXS::Eval'=> 'blead', 'ExtUtils::ParseXS::Utilities'=> 'blead', 'ExtUtils::Typemaps' => 'blead', 'ExtUtils::Typemaps::Cmd'=> 'blead', @@ -8787,11 +8953,6 @@ for my $version (sort { $a <=> $b } keys %delta) { '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', @@ -8841,12 +9002,11 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Module::Build::YAML' => 'cpan', 'Module::CoreList' => 'blead', 'Module::CoreList::TieHashDelta'=> 'blead', + 'Module::CoreList::Utils'=> '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, @@ -8863,7 +9023,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Net::Ping' => 'blead', 'Net::SMTP' => undef, 'Net::Time' => undef, - 'Object::Accessor' => 'cpan', 'Package::Constants' => 'cpan', 'Params::Check' => 'cpan', 'Parse::CPAN::Meta' => 'cpan', @@ -8873,7 +9032,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Pod::Escapes' => undef, 'Pod::Find' => 'cpan', 'Pod::InputObjects' => 'cpan', - 'Pod::LaTeX' => undef, 'Pod::Man' => 'cpan', 'Pod::ParseLink' => 'cpan', 'Pod::ParseUtils' => 'cpan', @@ -8978,8 +9136,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'TAP::Parser::YAMLish::Writer'=> 'cpan', 'Term::ANSIColor' => 'cpan', 'Term::Cap' => undef, - 'Term::UI' => 'cpan', - 'Term::UI::History' => 'cpan', 'Test' => 'cpan', 'Test::Builder' => 'cpan', 'Test::Builder::Module' => 'cpan', @@ -8990,7 +9146,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Test::Simple' => 'cpan', 'Text::Balanced' => 'cpan', 'Text::ParseWords' => undef, - 'Text::Soundex' => undef, 'Text::Tabs' => 'cpan', 'Text::Wrap' => 'cpan', 'Thread::Queue' => 'blead', @@ -9013,7 +9168,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Unicode::Normalize' => 'first-come', 'Unicode::UCD' => 'blead', 'VMS::DCLsym' => undef, - 'VMS::Filespec' => undef, 'VMS::Stdio' => undef, 'Win32' => 'cpan', 'Win32API::File' => 'cpan', @@ -9024,6 +9178,7 @@ for my $version (sort { $a <=> $b } keys %delta) { 'autodie::exception' => 'cpan', 'autodie::exception::system'=> 'cpan', 'autodie::hints' => 'cpan', + 'autodie::skip' => 'cpan', 'base' => 'blead', 'bigint' => 'blead', 'bignum' => 'blead', @@ -9050,7 +9205,6 @@ 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, @@ -9058,8 +9212,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'B::Concise' => undef, 'B::Debug' => undef, 'B::Deparse' => undef, - 'B::Lint' => undef, - 'B::Lint::Debug' => undef, 'CGI' => undef, 'CGI::Apache' => undef, 'CGI::Carp' => undef, @@ -9111,47 +9263,6 @@ 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, @@ -9160,7 +9271,6 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Config::Perl::V' => undef, 'Cwd' => undef, 'DB_File' => undef, - 'Devel::InnerPackage' => undef, 'Devel::PPPort' => undef, 'Digest' => undef, 'Digest::MD5' => undef, @@ -9242,6 +9352,7 @@ for my $version (sort { $a <=> $b } keys %delta) { 'ExtUtils::ParseXS' => undef, 'ExtUtils::ParseXS::Constants'=> undef, 'ExtUtils::ParseXS::CountLines'=> undef, + 'ExtUtils::ParseXS::Eval'=> undef, 'ExtUtils::ParseXS::Utilities'=> undef, 'ExtUtils::Typemaps' => undef, 'ExtUtils::Typemaps::Cmd'=> undef, @@ -9333,11 +9444,6 @@ for my $version (sort { $a <=> $b } keys %delta) { '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, @@ -9362,6 +9468,7 @@ 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, @@ -9386,12 +9493,11 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Module::Build::YAML' => undef, 'Module::CoreList' => undef, 'Module::CoreList::TieHashDelta'=> undef, + 'Module::CoreList::Utils'=> undef, 'Module::Load' => undef, 'Module::Load::Conditional'=> undef, 'Module::Loaded' => undef, 'Module::Metadata' => undef, - 'Module::Pluggable' => undef, - 'Module::Pluggable::Object'=> undef, 'NEXT' => undef, 'Net::Cmd' => undef, 'Net::Config' => undef, @@ -9408,17 +9514,15 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Net::Ping' => undef, 'Net::SMTP' => undef, 'Net::Time' => undef, - 'Object::Accessor' => undef, 'Package::Constants' => undef, 'Params::Check' => undef, - 'Parse::CPAN::Meta' => undef, + 'Parse::CPAN::Meta' => 'https://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, @@ -9523,8 +9627,6 @@ for my $version (sort { $a <=> $b } keys %delta) { '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', @@ -9535,7 +9637,6 @@ for my $version (sort { $a <=> $b } keys %delta) { '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, @@ -9557,18 +9658,16 @@ for my $version (sort { $a <=> $b } keys %delta) { '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', + 'autodie::skip' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'base' => undef, 'bigint' => undef, 'bignum' => undef, diff --git a/dist/Module-CoreList/lib/Module/CoreList.pod b/dist/Module-CoreList/lib/Module/CoreList.pod index adb9f4dcbd..5e09ede70e 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pod +++ b/dist/Module-CoreList/lib/Module/CoreList.pod @@ -111,7 +111,7 @@ The keys are library names and the values are hashrefs. Each hashref has an entry for one or both of C<left> and C<right>, giving the versions of the library in each of the left and right perl distributions. -For example, it might return these data (among others) for the the difference +For example, it might return these data (among others) for the difference between 5.008000 and 5.008001: 'Pod::ParseLink' => { left => '1.05', right => '1.06' }, @@ -196,7 +196,8 @@ Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07, 5.13.8, 5.13.9, 5.13.10, 5.13.11, 5.14.0, 5.14.1, 5.14.2 5.14.3, 5.14.4, 5.15.0, 5.15.1, 5.15.2, 5.15.3, 5.15.4, 5.15.5, 5.15.6, 5.15.7, 5.15.8, 5.15.9, 5.16.0, 5.16.1, 5.16.2, 5.16.3, 5.17.0, 5.17.1, 5.17.2, 5.17.3, -5.17.4, 5.17.5, 5.17.6, 5.17.7, 5.17.8, 5.17.9, 5.17.10, 5.17.11 and 5.18.0 releases of perl. +5.17.4, 5.17.5, 5.17.6, 5.17.7, 5.17.8, 5.17.9, 5.17.10, 5.17.11, 5.18.0, +5.19.0, 5.19.1, 5.19.2 and 5.19.3 releases of perl. =head1 HISTORY diff --git a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm index 4654d3b09e..bf328c641a 100644 --- a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm +++ b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm @@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta; use strict; use vars qw($VERSION); -$VERSION = "2.90"; +$VERSION = "2.95"; sub TIEHASH { my ($class, $changed, $removed, $parent) = @_; diff --git a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm new file mode 100644 index 0000000000..774e2b6d80 --- /dev/null +++ b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm @@ -0,0 +1,979 @@ +package Module::CoreList::Utils; + +use strict; +use warnings; +use vars qw[$VERSION %utilities]; +use Module::CoreList; +use Module::CoreList::TieHashDelta; + +$VERSION = '2.95'; + +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.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 => { + } + }, +); + +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/dist/Module-CoreList/t/find_modules.t b/dist/Module-CoreList/t/find_modules.t index 1e814854d6..112f77f8f4 100644 --- a/dist/Module-CoreList/t/find_modules.t +++ b/dist/Module-CoreList/t/find_modules.t @@ -20,5 +20,5 @@ is_deeply([ Module::CoreList->find_modules(qr/Test::H.*::.*s/, 5.006001, 5.00700 'qr/Test::H.*::.*s/ at 5.006001 and 5.007003'); is_deeply([ Module::CoreList::find_modules(qr/Module::CoreList/) ], - [ qw(Module::CoreList Module::CoreList::TieHashDelta) ], + [ qw(Module::CoreList Module::CoreList::TieHashDelta Module::CoreList::Utils) ], 'Module::CoreList functional' ); diff --git a/dist/Module-CoreList/t/utils.t b/dist/Module-CoreList/t/utils.t new file mode 100644 index 0000000000..48224958c0 --- /dev/null +++ b/dist/Module-CoreList/t/utils.t @@ -0,0 +1,23 @@ +use strict; +use warnings; +use Test::More tests => 9; + +BEGIN { require_ok('Module::CoreList::Utils'); } + +ok( defined $Module::CoreList::Utils::utilities{5}{a2p}, '5 had a2p' ); +is( Module::CoreList::Utils->first_release('a2p'), 5, 'a2p first released in 5' ); +is( Module::CoreList::Utils::first_release('a2p'), 5, 'a2p first released in 5' ); +is( Module::CoreList::Utils->first_release('corelist'), 5.008009, 'corelist with v5.8.9'); +is( Module::CoreList::Utils->first_release_by_date('corelist'), 5.009002, 'corelist with v5.9.2'); +is( Module::CoreList::Utils::first_release_by_date('corelist'), 5.009002, 'corelist with v5.9.2'); +{ + my @expected = qw(a2p c2ph cppstdin find2perl h2xs pstruct s2p); + { + my @foo = Module::CoreList::Utils->utilities(5.001); + is_deeply( \@foo, \@expected, '5.001 utils all present and correct' ); + } + { + my @foo = Module::CoreList::Utils::utilities(5.001); + is_deeply( \@foo, \@expected, '5.001 utils all present and correct' ); + } +} diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat index 6afa0495fa..21d06b72d7 100644 --- a/t/porting/known_pod_issues.dat +++ b/t/porting/known_pod_issues.dat @@ -177,8 +177,8 @@ dist/math-bigint/lib/math/bigint.pm Verbatim line length including indents excee dist/math-bigint/lib/math/bigint/calcemu.pm empty section in previous paragraph 3 dist/math-bigrat/lib/math/bigrat.pm Verbatim line length including indents exceeds 79 by 7 dist/math-bigrat/lib/math/bigrat.pm unresolved internal link 1 -dist/module-corelist/blib/script/corelist Verbatim line length including indents exceeds 79 by 1 dist/module-corelist/lib/module/corelist.pod Verbatim line length including indents exceeds 79 by 4 +dist/module-corelist/lib/module/corelist/utils.pm Verbatim line length including indents exceeds 79 by 2 dist/net-ping/lib/net/ping.pm Verbatim line length including indents exceeds 79 by 2 dist/safe/safe.pm Verbatim line length including indents exceeds 79 by 1 dist/safe/safe.pm empty section in previous paragraph 1 @@ -237,7 +237,7 @@ pod/perlguts.pod ? Should you be using F<...> or maybe L<...> instead of 2 pod/perlguts.pod ? Should you be using L<...> instead of 1 pod/perlhack.pod ? Should you be using L<...> instead of 1 pod/perlhack.pod Verbatim line length including indents exceeds 79 by 1 -pod/perlhist.pod Verbatim line length including indents exceeds 79 by 2 +pod/perlhist.pod Verbatim line length including indents exceeds 79 by 1 pod/perlhpux.pod Verbatim line length including indents exceeds 79 by 5 pod/perlhurd.pod Verbatim line length including indents exceeds 79 by 2 pod/perlintern.pod ? Should you be using L<...> instead of 5 |