From 667d760de2dee4e86c31d690cbaafcfd08e41459 Mon Sep 17 00:00:00 2001 From: Olaf Alders Date: Mon, 5 Jul 2021 22:31:26 -0400 Subject: [PATCH 001/578] Update deps --- cpanfile | 38 +- cpanfile.snapshot | 2662 ++++++++++++++++++++------------------------- 2 files changed, 1178 insertions(+), 1522 deletions(-) diff --git a/cpanfile b/cpanfile index 8693a69a5..a91f0a342 100644 --- a/cpanfile +++ b/cpanfile @@ -8,7 +8,7 @@ requires 'Archive::Tar', '2.04'; requires 'Authen::SASL', '2.16'; requires 'BackPAN::Index', '0.42'; requires 'Captcha::reCAPTCHA', '0.99'; -requires 'Catalyst', '5.90103'; +requires 'Catalyst', '5.90128'; requires 'Catalyst::Action::RenderView'; requires 'Catalyst::Controller'; requires 'Catalyst::Controller::REST'; @@ -41,11 +41,11 @@ requires 'Cwd'; requires 'Data::DPath'; requires 'Data::Dump'; requires 'Data::Dumper'; -requires 'Data::Printer', '0.38'; -requires 'DateTime', '1.24'; +requires 'Data::Printer', '1.000004'; +requires 'DateTime', '1.54'; requires 'DateTime::Format::ISO8601'; -requires 'DBD::SQLite', '1.50'; -requires 'DBI', '1.616'; +requires 'DBD::SQLite', '1.66'; +requires 'DBI', '1.643'; requires 'Devel::ArgNames'; requires 'Digest::MD5'; requires 'Digest::SHA'; @@ -98,7 +98,7 @@ requires 'Log::Log4perl::Appender::ScreenColoredLevels'; requires 'Log::Log4perl::Catalyst'; requires 'Log::Log4perl::Layout::JSON'; requires 'LWP::Protocol::https'; -requires 'LWP::UserAgent', '6.15'; +requires 'LWP::UserAgent', '6.55'; requires 'LWP::UserAgent::Paranoid'; requires 'MetaCPAN::Moose'; requires 'MetaCPAN::Pod::XHTML'; @@ -114,7 +114,7 @@ requires 'Mojolicious::Plugin::MountPSGI', '0.14'; requires 'Mojolicious::Plugin::OpenAPI'; requires 'Mojolicious::Plugin::Web::Auth', '0.17'; requires 'Mojo::Pg', '4.08'; -requires 'Moose', '2.1403'; +requires 'Moose', '2.2015'; requires 'Moose::Role'; requires 'Moose::Util'; requires 'MooseX::Aliases'; @@ -129,20 +129,20 @@ requires 'MooseX::StrictConstructor'; requires 'MooseX::Types'; requires 'MooseX::Types::ElasticSearch', '== 0.0.4'; requires 'MooseX::Types::Moose'; -requires 'Mozilla::CA'; +requires 'Mozilla::CA', '20200520'; requires 'namespace::autoclean'; requires 'Net::DNS::Paranoid'; -requires 'Net::Fastly', '1.05'; -requires 'Net::Twitter', '4.01010'; -requires 'OrePAN2'; +requires 'Net::Fastly', '1.12'; +requires 'Net::Twitter', '4.01043'; +requires 'OrePAN2', '0.48'; requires 'Parse::CPAN::Packages::Fast', '0.09'; requires 'Parse::CSV', '2.04'; requires 'Parse::PMFile', '0.41'; requires 'Path::Iterator::Rule', '>=1.011'; -requires 'PAUSE::Permissions'; +requires 'PAUSE::Permissions', '0.17'; requires 'PerlIO::gzip'; -requires 'Pithub', '0.01033'; -requires 'Plack', '1.0039'; +requires 'Pithub', '0.01036'; +requires 'Plack', '1.0048'; requires 'Plack::App::Directory'; requires 'Plack::Middleware::Header'; requires 'Plack::Middleware::ReverseProxy'; @@ -172,20 +172,20 @@ requires 'Try::Tiny', '0.24'; requires 'Type::Tiny', '1.002001'; requires 'Types::Path::Tiny'; requires 'Types::URI'; -requires 'URI', '1.71'; +requires 'URI', '5.09'; requires 'URI::Escape'; requires 'version', '0.9901'; requires 'XML::Simple'; -requires 'YAML::XS', '0.67'; # Mojolicious::Plugin::OpenAPI YAML loading +requires 'YAML::XS', '0.83'; # Mojolicious::Plugin::OpenAPI YAML loading # test requirements requires 'App::Prove'; -requires 'Code::TidyAll', '0.74'; +requires 'Code::TidyAll', '0.78'; requires 'Code::TidyAll::Plugin::UniqueLines'; requires 'CPAN::Faker', '0.010'; requires 'Devel::Confess'; requires 'File::Copy'; -requires 'HTTP::Cookies'; +requires 'HTTP::Cookies', '6.10'; requires 'LWP::ConsoleLogger::Easy'; requires 'MetaCPAN::Client', '2.017000'; requires 'Module::Faker', '0.015'; @@ -199,7 +199,7 @@ requires 'Test::Perl::Critic'; requires 'Test::RequiresInternet'; requires 'Test::Routine', '0.012'; requires 'Test::Routine::Util', '0'; -requires 'Test::Vars', '0.014'; +requires 'Test::Vars', '0.015'; # author requirements requires 'Plack::Middleware::Rewrite'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 128369efd..8843140cc 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -386,58 +386,6 @@ DISTRIBUTIONS Text::Template 0 strict 0 warnings 0 - CPAN-Meta-2.150010 - pathname: D/DA/DAGOLDEN/CPAN-Meta-2.150010.tar.gz - provides: - CPAN::Meta 2.150010 - CPAN::Meta::Converter 2.150010 - CPAN::Meta::Feature 2.150010 - CPAN::Meta::History 2.150010 - CPAN::Meta::Merge 2.150010 - CPAN::Meta::Prereqs 2.150010 - CPAN::Meta::Spec 2.150010 - CPAN::Meta::Validator 2.150010 - Parse::CPAN::Meta 2.150010 - requirements: - CPAN::Meta::Requirements 2.121 - CPAN::Meta::YAML 0.011 - Carp 0 - Encode 0 - Exporter 0 - ExtUtils::MakeMaker 6.17 - File::Spec 0.80 - JSON::PP 2.27300 - Scalar::Util 0 - perl 5.008001 - strict 0 - version 0.88 - warnings 0 - CPAN-Meta-Requirements-2.140 - pathname: D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz - provides: - CPAN::Meta::Requirements 2.140 - requirements: - B 0 - Carp 0 - ExtUtils::MakeMaker 6.17 - perl 5.006 - strict 0 - version 0.88 - warnings 0 - CPAN-Meta-YAML-0.018 - pathname: D/DA/DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz - provides: - CPAN::Meta::YAML 0.018 - requirements: - B 0 - Carp 0 - Exporter 0 - ExtUtils::MakeMaker 6.17 - Fcntl 0 - Scalar::Util 0 - perl 5.008001 - strict 0 - warnings 0 CPAN-Repository-0.010 pathname: O/OA/OALDERS/CPAN-Repository-0.010.tar.gz provides: @@ -457,35 +405,6 @@ DISTRIBUTIONS IO::File 1.14 IO::Zlib 1.10 Moo 0.009013 - Cache-Cache-1.08 - pathname: R/RJ/RJBS/Cache-Cache-1.08.tar.gz - provides: - Cache::BaseCache undef - Cache::BaseCacheTester undef - Cache::Cache 1.08 - Cache::CacheMetaData undef - Cache::CacheSizer undef - Cache::CacheTester undef - Cache::CacheUtils undef - Cache::FileBackend undef - Cache::FileCache undef - Cache::MemoryBackend undef - Cache::MemoryCache undef - Cache::NullCache undef - Cache::Object undef - Cache::SharedMemoryBackend undef - Cache::SharedMemoryCache undef - Cache::SizeAwareCache undef - Cache::SizeAwareCacheTester undef - Cache::SizeAwareFileCache undef - Cache::SizeAwareMemoryCache undef - Cache::SizeAwareSharedMemoryCache undef - requirements: - Digest::SHA1 2.02 - Error 0.15 - ExtUtils::MakeMaker 0 - File::Spec 0.82 - Storable 1.014 Cache-LRU-0.04 pathname: K/KA/KAZUHO/Cache-LRU-0.04.tar.gz provides: @@ -701,10 +620,10 @@ DISTRIBUTIONS MooseX::Types 0 Test::More 0 namespace::autoclean 0 - Catalyst-Runtime-5.90115 - pathname: J/JJ/JJNAPIORK/Catalyst-Runtime-5.90115.tar.gz + Catalyst-Runtime-5.90128 + pathname: H/HA/HAARG/Catalyst-Runtime-5.90128.tar.gz provides: - Catalyst 5.90115 + Catalyst 5.90128 Catalyst::Action undef Catalyst::ActionChain undef Catalyst::ActionContainer undef @@ -735,13 +654,13 @@ DISTRIBUTIONS Catalyst::Log undef Catalyst::Middleware::Stash undef Catalyst::Model undef - Catalyst::Plugin::Unicode::Encoding 99.0 + Catalyst::Plugin::Unicode::Encoding 5.90128 Catalyst::Request undef Catalyst::Request::PartData undef Catalyst::Request::Upload undef Catalyst::Response undef Catalyst::Response::Writer undef - Catalyst::Runtime 5.90115 + Catalyst::Runtime 5.90128 Catalyst::Script::CGI undef Catalyst::Script::Create undef Catalyst::Script::FastCGI undef @@ -758,34 +677,30 @@ DISTRIBUTIONS CGI::Struct 0 Carp 1.25 Class::C3::Adopt::NEXT 0.07 - Class::Data::Inheritable 0 Class::Load 0.12 Data::Dump 0 Data::OptList 0 Devel::InnerPackage 0 Encode 2.49 - ExtUtils::MakeMaker 6.59 + ExtUtils::MakeMaker 0 HTML::Entities 0 HTML::HeadParser 0 HTTP::Body 1.22 HTTP::Headers 1.64 HTTP::Request 5.814 - HTTP::Request::AsCGI 1.0 - HTTP::Request::Common 0 HTTP::Response 5.813 - HTTP::Status 0 Hash::MultiValue 0 - IO::Scalar 0 JSON::MaybeXS 1.000000 LWP 5.837 - List::MoreUtils 0 + List::Util 1.45 MRO::Compat 0 Module::Pluggable 4.7 - Moose 1.03 + Moose 2.1400 MooseX::Emulate::Class::Accessor::Fast 0.00903 MooseX::Getopt 0.48 MooseX::MethodAttributes::Role::AttrContainer::Inheritable 0.24 Path::Class 0.09 + PerlIO::utf8_strict 0 Plack 0.9991 Plack::Middleware::Conditional 0 Plack::Middleware::ContentLength 0 @@ -802,21 +717,19 @@ DISTRIBUTIONS Plack::Test::ExternalServer 0 Safe::Isa 0 Scalar::Util 0 + Socket 1.96 Stream::Buffered 0 String::RewritePrefix 0.004 Sub::Exporter 0 Task::Weaken 0 - Test::Fatal 0 - Test::More 0.88 Text::Balanced 0 Text::SimpleTable 0.03 Time::HiRes 0 Tree::Simple 1.15 - Tree::Simple::Visitor::FindByPath 0 + Tree::Simple::Visitor::FindByUID 0 Try::Tiny 0.17 URI 1.65 URI::ws 0.03 - namespace::autoclean 0.28 namespace::clean 0.23 perl 5.008003 Catalyst-View-JSON-0.36 @@ -1051,44 +964,44 @@ DISTRIBUTIONS strict 0 vars 0 warnings 0 - Code-TidyAll-0.74 - pathname: D/DR/DROLSKY/Code-TidyAll-0.74.tar.gz - provides: - Code::TidyAll 0.74 - Code::TidyAll::Cache 0.74 - Code::TidyAll::CacheModel 0.74 - Code::TidyAll::CacheModel::Shared 0.74 - Code::TidyAll::Config::INI::Reader 0.74 - Code::TidyAll::Git::Precommit 0.74 - Code::TidyAll::Git::Prereceive 0.74 - Code::TidyAll::Git::Util 0.74 - Code::TidyAll::Plugin 0.74 - Code::TidyAll::Plugin::CSSUnminifier 0.74 - Code::TidyAll::Plugin::GenericTransformer 0.74 - Code::TidyAll::Plugin::GenericValidator 0.74 - Code::TidyAll::Plugin::JSBeautify 0.74 - Code::TidyAll::Plugin::JSHint 0.74 - Code::TidyAll::Plugin::JSLint 0.74 - Code::TidyAll::Plugin::JSON 0.74 - Code::TidyAll::Plugin::MasonTidy 0.74 - Code::TidyAll::Plugin::PHPCodeSniffer 0.74 - Code::TidyAll::Plugin::PerlCritic 0.74 - Code::TidyAll::Plugin::PerlTidy 0.74 - Code::TidyAll::Plugin::PerlTidySweet 0.74 - Code::TidyAll::Plugin::PodChecker 0.74 - Code::TidyAll::Plugin::PodSpell 0.74 - Code::TidyAll::Plugin::PodTidy 0.74 - Code::TidyAll::Plugin::SortLines 0.74 - Code::TidyAll::Result 0.74 - Code::TidyAll::Role::GenericExecutable 0.74 - Code::TidyAll::Role::HasIgnore 0.74 - Code::TidyAll::Role::RunsCommand 0.74 - Code::TidyAll::Role::Tempdir 0.74 - Code::TidyAll::SVN::Precommit 0.74 - Code::TidyAll::SVN::Util 0.74 - Code::TidyAll::Util::Zglob 0.74 - Code::TidyAll::Zglob 0.74 - Test::Code::TidyAll 0.74 + Code-TidyAll-0.78 + pathname: D/DR/DROLSKY/Code-TidyAll-0.78.tar.gz + provides: + Code::TidyAll 0.78 + Code::TidyAll::Cache 0.78 + Code::TidyAll::CacheModel 0.78 + Code::TidyAll::CacheModel::Shared 0.78 + Code::TidyAll::Config::INI::Reader 0.78 + Code::TidyAll::Git::Precommit 0.78 + Code::TidyAll::Git::Prereceive 0.78 + Code::TidyAll::Git::Util 0.78 + Code::TidyAll::Plugin 0.78 + Code::TidyAll::Plugin::CSSUnminifier 0.78 + Code::TidyAll::Plugin::GenericTransformer 0.78 + Code::TidyAll::Plugin::GenericValidator 0.78 + Code::TidyAll::Plugin::JSBeautify 0.78 + Code::TidyAll::Plugin::JSHint 0.78 + Code::TidyAll::Plugin::JSLint 0.78 + Code::TidyAll::Plugin::JSON 0.78 + Code::TidyAll::Plugin::MasonTidy 0.78 + Code::TidyAll::Plugin::PHPCodeSniffer 0.78 + Code::TidyAll::Plugin::PerlCritic 0.78 + Code::TidyAll::Plugin::PerlTidy 0.78 + Code::TidyAll::Plugin::PerlTidySweet 0.78 + Code::TidyAll::Plugin::PodChecker 0.78 + Code::TidyAll::Plugin::PodSpell 0.78 + Code::TidyAll::Plugin::PodTidy 0.78 + Code::TidyAll::Plugin::SortLines 0.78 + Code::TidyAll::Result 0.78 + Code::TidyAll::Role::GenericExecutable 0.78 + Code::TidyAll::Role::HasIgnore 0.78 + Code::TidyAll::Role::RunsCommand 0.78 + Code::TidyAll::Role::Tempdir 0.78 + Code::TidyAll::SVN::Precommit 0.78 + Code::TidyAll::SVN::Util 0.78 + Code::TidyAll::Util::Zglob 0.78 + Code::TidyAll::Zglob 0.78 + Test::Code::TidyAll 0.78 requirements: Capture::Tiny 0 Config::INI::Reader 0 @@ -1170,6 +1083,7 @@ DISTRIBUTIONS Config::Any::XML undef Config::Any::YAML undef requirements: + Config::General 2.47 Module::Pluggable::Object 3.6 Config-General-2.63 pathname: T/TL/TLINDEN/Config-General-2.63.tar.gz @@ -1262,20 +1176,6 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Pod::Text 2.08 - Crypt-DH-GMP-0.00012 - pathname: D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz - provides: - Crypt::DH::GMP 0.00012 - Crypt::DH::GMP::Compat undef - requirements: - Devel::CheckLib 0.4 - Devel::PPPort 3.19 - ExtUtils::MakeMaker 6.59 - ExtUtils::ParseXS 3.18 - Test::More 0 - Test::Requires 0 - XSLoader 0.02 - perl 5.0080001 DBD-Pg-3.7.0 pathname: T/TU/TURNSTEP/DBD-Pg-3.7.0.tar.gz provides: @@ -1287,13 +1187,14 @@ DISTRIBUTIONS Test::More 0.88 Time::HiRes 0 version 0 - DBD-SQLite-1.54 - pathname: I/IS/ISHIGAKI/DBD-SQLite-1.54.tar.gz + DBD-SQLite-1.66 + pathname: I/IS/ISHIGAKI/DBD-SQLite-1.66.tar.gz provides: - DBD::SQLite 1.54 + DBD::SQLite 1.66 DBD::SQLite::Constants undef - DBD::SQLite::VirtualTable 1.54 - DBD::SQLite::VirtualTable::Cursor 1.54 + DBD::SQLite::GetInfo undef + DBD::SQLite::VirtualTable 1.66 + DBD::SQLite::VirtualTable::Cursor 1.66 DBD::SQLite::VirtualTable::FileContent undef DBD::SQLite::VirtualTable::FileContent::Cursor undef DBD::SQLite::VirtualTable::PerlData undef @@ -1302,12 +1203,11 @@ DISTRIBUTIONS DBI 1.57 ExtUtils::MakeMaker 0 File::Spec 0.82 - Test::Builder 0.86 - Test::More 0.47 + Test::More 0.88 Tie::Hash 0 perl 5.006 - DBI-1.637 - pathname: T/TI/TIMB/DBI-1.637.tar.gz + DBI-1.643 + pathname: T/TI/TIMB/DBI-1.643.tar.gz provides: Bundle::DBI 12.008696 DBD::DBM 0.08 @@ -1342,6 +1242,13 @@ DISTRIBUTIONS DBD::Gofer::db 0.015327 DBD::Gofer::dr 0.015327 DBD::Gofer::st 0.015327 + DBD::Mem 0.001 + DBD::Mem::DataSource 0.001 + DBD::Mem::Statement 0.001 + DBD::Mem::Table 0.001 + DBD::Mem::db 0.001 + DBD::Mem::dr 0.001 + DBD::Mem::st 0.001 DBD::NullP 12.014715 DBD::NullP::db 12.014715 DBD::NullP::dr 12.014715 @@ -1356,7 +1263,7 @@ DISTRIBUTIONS DBD::Sponge::dr 12.010003 DBD::Sponge::st 12.010003 DBDI 12.015129 - DBI 1.637 + DBI 1.643 DBI::Const::GetInfo::ANSI 2.008697 DBI::Const::GetInfo::ODBC 2.011374 DBI::Const::GetInfoReturn 2.008697 @@ -1396,11 +1303,11 @@ DISTRIBUTIONS DBI::SQL::Nano::Table_ 1.015544 DBI::Util::CacheMemory 0.010315 DBI::Util::_accessor 0.009479 - DBI::common 1.637 + DBI::common 1.643 requirements: ExtUtils::MakeMaker 6.48 Test::Simple 0.90 - perl 5.008 + perl 5.008001 DBIx-Class-0.082840 pathname: R/RI/RIBASUSHI/DBIx-Class-0.082840.tar.gz provides: @@ -1604,28 +1511,45 @@ DISTRIBUTIONS Class::Accessor::Chained::Fast 0 Test::Exception 0 Test::More 0 - Data-Printer-0.40 - pathname: G/GA/GARU/Data-Printer-0.40.tar.gz + Data-Printer-1.000004 + pathname: G/GA/GARU/Data-Printer-1.000004.tar.gz provides: DDP undef - Data::Printer 0.40 + Data::Printer 1.000004 + Data::Printer::Common undef + Data::Printer::Config undef Data::Printer::Filter undef + Data::Printer::Filter::ARRAY undef + Data::Printer::Filter::CODE undef + Data::Printer::Filter::ContentType undef Data::Printer::Filter::DB undef Data::Printer::Filter::DateTime undef Data::Printer::Filter::Digest undef + Data::Printer::Filter::FORMAT undef + Data::Printer::Filter::GLOB undef + Data::Printer::Filter::GenericClass undef + Data::Printer::Filter::HASH undef + Data::Printer::Filter::REF undef + Data::Printer::Filter::Regexp undef + Data::Printer::Filter::SCALAR undef + Data::Printer::Filter::VSTRING undef + Data::Printer::Filter::Web undef + Data::Printer::Object undef + Data::Printer::Profile undef + Data::Printer::Profile::Dumper undef + Data::Printer::Profile::JSON undef + Data::Printer::Theme undef + Data::Printer::Theme::Classic undef + Data::Printer::Theme::Material undef + Data::Printer::Theme::Monokai undef + Data::Printer::Theme::Solarized undef requirements: - Carp 0 - Clone::PP 0 ExtUtils::MakeMaker 0 Fcntl 0 - File::HomeDir 0.91 File::Spec 0 File::Temp 0 - Package::Stash 0.3 Scalar::Util 0 - Sort::Naturally 0 - Term::ANSIColor 3 - Test::More 0.88 + Test::More 0 version 0.77 Data-Section-0.200007 pathname: R/RJ/RJBS/Data-Section-0.200007.tar.gz @@ -1657,27 +1581,27 @@ DISTRIBUTIONS Task::Weaken 0 Tie::ToObject 0.01 namespace::clean 0.19 - DateTime-1.44 - pathname: D/DR/DROLSKY/DateTime-1.44.tar.gz - provides: - DateTime 1.44 - DateTime::Duration 1.44 - DateTime::Helpers 1.44 - DateTime::Infinite 1.44 - DateTime::Infinite::Future 1.44 - DateTime::Infinite::Past 1.44 - DateTime::LeapSecond 1.44 - DateTime::PP 1.44 - DateTime::PPExtra 1.44 - DateTime::Types 1.44 + DateTime-1.54 + pathname: D/DR/DROLSKY/DateTime-1.54.tar.gz + provides: + DateTime 1.54 + DateTime::Duration 1.54 + DateTime::Helpers 1.54 + DateTime::Infinite 1.54 + DateTime::Infinite::Future 1.54 + DateTime::Infinite::Past 1.54 + DateTime::LeapSecond 1.54 + DateTime::PP 1.54 + DateTime::PPExtra 1.54 + DateTime::Types 1.54 requirements: Carp 0 DateTime::Locale 1.06 - DateTime::TimeZone 2.02 + DateTime::TimeZone 2.44 Dist::CheckConflicts 0.02 ExtUtils::MakeMaker 0 POSIX 0 - Params::ValidationCompiler 0.13 + Params::ValidationCompiler 0.26 Scalar::Util 0 Specio 0.18 Specio::Declare 0 @@ -1810,380 +1734,381 @@ DISTRIBUTIONS perl 5.008004 strict 0 warnings 0 - DateTime-TimeZone-2.15 - pathname: D/DR/DROLSKY/DateTime-TimeZone-2.15.tar.gz - provides: - DateTime::TimeZone 2.15 - DateTime::TimeZone::Africa::Abidjan 2.15 - DateTime::TimeZone::Africa::Accra 2.15 - DateTime::TimeZone::Africa::Algiers 2.15 - DateTime::TimeZone::Africa::Bissau 2.15 - DateTime::TimeZone::Africa::Cairo 2.15 - DateTime::TimeZone::Africa::Casablanca 2.15 - DateTime::TimeZone::Africa::Ceuta 2.15 - DateTime::TimeZone::Africa::El_Aaiun 2.15 - DateTime::TimeZone::Africa::Johannesburg 2.15 - DateTime::TimeZone::Africa::Juba 2.15 - DateTime::TimeZone::Africa::Khartoum 2.15 - DateTime::TimeZone::Africa::Lagos 2.15 - DateTime::TimeZone::Africa::Maputo 2.15 - DateTime::TimeZone::Africa::Monrovia 2.15 - DateTime::TimeZone::Africa::Nairobi 2.15 - DateTime::TimeZone::Africa::Ndjamena 2.15 - DateTime::TimeZone::Africa::Tripoli 2.15 - DateTime::TimeZone::Africa::Tunis 2.15 - DateTime::TimeZone::Africa::Windhoek 2.15 - DateTime::TimeZone::America::Adak 2.15 - DateTime::TimeZone::America::Anchorage 2.15 - DateTime::TimeZone::America::Araguaina 2.15 - DateTime::TimeZone::America::Argentina::Buenos_Aires 2.15 - DateTime::TimeZone::America::Argentina::Catamarca 2.15 - DateTime::TimeZone::America::Argentina::Cordoba 2.15 - DateTime::TimeZone::America::Argentina::Jujuy 2.15 - DateTime::TimeZone::America::Argentina::La_Rioja 2.15 - DateTime::TimeZone::America::Argentina::Mendoza 2.15 - DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.15 - DateTime::TimeZone::America::Argentina::Salta 2.15 - DateTime::TimeZone::America::Argentina::San_Juan 2.15 - DateTime::TimeZone::America::Argentina::San_Luis 2.15 - DateTime::TimeZone::America::Argentina::Tucuman 2.15 - DateTime::TimeZone::America::Argentina::Ushuaia 2.15 - DateTime::TimeZone::America::Asuncion 2.15 - DateTime::TimeZone::America::Atikokan 2.15 - DateTime::TimeZone::America::Bahia 2.15 - DateTime::TimeZone::America::Bahia_Banderas 2.15 - DateTime::TimeZone::America::Barbados 2.15 - DateTime::TimeZone::America::Belem 2.15 - DateTime::TimeZone::America::Belize 2.15 - DateTime::TimeZone::America::Blanc_Sablon 2.15 - DateTime::TimeZone::America::Boa_Vista 2.15 - DateTime::TimeZone::America::Bogota 2.15 - DateTime::TimeZone::America::Boise 2.15 - DateTime::TimeZone::America::Cambridge_Bay 2.15 - DateTime::TimeZone::America::Campo_Grande 2.15 - DateTime::TimeZone::America::Cancun 2.15 - DateTime::TimeZone::America::Caracas 2.15 - DateTime::TimeZone::America::Cayenne 2.15 - DateTime::TimeZone::America::Chicago 2.15 - DateTime::TimeZone::America::Chihuahua 2.15 - DateTime::TimeZone::America::Costa_Rica 2.15 - DateTime::TimeZone::America::Creston 2.15 - DateTime::TimeZone::America::Cuiaba 2.15 - DateTime::TimeZone::America::Curacao 2.15 - DateTime::TimeZone::America::Danmarkshavn 2.15 - DateTime::TimeZone::America::Dawson 2.15 - DateTime::TimeZone::America::Dawson_Creek 2.15 - DateTime::TimeZone::America::Denver 2.15 - DateTime::TimeZone::America::Detroit 2.15 - DateTime::TimeZone::America::Edmonton 2.15 - DateTime::TimeZone::America::Eirunepe 2.15 - DateTime::TimeZone::America::El_Salvador 2.15 - DateTime::TimeZone::America::Fort_Nelson 2.15 - DateTime::TimeZone::America::Fortaleza 2.15 - DateTime::TimeZone::America::Glace_Bay 2.15 - DateTime::TimeZone::America::Godthab 2.15 - DateTime::TimeZone::America::Goose_Bay 2.15 - DateTime::TimeZone::America::Grand_Turk 2.15 - DateTime::TimeZone::America::Guatemala 2.15 - DateTime::TimeZone::America::Guayaquil 2.15 - DateTime::TimeZone::America::Guyana 2.15 - DateTime::TimeZone::America::Halifax 2.15 - DateTime::TimeZone::America::Havana 2.15 - DateTime::TimeZone::America::Hermosillo 2.15 - DateTime::TimeZone::America::Indiana::Indianapolis 2.15 - DateTime::TimeZone::America::Indiana::Knox 2.15 - DateTime::TimeZone::America::Indiana::Marengo 2.15 - DateTime::TimeZone::America::Indiana::Petersburg 2.15 - DateTime::TimeZone::America::Indiana::Tell_City 2.15 - DateTime::TimeZone::America::Indiana::Vevay 2.15 - DateTime::TimeZone::America::Indiana::Vincennes 2.15 - DateTime::TimeZone::America::Indiana::Winamac 2.15 - DateTime::TimeZone::America::Inuvik 2.15 - DateTime::TimeZone::America::Iqaluit 2.15 - DateTime::TimeZone::America::Jamaica 2.15 - DateTime::TimeZone::America::Juneau 2.15 - DateTime::TimeZone::America::Kentucky::Louisville 2.15 - DateTime::TimeZone::America::Kentucky::Monticello 2.15 - DateTime::TimeZone::America::La_Paz 2.15 - DateTime::TimeZone::America::Lima 2.15 - DateTime::TimeZone::America::Los_Angeles 2.15 - DateTime::TimeZone::America::Maceio 2.15 - DateTime::TimeZone::America::Managua 2.15 - DateTime::TimeZone::America::Manaus 2.15 - DateTime::TimeZone::America::Martinique 2.15 - DateTime::TimeZone::America::Matamoros 2.15 - DateTime::TimeZone::America::Mazatlan 2.15 - DateTime::TimeZone::America::Menominee 2.15 - DateTime::TimeZone::America::Merida 2.15 - DateTime::TimeZone::America::Metlakatla 2.15 - DateTime::TimeZone::America::Mexico_City 2.15 - DateTime::TimeZone::America::Miquelon 2.15 - DateTime::TimeZone::America::Moncton 2.15 - DateTime::TimeZone::America::Monterrey 2.15 - DateTime::TimeZone::America::Montevideo 2.15 - DateTime::TimeZone::America::Nassau 2.15 - DateTime::TimeZone::America::New_York 2.15 - DateTime::TimeZone::America::Nipigon 2.15 - DateTime::TimeZone::America::Nome 2.15 - DateTime::TimeZone::America::Noronha 2.15 - DateTime::TimeZone::America::North_Dakota::Beulah 2.15 - DateTime::TimeZone::America::North_Dakota::Center 2.15 - DateTime::TimeZone::America::North_Dakota::New_Salem 2.15 - DateTime::TimeZone::America::Ojinaga 2.15 - DateTime::TimeZone::America::Panama 2.15 - DateTime::TimeZone::America::Pangnirtung 2.15 - DateTime::TimeZone::America::Paramaribo 2.15 - DateTime::TimeZone::America::Phoenix 2.15 - DateTime::TimeZone::America::Port_au_Prince 2.15 - DateTime::TimeZone::America::Port_of_Spain 2.15 - DateTime::TimeZone::America::Porto_Velho 2.15 - DateTime::TimeZone::America::Puerto_Rico 2.15 - DateTime::TimeZone::America::Punta_Arenas 2.15 - DateTime::TimeZone::America::Rainy_River 2.15 - DateTime::TimeZone::America::Rankin_Inlet 2.15 - DateTime::TimeZone::America::Recife 2.15 - DateTime::TimeZone::America::Regina 2.15 - DateTime::TimeZone::America::Resolute 2.15 - DateTime::TimeZone::America::Rio_Branco 2.15 - DateTime::TimeZone::America::Santarem 2.15 - DateTime::TimeZone::America::Santiago 2.15 - DateTime::TimeZone::America::Santo_Domingo 2.15 - DateTime::TimeZone::America::Sao_Paulo 2.15 - DateTime::TimeZone::America::Scoresbysund 2.15 - DateTime::TimeZone::America::Sitka 2.15 - DateTime::TimeZone::America::St_Johns 2.15 - DateTime::TimeZone::America::Swift_Current 2.15 - DateTime::TimeZone::America::Tegucigalpa 2.15 - DateTime::TimeZone::America::Thule 2.15 - DateTime::TimeZone::America::Thunder_Bay 2.15 - DateTime::TimeZone::America::Tijuana 2.15 - DateTime::TimeZone::America::Toronto 2.15 - DateTime::TimeZone::America::Vancouver 2.15 - DateTime::TimeZone::America::Whitehorse 2.15 - DateTime::TimeZone::America::Winnipeg 2.15 - DateTime::TimeZone::America::Yakutat 2.15 - DateTime::TimeZone::America::Yellowknife 2.15 - DateTime::TimeZone::Antarctica::Casey 2.15 - DateTime::TimeZone::Antarctica::Davis 2.15 - DateTime::TimeZone::Antarctica::DumontDUrville 2.15 - DateTime::TimeZone::Antarctica::Macquarie 2.15 - DateTime::TimeZone::Antarctica::Mawson 2.15 - DateTime::TimeZone::Antarctica::Palmer 2.15 - DateTime::TimeZone::Antarctica::Rothera 2.15 - DateTime::TimeZone::Antarctica::Syowa 2.15 - DateTime::TimeZone::Antarctica::Troll 2.15 - DateTime::TimeZone::Antarctica::Vostok 2.15 - DateTime::TimeZone::Asia::Almaty 2.15 - DateTime::TimeZone::Asia::Amman 2.15 - DateTime::TimeZone::Asia::Anadyr 2.15 - DateTime::TimeZone::Asia::Aqtau 2.15 - DateTime::TimeZone::Asia::Aqtobe 2.15 - DateTime::TimeZone::Asia::Ashgabat 2.15 - DateTime::TimeZone::Asia::Atyrau 2.15 - DateTime::TimeZone::Asia::Baghdad 2.15 - DateTime::TimeZone::Asia::Baku 2.15 - DateTime::TimeZone::Asia::Bangkok 2.15 - DateTime::TimeZone::Asia::Barnaul 2.15 - DateTime::TimeZone::Asia::Beirut 2.15 - DateTime::TimeZone::Asia::Bishkek 2.15 - DateTime::TimeZone::Asia::Brunei 2.15 - DateTime::TimeZone::Asia::Chita 2.15 - DateTime::TimeZone::Asia::Choibalsan 2.15 - DateTime::TimeZone::Asia::Colombo 2.15 - DateTime::TimeZone::Asia::Damascus 2.15 - DateTime::TimeZone::Asia::Dhaka 2.15 - DateTime::TimeZone::Asia::Dili 2.15 - DateTime::TimeZone::Asia::Dubai 2.15 - DateTime::TimeZone::Asia::Dushanbe 2.15 - DateTime::TimeZone::Asia::Famagusta 2.15 - DateTime::TimeZone::Asia::Gaza 2.15 - DateTime::TimeZone::Asia::Hebron 2.15 - DateTime::TimeZone::Asia::Ho_Chi_Minh 2.15 - DateTime::TimeZone::Asia::Hong_Kong 2.15 - DateTime::TimeZone::Asia::Hovd 2.15 - DateTime::TimeZone::Asia::Irkutsk 2.15 - DateTime::TimeZone::Asia::Jakarta 2.15 - DateTime::TimeZone::Asia::Jayapura 2.15 - DateTime::TimeZone::Asia::Jerusalem 2.15 - DateTime::TimeZone::Asia::Kabul 2.15 - DateTime::TimeZone::Asia::Kamchatka 2.15 - DateTime::TimeZone::Asia::Karachi 2.15 - DateTime::TimeZone::Asia::Kathmandu 2.15 - DateTime::TimeZone::Asia::Khandyga 2.15 - DateTime::TimeZone::Asia::Kolkata 2.15 - DateTime::TimeZone::Asia::Krasnoyarsk 2.15 - DateTime::TimeZone::Asia::Kuala_Lumpur 2.15 - DateTime::TimeZone::Asia::Kuching 2.15 - DateTime::TimeZone::Asia::Macau 2.15 - DateTime::TimeZone::Asia::Magadan 2.15 - DateTime::TimeZone::Asia::Makassar 2.15 - DateTime::TimeZone::Asia::Manila 2.15 - DateTime::TimeZone::Asia::Nicosia 2.15 - DateTime::TimeZone::Asia::Novokuznetsk 2.15 - DateTime::TimeZone::Asia::Novosibirsk 2.15 - DateTime::TimeZone::Asia::Omsk 2.15 - DateTime::TimeZone::Asia::Oral 2.15 - DateTime::TimeZone::Asia::Pontianak 2.15 - DateTime::TimeZone::Asia::Pyongyang 2.15 - DateTime::TimeZone::Asia::Qatar 2.15 - DateTime::TimeZone::Asia::Qyzylorda 2.15 - DateTime::TimeZone::Asia::Riyadh 2.15 - DateTime::TimeZone::Asia::Sakhalin 2.15 - DateTime::TimeZone::Asia::Samarkand 2.15 - DateTime::TimeZone::Asia::Seoul 2.15 - DateTime::TimeZone::Asia::Shanghai 2.15 - DateTime::TimeZone::Asia::Singapore 2.15 - DateTime::TimeZone::Asia::Srednekolymsk 2.15 - DateTime::TimeZone::Asia::Taipei 2.15 - DateTime::TimeZone::Asia::Tashkent 2.15 - DateTime::TimeZone::Asia::Tbilisi 2.15 - DateTime::TimeZone::Asia::Tehran 2.15 - DateTime::TimeZone::Asia::Thimphu 2.15 - DateTime::TimeZone::Asia::Tokyo 2.15 - DateTime::TimeZone::Asia::Tomsk 2.15 - DateTime::TimeZone::Asia::Ulaanbaatar 2.15 - DateTime::TimeZone::Asia::Urumqi 2.15 - DateTime::TimeZone::Asia::Ust_Nera 2.15 - DateTime::TimeZone::Asia::Vladivostok 2.15 - DateTime::TimeZone::Asia::Yakutsk 2.15 - DateTime::TimeZone::Asia::Yangon 2.15 - DateTime::TimeZone::Asia::Yekaterinburg 2.15 - DateTime::TimeZone::Asia::Yerevan 2.15 - DateTime::TimeZone::Atlantic::Azores 2.15 - DateTime::TimeZone::Atlantic::Bermuda 2.15 - DateTime::TimeZone::Atlantic::Canary 2.15 - DateTime::TimeZone::Atlantic::Cape_Verde 2.15 - DateTime::TimeZone::Atlantic::Faroe 2.15 - DateTime::TimeZone::Atlantic::Madeira 2.15 - DateTime::TimeZone::Atlantic::Reykjavik 2.15 - DateTime::TimeZone::Atlantic::South_Georgia 2.15 - DateTime::TimeZone::Atlantic::Stanley 2.15 - DateTime::TimeZone::Australia::Adelaide 2.15 - DateTime::TimeZone::Australia::Brisbane 2.15 - DateTime::TimeZone::Australia::Broken_Hill 2.15 - DateTime::TimeZone::Australia::Currie 2.15 - DateTime::TimeZone::Australia::Darwin 2.15 - DateTime::TimeZone::Australia::Eucla 2.15 - DateTime::TimeZone::Australia::Hobart 2.15 - DateTime::TimeZone::Australia::Lindeman 2.15 - DateTime::TimeZone::Australia::Lord_Howe 2.15 - DateTime::TimeZone::Australia::Melbourne 2.15 - DateTime::TimeZone::Australia::Perth 2.15 - DateTime::TimeZone::Australia::Sydney 2.15 - DateTime::TimeZone::CET 2.15 - DateTime::TimeZone::CST6CDT 2.15 - DateTime::TimeZone::Catalog 2.15 - DateTime::TimeZone::EET 2.15 - DateTime::TimeZone::EST 2.15 - DateTime::TimeZone::EST5EDT 2.15 - DateTime::TimeZone::Europe::Amsterdam 2.15 - DateTime::TimeZone::Europe::Andorra 2.15 - DateTime::TimeZone::Europe::Astrakhan 2.15 - DateTime::TimeZone::Europe::Athens 2.15 - DateTime::TimeZone::Europe::Belgrade 2.15 - DateTime::TimeZone::Europe::Berlin 2.15 - DateTime::TimeZone::Europe::Brussels 2.15 - DateTime::TimeZone::Europe::Bucharest 2.15 - DateTime::TimeZone::Europe::Budapest 2.15 - DateTime::TimeZone::Europe::Chisinau 2.15 - DateTime::TimeZone::Europe::Copenhagen 2.15 - DateTime::TimeZone::Europe::Dublin 2.15 - DateTime::TimeZone::Europe::Gibraltar 2.15 - DateTime::TimeZone::Europe::Helsinki 2.15 - DateTime::TimeZone::Europe::Istanbul 2.15 - DateTime::TimeZone::Europe::Kaliningrad 2.15 - DateTime::TimeZone::Europe::Kiev 2.15 - DateTime::TimeZone::Europe::Kirov 2.15 - DateTime::TimeZone::Europe::Lisbon 2.15 - DateTime::TimeZone::Europe::London 2.15 - DateTime::TimeZone::Europe::Luxembourg 2.15 - DateTime::TimeZone::Europe::Madrid 2.15 - DateTime::TimeZone::Europe::Malta 2.15 - DateTime::TimeZone::Europe::Minsk 2.15 - DateTime::TimeZone::Europe::Monaco 2.15 - DateTime::TimeZone::Europe::Moscow 2.15 - DateTime::TimeZone::Europe::Oslo 2.15 - DateTime::TimeZone::Europe::Paris 2.15 - DateTime::TimeZone::Europe::Prague 2.15 - DateTime::TimeZone::Europe::Riga 2.15 - DateTime::TimeZone::Europe::Rome 2.15 - DateTime::TimeZone::Europe::Samara 2.15 - DateTime::TimeZone::Europe::Saratov 2.15 - DateTime::TimeZone::Europe::Simferopol 2.15 - DateTime::TimeZone::Europe::Sofia 2.15 - DateTime::TimeZone::Europe::Stockholm 2.15 - DateTime::TimeZone::Europe::Tallinn 2.15 - DateTime::TimeZone::Europe::Tirane 2.15 - DateTime::TimeZone::Europe::Ulyanovsk 2.15 - DateTime::TimeZone::Europe::Uzhgorod 2.15 - DateTime::TimeZone::Europe::Vienna 2.15 - DateTime::TimeZone::Europe::Vilnius 2.15 - DateTime::TimeZone::Europe::Volgograd 2.15 - DateTime::TimeZone::Europe::Warsaw 2.15 - DateTime::TimeZone::Europe::Zaporozhye 2.15 - DateTime::TimeZone::Europe::Zurich 2.15 - DateTime::TimeZone::Floating 2.15 - DateTime::TimeZone::HST 2.15 - DateTime::TimeZone::Indian::Chagos 2.15 - DateTime::TimeZone::Indian::Christmas 2.15 - DateTime::TimeZone::Indian::Cocos 2.15 - DateTime::TimeZone::Indian::Kerguelen 2.15 - DateTime::TimeZone::Indian::Mahe 2.15 - DateTime::TimeZone::Indian::Maldives 2.15 - DateTime::TimeZone::Indian::Mauritius 2.15 - DateTime::TimeZone::Indian::Reunion 2.15 - DateTime::TimeZone::Local 2.15 - DateTime::TimeZone::Local::Android 2.15 - DateTime::TimeZone::Local::Unix 2.15 - DateTime::TimeZone::Local::VMS 2.15 - DateTime::TimeZone::MET 2.15 - DateTime::TimeZone::MST 2.15 - DateTime::TimeZone::MST7MDT 2.15 - DateTime::TimeZone::OffsetOnly 2.15 - DateTime::TimeZone::OlsonDB 2.15 - DateTime::TimeZone::OlsonDB::Change 2.15 - DateTime::TimeZone::OlsonDB::Observance 2.15 - DateTime::TimeZone::OlsonDB::Rule 2.15 - DateTime::TimeZone::OlsonDB::Zone 2.15 - DateTime::TimeZone::PST8PDT 2.15 - DateTime::TimeZone::Pacific::Apia 2.15 - DateTime::TimeZone::Pacific::Auckland 2.15 - DateTime::TimeZone::Pacific::Bougainville 2.15 - DateTime::TimeZone::Pacific::Chatham 2.15 - DateTime::TimeZone::Pacific::Chuuk 2.15 - DateTime::TimeZone::Pacific::Easter 2.15 - DateTime::TimeZone::Pacific::Efate 2.15 - DateTime::TimeZone::Pacific::Enderbury 2.15 - DateTime::TimeZone::Pacific::Fakaofo 2.15 - DateTime::TimeZone::Pacific::Fiji 2.15 - DateTime::TimeZone::Pacific::Funafuti 2.15 - DateTime::TimeZone::Pacific::Galapagos 2.15 - DateTime::TimeZone::Pacific::Gambier 2.15 - DateTime::TimeZone::Pacific::Guadalcanal 2.15 - DateTime::TimeZone::Pacific::Guam 2.15 - DateTime::TimeZone::Pacific::Honolulu 2.15 - DateTime::TimeZone::Pacific::Kiritimati 2.15 - DateTime::TimeZone::Pacific::Kosrae 2.15 - DateTime::TimeZone::Pacific::Kwajalein 2.15 - DateTime::TimeZone::Pacific::Majuro 2.15 - DateTime::TimeZone::Pacific::Marquesas 2.15 - DateTime::TimeZone::Pacific::Nauru 2.15 - DateTime::TimeZone::Pacific::Niue 2.15 - DateTime::TimeZone::Pacific::Norfolk 2.15 - DateTime::TimeZone::Pacific::Noumea 2.15 - DateTime::TimeZone::Pacific::Pago_Pago 2.15 - DateTime::TimeZone::Pacific::Palau 2.15 - DateTime::TimeZone::Pacific::Pitcairn 2.15 - DateTime::TimeZone::Pacific::Pohnpei 2.15 - DateTime::TimeZone::Pacific::Port_Moresby 2.15 - DateTime::TimeZone::Pacific::Rarotonga 2.15 - DateTime::TimeZone::Pacific::Tahiti 2.15 - DateTime::TimeZone::Pacific::Tarawa 2.15 - DateTime::TimeZone::Pacific::Tongatapu 2.15 - DateTime::TimeZone::Pacific::Wake 2.15 - DateTime::TimeZone::Pacific::Wallis 2.15 - DateTime::TimeZone::UTC 2.15 - DateTime::TimeZone::WET 2.15 + DateTime-TimeZone-2.47 + pathname: D/DR/DROLSKY/DateTime-TimeZone-2.47.tar.gz + provides: + DateTime::TimeZone 2.47 + DateTime::TimeZone::Africa::Abidjan 2.47 + DateTime::TimeZone::Africa::Accra 2.47 + DateTime::TimeZone::Africa::Algiers 2.47 + DateTime::TimeZone::Africa::Bissau 2.47 + DateTime::TimeZone::Africa::Cairo 2.47 + DateTime::TimeZone::Africa::Casablanca 2.47 + DateTime::TimeZone::Africa::Ceuta 2.47 + DateTime::TimeZone::Africa::El_Aaiun 2.47 + DateTime::TimeZone::Africa::Johannesburg 2.47 + DateTime::TimeZone::Africa::Juba 2.47 + DateTime::TimeZone::Africa::Khartoum 2.47 + DateTime::TimeZone::Africa::Lagos 2.47 + DateTime::TimeZone::Africa::Maputo 2.47 + DateTime::TimeZone::Africa::Monrovia 2.47 + DateTime::TimeZone::Africa::Nairobi 2.47 + DateTime::TimeZone::Africa::Ndjamena 2.47 + DateTime::TimeZone::Africa::Sao_Tome 2.47 + DateTime::TimeZone::Africa::Tripoli 2.47 + DateTime::TimeZone::Africa::Tunis 2.47 + DateTime::TimeZone::Africa::Windhoek 2.47 + DateTime::TimeZone::America::Adak 2.47 + DateTime::TimeZone::America::Anchorage 2.47 + DateTime::TimeZone::America::Araguaina 2.47 + DateTime::TimeZone::America::Argentina::Buenos_Aires 2.47 + DateTime::TimeZone::America::Argentina::Catamarca 2.47 + DateTime::TimeZone::America::Argentina::Cordoba 2.47 + DateTime::TimeZone::America::Argentina::Jujuy 2.47 + DateTime::TimeZone::America::Argentina::La_Rioja 2.47 + DateTime::TimeZone::America::Argentina::Mendoza 2.47 + DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.47 + DateTime::TimeZone::America::Argentina::Salta 2.47 + DateTime::TimeZone::America::Argentina::San_Juan 2.47 + DateTime::TimeZone::America::Argentina::San_Luis 2.47 + DateTime::TimeZone::America::Argentina::Tucuman 2.47 + DateTime::TimeZone::America::Argentina::Ushuaia 2.47 + DateTime::TimeZone::America::Asuncion 2.47 + DateTime::TimeZone::America::Atikokan 2.47 + DateTime::TimeZone::America::Bahia 2.47 + DateTime::TimeZone::America::Bahia_Banderas 2.47 + DateTime::TimeZone::America::Barbados 2.47 + DateTime::TimeZone::America::Belem 2.47 + DateTime::TimeZone::America::Belize 2.47 + DateTime::TimeZone::America::Blanc_Sablon 2.47 + DateTime::TimeZone::America::Boa_Vista 2.47 + DateTime::TimeZone::America::Bogota 2.47 + DateTime::TimeZone::America::Boise 2.47 + DateTime::TimeZone::America::Cambridge_Bay 2.47 + DateTime::TimeZone::America::Campo_Grande 2.47 + DateTime::TimeZone::America::Cancun 2.47 + DateTime::TimeZone::America::Caracas 2.47 + DateTime::TimeZone::America::Cayenne 2.47 + DateTime::TimeZone::America::Chicago 2.47 + DateTime::TimeZone::America::Chihuahua 2.47 + DateTime::TimeZone::America::Costa_Rica 2.47 + DateTime::TimeZone::America::Creston 2.47 + DateTime::TimeZone::America::Cuiaba 2.47 + DateTime::TimeZone::America::Curacao 2.47 + DateTime::TimeZone::America::Danmarkshavn 2.47 + DateTime::TimeZone::America::Dawson 2.47 + DateTime::TimeZone::America::Dawson_Creek 2.47 + DateTime::TimeZone::America::Denver 2.47 + DateTime::TimeZone::America::Detroit 2.47 + DateTime::TimeZone::America::Edmonton 2.47 + DateTime::TimeZone::America::Eirunepe 2.47 + DateTime::TimeZone::America::El_Salvador 2.47 + DateTime::TimeZone::America::Fort_Nelson 2.47 + DateTime::TimeZone::America::Fortaleza 2.47 + DateTime::TimeZone::America::Glace_Bay 2.47 + DateTime::TimeZone::America::Goose_Bay 2.47 + DateTime::TimeZone::America::Grand_Turk 2.47 + DateTime::TimeZone::America::Guatemala 2.47 + DateTime::TimeZone::America::Guayaquil 2.47 + DateTime::TimeZone::America::Guyana 2.47 + DateTime::TimeZone::America::Halifax 2.47 + DateTime::TimeZone::America::Havana 2.47 + DateTime::TimeZone::America::Hermosillo 2.47 + DateTime::TimeZone::America::Indiana::Indianapolis 2.47 + DateTime::TimeZone::America::Indiana::Knox 2.47 + DateTime::TimeZone::America::Indiana::Marengo 2.47 + DateTime::TimeZone::America::Indiana::Petersburg 2.47 + DateTime::TimeZone::America::Indiana::Tell_City 2.47 + DateTime::TimeZone::America::Indiana::Vevay 2.47 + DateTime::TimeZone::America::Indiana::Vincennes 2.47 + DateTime::TimeZone::America::Indiana::Winamac 2.47 + DateTime::TimeZone::America::Inuvik 2.47 + DateTime::TimeZone::America::Iqaluit 2.47 + DateTime::TimeZone::America::Jamaica 2.47 + DateTime::TimeZone::America::Juneau 2.47 + DateTime::TimeZone::America::Kentucky::Louisville 2.47 + DateTime::TimeZone::America::Kentucky::Monticello 2.47 + DateTime::TimeZone::America::La_Paz 2.47 + DateTime::TimeZone::America::Lima 2.47 + DateTime::TimeZone::America::Los_Angeles 2.47 + DateTime::TimeZone::America::Maceio 2.47 + DateTime::TimeZone::America::Managua 2.47 + DateTime::TimeZone::America::Manaus 2.47 + DateTime::TimeZone::America::Martinique 2.47 + DateTime::TimeZone::America::Matamoros 2.47 + DateTime::TimeZone::America::Mazatlan 2.47 + DateTime::TimeZone::America::Menominee 2.47 + DateTime::TimeZone::America::Merida 2.47 + DateTime::TimeZone::America::Metlakatla 2.47 + DateTime::TimeZone::America::Mexico_City 2.47 + DateTime::TimeZone::America::Miquelon 2.47 + DateTime::TimeZone::America::Moncton 2.47 + DateTime::TimeZone::America::Monterrey 2.47 + DateTime::TimeZone::America::Montevideo 2.47 + DateTime::TimeZone::America::Nassau 2.47 + DateTime::TimeZone::America::New_York 2.47 + DateTime::TimeZone::America::Nipigon 2.47 + DateTime::TimeZone::America::Nome 2.47 + DateTime::TimeZone::America::Noronha 2.47 + DateTime::TimeZone::America::North_Dakota::Beulah 2.47 + DateTime::TimeZone::America::North_Dakota::Center 2.47 + DateTime::TimeZone::America::North_Dakota::New_Salem 2.47 + DateTime::TimeZone::America::Nuuk 2.47 + DateTime::TimeZone::America::Ojinaga 2.47 + DateTime::TimeZone::America::Panama 2.47 + DateTime::TimeZone::America::Pangnirtung 2.47 + DateTime::TimeZone::America::Paramaribo 2.47 + DateTime::TimeZone::America::Phoenix 2.47 + DateTime::TimeZone::America::Port_au_Prince 2.47 + DateTime::TimeZone::America::Port_of_Spain 2.47 + DateTime::TimeZone::America::Porto_Velho 2.47 + DateTime::TimeZone::America::Puerto_Rico 2.47 + DateTime::TimeZone::America::Punta_Arenas 2.47 + DateTime::TimeZone::America::Rainy_River 2.47 + DateTime::TimeZone::America::Rankin_Inlet 2.47 + DateTime::TimeZone::America::Recife 2.47 + DateTime::TimeZone::America::Regina 2.47 + DateTime::TimeZone::America::Resolute 2.47 + DateTime::TimeZone::America::Rio_Branco 2.47 + DateTime::TimeZone::America::Santarem 2.47 + DateTime::TimeZone::America::Santiago 2.47 + DateTime::TimeZone::America::Santo_Domingo 2.47 + DateTime::TimeZone::America::Sao_Paulo 2.47 + DateTime::TimeZone::America::Scoresbysund 2.47 + DateTime::TimeZone::America::Sitka 2.47 + DateTime::TimeZone::America::St_Johns 2.47 + DateTime::TimeZone::America::Swift_Current 2.47 + DateTime::TimeZone::America::Tegucigalpa 2.47 + DateTime::TimeZone::America::Thule 2.47 + DateTime::TimeZone::America::Thunder_Bay 2.47 + DateTime::TimeZone::America::Tijuana 2.47 + DateTime::TimeZone::America::Toronto 2.47 + DateTime::TimeZone::America::Vancouver 2.47 + DateTime::TimeZone::America::Whitehorse 2.47 + DateTime::TimeZone::America::Winnipeg 2.47 + DateTime::TimeZone::America::Yakutat 2.47 + DateTime::TimeZone::America::Yellowknife 2.47 + DateTime::TimeZone::Antarctica::Casey 2.47 + DateTime::TimeZone::Antarctica::Davis 2.47 + DateTime::TimeZone::Antarctica::DumontDUrville 2.47 + DateTime::TimeZone::Antarctica::Macquarie 2.47 + DateTime::TimeZone::Antarctica::Mawson 2.47 + DateTime::TimeZone::Antarctica::Palmer 2.47 + DateTime::TimeZone::Antarctica::Rothera 2.47 + DateTime::TimeZone::Antarctica::Syowa 2.47 + DateTime::TimeZone::Antarctica::Troll 2.47 + DateTime::TimeZone::Antarctica::Vostok 2.47 + DateTime::TimeZone::Asia::Almaty 2.47 + DateTime::TimeZone::Asia::Amman 2.47 + DateTime::TimeZone::Asia::Anadyr 2.47 + DateTime::TimeZone::Asia::Aqtau 2.47 + DateTime::TimeZone::Asia::Aqtobe 2.47 + DateTime::TimeZone::Asia::Ashgabat 2.47 + DateTime::TimeZone::Asia::Atyrau 2.47 + DateTime::TimeZone::Asia::Baghdad 2.47 + DateTime::TimeZone::Asia::Baku 2.47 + DateTime::TimeZone::Asia::Bangkok 2.47 + DateTime::TimeZone::Asia::Barnaul 2.47 + DateTime::TimeZone::Asia::Beirut 2.47 + DateTime::TimeZone::Asia::Bishkek 2.47 + DateTime::TimeZone::Asia::Brunei 2.47 + DateTime::TimeZone::Asia::Chita 2.47 + DateTime::TimeZone::Asia::Choibalsan 2.47 + DateTime::TimeZone::Asia::Colombo 2.47 + DateTime::TimeZone::Asia::Damascus 2.47 + DateTime::TimeZone::Asia::Dhaka 2.47 + DateTime::TimeZone::Asia::Dili 2.47 + DateTime::TimeZone::Asia::Dubai 2.47 + DateTime::TimeZone::Asia::Dushanbe 2.47 + DateTime::TimeZone::Asia::Famagusta 2.47 + DateTime::TimeZone::Asia::Gaza 2.47 + DateTime::TimeZone::Asia::Hebron 2.47 + DateTime::TimeZone::Asia::Ho_Chi_Minh 2.47 + DateTime::TimeZone::Asia::Hong_Kong 2.47 + DateTime::TimeZone::Asia::Hovd 2.47 + DateTime::TimeZone::Asia::Irkutsk 2.47 + DateTime::TimeZone::Asia::Jakarta 2.47 + DateTime::TimeZone::Asia::Jayapura 2.47 + DateTime::TimeZone::Asia::Jerusalem 2.47 + DateTime::TimeZone::Asia::Kabul 2.47 + DateTime::TimeZone::Asia::Kamchatka 2.47 + DateTime::TimeZone::Asia::Karachi 2.47 + DateTime::TimeZone::Asia::Kathmandu 2.47 + DateTime::TimeZone::Asia::Khandyga 2.47 + DateTime::TimeZone::Asia::Kolkata 2.47 + DateTime::TimeZone::Asia::Krasnoyarsk 2.47 + DateTime::TimeZone::Asia::Kuala_Lumpur 2.47 + DateTime::TimeZone::Asia::Kuching 2.47 + DateTime::TimeZone::Asia::Macau 2.47 + DateTime::TimeZone::Asia::Magadan 2.47 + DateTime::TimeZone::Asia::Makassar 2.47 + DateTime::TimeZone::Asia::Manila 2.47 + DateTime::TimeZone::Asia::Nicosia 2.47 + DateTime::TimeZone::Asia::Novokuznetsk 2.47 + DateTime::TimeZone::Asia::Novosibirsk 2.47 + DateTime::TimeZone::Asia::Omsk 2.47 + DateTime::TimeZone::Asia::Oral 2.47 + DateTime::TimeZone::Asia::Pontianak 2.47 + DateTime::TimeZone::Asia::Pyongyang 2.47 + DateTime::TimeZone::Asia::Qatar 2.47 + DateTime::TimeZone::Asia::Qostanay 2.47 + DateTime::TimeZone::Asia::Qyzylorda 2.47 + DateTime::TimeZone::Asia::Riyadh 2.47 + DateTime::TimeZone::Asia::Sakhalin 2.47 + DateTime::TimeZone::Asia::Samarkand 2.47 + DateTime::TimeZone::Asia::Seoul 2.47 + DateTime::TimeZone::Asia::Shanghai 2.47 + DateTime::TimeZone::Asia::Singapore 2.47 + DateTime::TimeZone::Asia::Srednekolymsk 2.47 + DateTime::TimeZone::Asia::Taipei 2.47 + DateTime::TimeZone::Asia::Tashkent 2.47 + DateTime::TimeZone::Asia::Tbilisi 2.47 + DateTime::TimeZone::Asia::Tehran 2.47 + DateTime::TimeZone::Asia::Thimphu 2.47 + DateTime::TimeZone::Asia::Tokyo 2.47 + DateTime::TimeZone::Asia::Tomsk 2.47 + DateTime::TimeZone::Asia::Ulaanbaatar 2.47 + DateTime::TimeZone::Asia::Urumqi 2.47 + DateTime::TimeZone::Asia::Ust_Nera 2.47 + DateTime::TimeZone::Asia::Vladivostok 2.47 + DateTime::TimeZone::Asia::Yakutsk 2.47 + DateTime::TimeZone::Asia::Yangon 2.47 + DateTime::TimeZone::Asia::Yekaterinburg 2.47 + DateTime::TimeZone::Asia::Yerevan 2.47 + DateTime::TimeZone::Atlantic::Azores 2.47 + DateTime::TimeZone::Atlantic::Bermuda 2.47 + DateTime::TimeZone::Atlantic::Canary 2.47 + DateTime::TimeZone::Atlantic::Cape_Verde 2.47 + DateTime::TimeZone::Atlantic::Faroe 2.47 + DateTime::TimeZone::Atlantic::Madeira 2.47 + DateTime::TimeZone::Atlantic::Reykjavik 2.47 + DateTime::TimeZone::Atlantic::South_Georgia 2.47 + DateTime::TimeZone::Atlantic::Stanley 2.47 + DateTime::TimeZone::Australia::Adelaide 2.47 + DateTime::TimeZone::Australia::Brisbane 2.47 + DateTime::TimeZone::Australia::Broken_Hill 2.47 + DateTime::TimeZone::Australia::Darwin 2.47 + DateTime::TimeZone::Australia::Eucla 2.47 + DateTime::TimeZone::Australia::Hobart 2.47 + DateTime::TimeZone::Australia::Lindeman 2.47 + DateTime::TimeZone::Australia::Lord_Howe 2.47 + DateTime::TimeZone::Australia::Melbourne 2.47 + DateTime::TimeZone::Australia::Perth 2.47 + DateTime::TimeZone::Australia::Sydney 2.47 + DateTime::TimeZone::CET 2.47 + DateTime::TimeZone::CST6CDT 2.47 + DateTime::TimeZone::Catalog 2.47 + DateTime::TimeZone::EET 2.47 + DateTime::TimeZone::EST 2.47 + DateTime::TimeZone::EST5EDT 2.47 + DateTime::TimeZone::Europe::Amsterdam 2.47 + DateTime::TimeZone::Europe::Andorra 2.47 + DateTime::TimeZone::Europe::Astrakhan 2.47 + DateTime::TimeZone::Europe::Athens 2.47 + DateTime::TimeZone::Europe::Belgrade 2.47 + DateTime::TimeZone::Europe::Berlin 2.47 + DateTime::TimeZone::Europe::Brussels 2.47 + DateTime::TimeZone::Europe::Bucharest 2.47 + DateTime::TimeZone::Europe::Budapest 2.47 + DateTime::TimeZone::Europe::Chisinau 2.47 + DateTime::TimeZone::Europe::Copenhagen 2.47 + DateTime::TimeZone::Europe::Dublin 2.47 + DateTime::TimeZone::Europe::Gibraltar 2.47 + DateTime::TimeZone::Europe::Helsinki 2.47 + DateTime::TimeZone::Europe::Istanbul 2.47 + DateTime::TimeZone::Europe::Kaliningrad 2.47 + DateTime::TimeZone::Europe::Kiev 2.47 + DateTime::TimeZone::Europe::Kirov 2.47 + DateTime::TimeZone::Europe::Lisbon 2.47 + DateTime::TimeZone::Europe::London 2.47 + DateTime::TimeZone::Europe::Luxembourg 2.47 + DateTime::TimeZone::Europe::Madrid 2.47 + DateTime::TimeZone::Europe::Malta 2.47 + DateTime::TimeZone::Europe::Minsk 2.47 + DateTime::TimeZone::Europe::Monaco 2.47 + DateTime::TimeZone::Europe::Moscow 2.47 + DateTime::TimeZone::Europe::Oslo 2.47 + DateTime::TimeZone::Europe::Paris 2.47 + DateTime::TimeZone::Europe::Prague 2.47 + DateTime::TimeZone::Europe::Riga 2.47 + DateTime::TimeZone::Europe::Rome 2.47 + DateTime::TimeZone::Europe::Samara 2.47 + DateTime::TimeZone::Europe::Saratov 2.47 + DateTime::TimeZone::Europe::Simferopol 2.47 + DateTime::TimeZone::Europe::Sofia 2.47 + DateTime::TimeZone::Europe::Stockholm 2.47 + DateTime::TimeZone::Europe::Tallinn 2.47 + DateTime::TimeZone::Europe::Tirane 2.47 + DateTime::TimeZone::Europe::Ulyanovsk 2.47 + DateTime::TimeZone::Europe::Uzhgorod 2.47 + DateTime::TimeZone::Europe::Vienna 2.47 + DateTime::TimeZone::Europe::Vilnius 2.47 + DateTime::TimeZone::Europe::Volgograd 2.47 + DateTime::TimeZone::Europe::Warsaw 2.47 + DateTime::TimeZone::Europe::Zaporozhye 2.47 + DateTime::TimeZone::Europe::Zurich 2.47 + DateTime::TimeZone::Floating 2.47 + DateTime::TimeZone::HST 2.47 + DateTime::TimeZone::Indian::Chagos 2.47 + DateTime::TimeZone::Indian::Christmas 2.47 + DateTime::TimeZone::Indian::Cocos 2.47 + DateTime::TimeZone::Indian::Kerguelen 2.47 + DateTime::TimeZone::Indian::Mahe 2.47 + DateTime::TimeZone::Indian::Maldives 2.47 + DateTime::TimeZone::Indian::Mauritius 2.47 + DateTime::TimeZone::Indian::Reunion 2.47 + DateTime::TimeZone::Local 2.47 + DateTime::TimeZone::Local::Android 2.47 + DateTime::TimeZone::Local::Unix 2.47 + DateTime::TimeZone::Local::VMS 2.47 + DateTime::TimeZone::MET 2.47 + DateTime::TimeZone::MST 2.47 + DateTime::TimeZone::MST7MDT 2.47 + DateTime::TimeZone::OffsetOnly 2.47 + DateTime::TimeZone::OlsonDB 2.47 + DateTime::TimeZone::OlsonDB::Change 2.47 + DateTime::TimeZone::OlsonDB::Observance 2.47 + DateTime::TimeZone::OlsonDB::Rule 2.47 + DateTime::TimeZone::OlsonDB::Zone 2.47 + DateTime::TimeZone::PST8PDT 2.47 + DateTime::TimeZone::Pacific::Apia 2.47 + DateTime::TimeZone::Pacific::Auckland 2.47 + DateTime::TimeZone::Pacific::Bougainville 2.47 + DateTime::TimeZone::Pacific::Chatham 2.47 + DateTime::TimeZone::Pacific::Chuuk 2.47 + DateTime::TimeZone::Pacific::Easter 2.47 + DateTime::TimeZone::Pacific::Efate 2.47 + DateTime::TimeZone::Pacific::Enderbury 2.47 + DateTime::TimeZone::Pacific::Fakaofo 2.47 + DateTime::TimeZone::Pacific::Fiji 2.47 + DateTime::TimeZone::Pacific::Funafuti 2.47 + DateTime::TimeZone::Pacific::Galapagos 2.47 + DateTime::TimeZone::Pacific::Gambier 2.47 + DateTime::TimeZone::Pacific::Guadalcanal 2.47 + DateTime::TimeZone::Pacific::Guam 2.47 + DateTime::TimeZone::Pacific::Honolulu 2.47 + DateTime::TimeZone::Pacific::Kiritimati 2.47 + DateTime::TimeZone::Pacific::Kosrae 2.47 + DateTime::TimeZone::Pacific::Kwajalein 2.47 + DateTime::TimeZone::Pacific::Majuro 2.47 + DateTime::TimeZone::Pacific::Marquesas 2.47 + DateTime::TimeZone::Pacific::Nauru 2.47 + DateTime::TimeZone::Pacific::Niue 2.47 + DateTime::TimeZone::Pacific::Norfolk 2.47 + DateTime::TimeZone::Pacific::Noumea 2.47 + DateTime::TimeZone::Pacific::Pago_Pago 2.47 + DateTime::TimeZone::Pacific::Palau 2.47 + DateTime::TimeZone::Pacific::Pitcairn 2.47 + DateTime::TimeZone::Pacific::Pohnpei 2.47 + DateTime::TimeZone::Pacific::Port_Moresby 2.47 + DateTime::TimeZone::Pacific::Rarotonga 2.47 + DateTime::TimeZone::Pacific::Tahiti 2.47 + DateTime::TimeZone::Pacific::Tarawa 2.47 + DateTime::TimeZone::Pacific::Tongatapu 2.47 + DateTime::TimeZone::Pacific::Wake 2.47 + DateTime::TimeZone::Pacific::Wallis 2.47 + DateTime::TimeZone::UTC 2.47 + DateTime::TimeZone::WET 2.47 requirements: Class::Singleton 1.03 Cwd 3 @@ -2225,19 +2150,6 @@ DISTRIBUTIONS Test::More 0.98 parent 0 perl 5.008001 - Devel-CheckLib-1.11 - pathname: M/MA/MATTN/Devel-CheckLib-1.11.tar.gz - provides: - Devel::CheckLib 1.11 - requirements: - Exporter 0 - ExtUtils::MakeMaker 0 - File::Spec 0 - File::Temp 0.16 - IO::CaptureOutput 1.0801 - Mock::Config 0.02 - Test::More 0.62 - perl 5.00405 Devel-Confess-0.009004 pathname: H/HA/HAARG/Devel-Confess-0.009004.tar.gz provides: @@ -2265,17 +2177,19 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Test::More 0 - Devel-OverloadInfo-0.004 - pathname: I/IL/ILMARI/Devel-OverloadInfo-0.004.tar.gz + Devel-OverloadInfo-0.007 + pathname: I/IL/ILMARI/Devel-OverloadInfo-0.007.tar.gz provides: - Devel::OverloadInfo 0.004 + Devel::OverloadInfo 0.007 requirements: + B 0 Exporter 5.57 ExtUtils::MakeMaker 0 MRO::Compat 0 Package::Stash 0.14 Scalar::Util 0 - Sub::Identify 0 + Sub::Util 1.40 + Text::ParseWords 0 overload 0 perl 5.006 strict 0 @@ -2294,11 +2208,11 @@ DISTRIBUTIONS perl 5.006001 strict 0 warnings 0 - Devel-StackTrace-2.02 - pathname: D/DR/DROLSKY/Devel-StackTrace-2.02.tar.gz + Devel-StackTrace-2.04 + pathname: D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz provides: - Devel::StackTrace 2.02 - Devel::StackTrace::Frame 2.02 + Devel::StackTrace 2.04 + Devel::StackTrace::Frame 2.04 requirements: ExtUtils::MakeMaker 0 File::Spec 0 @@ -2595,6 +2509,7 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Mail::Address 0 + Net::DNS 0 Scalar::Util 0 Test::More 0 perl 5.006 @@ -2622,19 +2537,6 @@ DISTRIBUTIONS Encoding::FixLatin 1.03 ExtUtils::MakeMaker 6.30 Test::More 0.90 - Error-0.17025 - pathname: S/SH/SHLOMIF/Error-0.17025.tar.gz - provides: - Error 0.17025 - Error::Simple 0.17025 - Error::WarnDie undef - Error::subs undef - requirements: - Module::Build 0.280801 - Scalar::Util 0 - perl v5.6.0 - strict 0 - warnings 0 Eval-Closure-0.14 pathname: D/DO/DOY/Eval-Closure-0.14.tar.gz provides: @@ -2767,51 +2669,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - ExtUtils-MakeMaker-7.44 - pathname: B/BI/BINGOS/ExtUtils-MakeMaker-7.44.tar.gz - provides: - ExtUtils::Command 7.44 - ExtUtils::Command::MM 7.44 - ExtUtils::Liblist 7.44 - ExtUtils::Liblist::Kid 7.44 - ExtUtils::MM 7.44 - ExtUtils::MM_AIX 7.44 - ExtUtils::MM_Any 7.44 - ExtUtils::MM_BeOS 7.44 - ExtUtils::MM_Cygwin 7.44 - ExtUtils::MM_DOS 7.44 - ExtUtils::MM_Darwin 7.44 - ExtUtils::MM_MacOS 7.44 - ExtUtils::MM_NW5 7.44 - ExtUtils::MM_OS2 7.44 - ExtUtils::MM_QNX 7.44 - ExtUtils::MM_UWIN 7.44 - ExtUtils::MM_Unix 7.44 - ExtUtils::MM_VMS 7.44 - ExtUtils::MM_VOS 7.44 - ExtUtils::MM_Win32 7.44 - ExtUtils::MM_Win95 7.44 - ExtUtils::MY 7.44 - ExtUtils::MakeMaker 7.44 - ExtUtils::MakeMaker::Config 7.44 - ExtUtils::MakeMaker::Locale 7.44 - ExtUtils::MakeMaker::_version 7.44 - ExtUtils::MakeMaker::charstar 7.44 - ExtUtils::MakeMaker::version 7.44 - ExtUtils::MakeMaker::version::regex 7.44 - ExtUtils::MakeMaker::version::vpp 7.44 - ExtUtils::Mkbootstrap 7.44 - ExtUtils::Mksymlists 7.44 - ExtUtils::testlib 7.44 - MM 7.44 - MY 7.44 - requirements: - Data::Dumper 0 - Encode 0 - File::Basename 0 - File::Spec 0.8 - Pod::Man 0 - perl 5.006 ExtUtils-MakeMaker-CPANfile-0.08 pathname: I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.08.tar.gz provides: @@ -3255,23 +3112,21 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - HTTP-Cookies-6.04 - pathname: O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz + HTTP-Cookies-6.10 + pathname: O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz provides: - HTTP::Cookies 6.04 - HTTP::Cookies::Microsoft 6.04 - HTTP::Cookies::Netscape 6.04 + HTTP::Cookies 6.10 + HTTP::Cookies::Microsoft 6.10 + HTTP::Cookies::Netscape 6.10 requirements: Carp 0 ExtUtils::MakeMaker 0 HTTP::Date 6 HTTP::Headers::Util 6 HTTP::Request 0 - Time::Local 0 locale 0 perl 5.008001 strict 0 - vars 0 HTTP-Daemon-6.01 pathname: G/GA/GAAS/HTTP-Daemon-6.01.tar.gz provides: @@ -3295,10 +3150,10 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 Time::Local 0 perl 5.006002 - HTTP-Entity-Parser-0.20 - pathname: K/KA/KAZEBURO/HTTP-Entity-Parser-0.20.tar.gz + HTTP-Entity-Parser-0.25 + pathname: K/KA/KAZEBURO/HTTP-Entity-Parser-0.25.tar.gz provides: - HTTP::Entity::Parser 0.20 + HTTP::Entity::Parser 0.25 HTTP::Entity::Parser::JSON undef HTTP::Entity::Parser::MultiPart undef HTTP::Entity::Parser::OctetStream undef @@ -3313,7 +3168,7 @@ DISTRIBUTIONS Module::Load 0 Stream::Buffered 0 WWW::Form::UrlEncoded 0.23 - perl 5.008005 + perl 5.008001 HTTP-Headers-Fast-0.21 pathname: T/TO/TOKUHIROM/HTTP-Headers-Fast-0.21.tar.gz provides: @@ -3411,22 +3266,6 @@ DISTRIBUTIONS ExtUtils::MakeMaker 6.36 Socket 1.94 Test::More 0 - HTTP-Tiny-0.076 - pathname: D/DA/DAGOLDEN/HTTP-Tiny-0.076.tar.gz - provides: - HTTP::Tiny 0.076 - requirements: - Carp 0 - ExtUtils::MakeMaker 6.17 - Fcntl 0 - IO::Socket 0 - MIME::Base64 0 - Socket 0 - Time::Local 0 - bytes 0 - perl 5.006 - strict 0 - warnings 0 Hash-Merge-0.298 pathname: H/HE/HERMES/Hash-Merge-0.298.tar.gz provides: @@ -3490,21 +3329,6 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 Scalar::Util 0 perl 5.008001 - IO-CaptureOutput-1.1104 - pathname: D/DA/DAGOLDEN/IO-CaptureOutput-1.1104.tar.gz - provides: - IO::CaptureOutput 1.1104 - requirements: - Carp 0 - Exporter 0 - ExtUtils::MakeMaker 6.17 - File::Basename 0 - File::Temp 0.16 - Symbol 0 - perl 5.006 - strict 0 - vars 0 - warnings 0 IO-File-AtomicChange-0.05 pathname: H/HI/HIROSE/IO-File-AtomicChange-0.05.tar.gz provides: @@ -4331,14 +4155,6 @@ DISTRIBUTIONS perl 5.008001 strict 0 warnings 0 - Mock-Config-0.03 - pathname: R/RU/RURBAN/Mock-Config-0.03.tar.gz - provides: - Mock::Config 0.03 - requirements: - ExtUtils::MakeMaker 0 - Test::More 0 - perl 5.006 Module-Build-0.4224 pathname: L/LE/LEONT/Module-Build-0.4224.tar.gz provides: @@ -4505,19 +4321,6 @@ DISTRIBUTIONS Try::Tiny 0 strict 0 warnings 0 - Module-Load-Conditional-0.70 - pathname: B/BI/BINGOS/Module-Load-Conditional-0.70.tar.gz - provides: - Module::Load::Conditional 0.70 - requirements: - ExtUtils::MakeMaker 0 - Locale::Maketext::Simple 0 - Module::CoreList 2.22 - Module::Load 0.28 - Module::Metadata 1.000005 - Params::Check 0 - Test::More 0 - version 0.69 Module-Pluggable-5.2 pathname: S/SI/SIMONW/Module-Pluggable-5.2.tar.gz provides: @@ -4848,368 +4651,458 @@ DISTRIBUTIONS MooX::Types::MooseLike 0.23 Test::Fatal 0.003 Test::More 0.96 - Moose-2.2007 - pathname: E/ET/ETHER/Moose-2.2007.tar.gz - provides: - Class::MOP 2.2007 - Class::MOP::Attribute 2.2007 - Class::MOP::Class 2.2007 - Class::MOP::Instance 2.2007 - Class::MOP::Method 2.2007 - Class::MOP::Method::Accessor 2.2007 - Class::MOP::Method::Constructor 2.2007 - Class::MOP::Method::Generated 2.2007 - Class::MOP::Method::Inlined 2.2007 - Class::MOP::Method::Meta 2.2007 - Class::MOP::Method::Wrapped 2.2007 - Class::MOP::Module 2.2007 - Class::MOP::Object 2.2007 - Class::MOP::Overload 2.2007 - Class::MOP::Package 2.2007 - Moose 2.2007 - Moose::Cookbook 2.2007 - Moose::Cookbook::Basics::BankAccount_MethodModifiersAndSubclassing 2.2007 - Moose::Cookbook::Basics::BinaryTree_AttributeFeatures 2.2007 - Moose::Cookbook::Basics::BinaryTree_BuilderAndLazyBuild 2.2007 - Moose::Cookbook::Basics::Company_Subtypes 2.2007 - Moose::Cookbook::Basics::DateTime_ExtendingNonMooseParent 2.2007 - Moose::Cookbook::Basics::Document_AugmentAndInner 2.2007 - Moose::Cookbook::Basics::Genome_OverloadingSubtypesAndCoercion 2.2007 - Moose::Cookbook::Basics::HTTP_SubtypesAndCoercion 2.2007 - Moose::Cookbook::Basics::Immutable 2.2007 - Moose::Cookbook::Basics::Person_BUILDARGSAndBUILD 2.2007 - Moose::Cookbook::Basics::Point_AttributesAndSubclassing 2.2007 - Moose::Cookbook::Extending::Debugging_BaseClassRole 2.2007 - Moose::Cookbook::Extending::ExtensionOverview 2.2007 - Moose::Cookbook::Extending::Mooseish_MooseSugar 2.2007 - Moose::Cookbook::Legacy::Debugging_BaseClassReplacement 2.2007 - Moose::Cookbook::Legacy::Labeled_AttributeMetaclass 2.2007 - Moose::Cookbook::Legacy::Table_ClassMetaclass 2.2007 - Moose::Cookbook::Meta::GlobRef_InstanceMetaclass 2.2007 - Moose::Cookbook::Meta::Labeled_AttributeTrait 2.2007 - Moose::Cookbook::Meta::PrivateOrPublic_MethodMetaclass 2.2007 - Moose::Cookbook::Meta::Table_MetaclassTrait 2.2007 - Moose::Cookbook::Meta::WhyMeta 2.2007 - Moose::Cookbook::Roles::ApplicationToInstance 2.2007 - Moose::Cookbook::Roles::Comparable_CodeReuse 2.2007 - Moose::Cookbook::Roles::Restartable_AdvancedComposition 2.2007 - Moose::Cookbook::Snack::Keywords 2.2007 - Moose::Cookbook::Snack::Types 2.2007 - Moose::Cookbook::Style 2.2007 - Moose::Exception 2.2007 - Moose::Exception::AccessorMustReadWrite 2.2007 - Moose::Exception::AddParameterizableTypeTakesParameterizableType 2.2007 - Moose::Exception::AddRoleTakesAMooseMetaRoleInstance 2.2007 - Moose::Exception::AddRoleToARoleTakesAMooseMetaRole 2.2007 - Moose::Exception::ApplyTakesABlessedInstance 2.2007 - Moose::Exception::AttachToClassNeedsAClassMOPClassInstanceOrASubclass 2.2007 - Moose::Exception::AttributeConflictInRoles 2.2007 - Moose::Exception::AttributeConflictInSummation 2.2007 - Moose::Exception::AttributeExtensionIsNotSupportedInRoles 2.2007 - Moose::Exception::AttributeIsRequired 2.2007 - Moose::Exception::AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass 2.2007 - Moose::Exception::AttributeNamesDoNotMatch 2.2007 - Moose::Exception::AttributeValueIsNotAnObject 2.2007 - Moose::Exception::AttributeValueIsNotDefined 2.2007 - Moose::Exception::AutoDeRefNeedsArrayRefOrHashRef 2.2007 - Moose::Exception::BadOptionFormat 2.2007 - Moose::Exception::BothBuilderAndDefaultAreNotAllowed 2.2007 - Moose::Exception::BuilderDoesNotExist 2.2007 - Moose::Exception::BuilderMethodNotSupportedForAttribute 2.2007 - Moose::Exception::BuilderMethodNotSupportedForInlineAttribute 2.2007 - Moose::Exception::BuilderMustBeAMethodName 2.2007 - Moose::Exception::CallingMethodOnAnImmutableInstance 2.2007 - Moose::Exception::CallingReadOnlyMethodOnAnImmutableInstance 2.2007 - Moose::Exception::CanExtendOnlyClasses 2.2007 - Moose::Exception::CanOnlyConsumeRole 2.2007 - Moose::Exception::CanOnlyWrapBlessedCode 2.2007 - Moose::Exception::CanReblessOnlyIntoASubclass 2.2007 - Moose::Exception::CanReblessOnlyIntoASuperclass 2.2007 - Moose::Exception::CannotAddAdditionalTypeCoercionsToUnion 2.2007 - Moose::Exception::CannotAddAsAnAttributeToARole 2.2007 - Moose::Exception::CannotApplyBaseClassRolesToRole 2.2007 - Moose::Exception::CannotAssignValueToReadOnlyAccessor 2.2007 - Moose::Exception::CannotAugmentIfLocalMethodPresent 2.2007 - Moose::Exception::CannotAugmentNoSuperMethod 2.2007 - Moose::Exception::CannotAutoDerefWithoutIsa 2.2007 - Moose::Exception::CannotAutoDereferenceTypeConstraint 2.2007 - Moose::Exception::CannotCalculateNativeType 2.2007 - Moose::Exception::CannotCallAnAbstractBaseMethod 2.2007 - Moose::Exception::CannotCallAnAbstractMethod 2.2007 - Moose::Exception::CannotCoerceAWeakRef 2.2007 - Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion 2.2007 - Moose::Exception::CannotCreateHigherOrderTypeWithoutATypeParameter 2.2007 - Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresent 2.2007 - Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresentInClass 2.2007 - Moose::Exception::CannotDelegateLocalMethodIsPresent 2.2007 - Moose::Exception::CannotDelegateWithoutIsa 2.2007 - Moose::Exception::CannotFindDelegateMetaclass 2.2007 - Moose::Exception::CannotFindType 2.2007 - Moose::Exception::CannotFindTypeGivenToMatchOnType 2.2007 - Moose::Exception::CannotFixMetaclassCompatibility 2.2007 - Moose::Exception::CannotGenerateInlineConstraint 2.2007 - Moose::Exception::CannotInitializeMooseMetaRoleComposite 2.2007 - Moose::Exception::CannotInlineTypeConstraintCheck 2.2007 - Moose::Exception::CannotLocatePackageInINC 2.2007 - Moose::Exception::CannotMakeMetaclassCompatible 2.2007 - Moose::Exception::CannotOverrideALocalMethod 2.2007 - Moose::Exception::CannotOverrideBodyOfMetaMethods 2.2007 - Moose::Exception::CannotOverrideLocalMethodIsPresent 2.2007 - Moose::Exception::CannotOverrideNoSuperMethod 2.2007 - Moose::Exception::CannotRegisterUnnamedTypeConstraint 2.2007 - Moose::Exception::CannotUseLazyBuildAndDefaultSimultaneously 2.2007 - Moose::Exception::CircularReferenceInAlso 2.2007 - Moose::Exception::ClassDoesNotHaveInitMeta 2.2007 - Moose::Exception::ClassDoesTheExcludedRole 2.2007 - Moose::Exception::ClassNamesDoNotMatch 2.2007 - Moose::Exception::CloneObjectExpectsAnInstanceOfMetaclass 2.2007 - Moose::Exception::CodeBlockMustBeACodeRef 2.2007 - Moose::Exception::CoercingWithoutCoercions 2.2007 - Moose::Exception::CoercionAlreadyExists 2.2007 - Moose::Exception::CoercionNeedsTypeConstraint 2.2007 - Moose::Exception::ConflictDetectedInCheckRoleExclusions 2.2007 - Moose::Exception::ConflictDetectedInCheckRoleExclusionsInToClass 2.2007 - Moose::Exception::ConstructClassInstanceTakesPackageName 2.2007 - Moose::Exception::CouldNotCreateMethod 2.2007 - Moose::Exception::CouldNotCreateWriter 2.2007 - Moose::Exception::CouldNotEvalConstructor 2.2007 - Moose::Exception::CouldNotEvalDestructor 2.2007 - Moose::Exception::CouldNotFindTypeConstraintToCoerceFrom 2.2007 - Moose::Exception::CouldNotGenerateInlineAttributeMethod 2.2007 - Moose::Exception::CouldNotLocateTypeConstraintForUnion 2.2007 - Moose::Exception::CouldNotParseType 2.2007 - Moose::Exception::CreateMOPClassTakesArrayRefOfAttributes 2.2007 - Moose::Exception::CreateMOPClassTakesArrayRefOfSuperclasses 2.2007 - Moose::Exception::CreateMOPClassTakesHashRefOfMethods 2.2007 - Moose::Exception::CreateTakesArrayRefOfRoles 2.2007 - Moose::Exception::CreateTakesHashRefOfAttributes 2.2007 - Moose::Exception::CreateTakesHashRefOfMethods 2.2007 - Moose::Exception::DefaultToMatchOnTypeMustBeCodeRef 2.2007 - Moose::Exception::DelegationToAClassWhichIsNotLoaded 2.2007 - Moose::Exception::DelegationToARoleWhichIsNotLoaded 2.2007 - Moose::Exception::DelegationToATypeWhichIsNotAClass 2.2007 - Moose::Exception::DoesRequiresRoleName 2.2007 - Moose::Exception::EnumCalledWithAnArrayRefAndAdditionalArgs 2.2007 - Moose::Exception::EnumValuesMustBeString 2.2007 - Moose::Exception::ExtendsMissingArgs 2.2007 - Moose::Exception::HandlesMustBeAHashRef 2.2007 - Moose::Exception::IllegalInheritedOptions 2.2007 - Moose::Exception::IllegalMethodTypeToAddMethodModifier 2.2007 - Moose::Exception::IncompatibleMetaclassOfSuperclass 2.2007 - Moose::Exception::InitMetaRequiresClass 2.2007 - Moose::Exception::InitializeTakesUnBlessedPackageName 2.2007 - Moose::Exception::InstanceBlessedIntoWrongClass 2.2007 - Moose::Exception::InstanceMustBeABlessedReference 2.2007 - Moose::Exception::InvalidArgPassedToMooseUtilMetaRole 2.2007 - Moose::Exception::InvalidArgumentToMethod 2.2007 - Moose::Exception::InvalidArgumentsToTraitAliases 2.2007 - Moose::Exception::InvalidBaseTypeGivenToCreateParameterizedTypeConstraint 2.2007 - Moose::Exception::InvalidHandleValue 2.2007 - Moose::Exception::InvalidHasProvidedInARole 2.2007 - Moose::Exception::InvalidNameForType 2.2007 - Moose::Exception::InvalidOverloadOperator 2.2007 - Moose::Exception::InvalidRoleApplication 2.2007 - Moose::Exception::InvalidTypeConstraint 2.2007 - Moose::Exception::InvalidTypeGivenToCreateParameterizedTypeConstraint 2.2007 - Moose::Exception::InvalidValueForIs 2.2007 - Moose::Exception::IsaDoesNotDoTheRole 2.2007 - Moose::Exception::IsaLacksDoesMethod 2.2007 - Moose::Exception::LazyAttributeNeedsADefault 2.2007 - Moose::Exception::Legacy 2.2007 - Moose::Exception::MOPAttributeNewNeedsAttributeName 2.2007 - Moose::Exception::MatchActionMustBeACodeRef 2.2007 - Moose::Exception::MessageParameterMustBeCodeRef 2.2007 - Moose::Exception::MetaclassIsAClassNotASubclassOfGivenMetaclass 2.2007 - Moose::Exception::MetaclassIsARoleNotASubclassOfGivenMetaclass 2.2007 - Moose::Exception::MetaclassIsNotASubclassOfGivenMetaclass 2.2007 - Moose::Exception::MetaclassMustBeASubclassOfMooseMetaClass 2.2007 - Moose::Exception::MetaclassMustBeASubclassOfMooseMetaRole 2.2007 - Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass 2.2007 - Moose::Exception::MetaclassNotLoaded 2.2007 - Moose::Exception::MetaclassTypeIncompatible 2.2007 - Moose::Exception::MethodExpectedAMetaclassObject 2.2007 - Moose::Exception::MethodExpectsFewerArgs 2.2007 - Moose::Exception::MethodExpectsMoreArgs 2.2007 - Moose::Exception::MethodModifierNeedsMethodName 2.2007 - Moose::Exception::MethodNameConflictInRoles 2.2007 - Moose::Exception::MethodNameNotFoundInInheritanceHierarchy 2.2007 - Moose::Exception::MethodNameNotGiven 2.2007 - Moose::Exception::MustDefineAMethodName 2.2007 - Moose::Exception::MustDefineAnAttributeName 2.2007 - Moose::Exception::MustDefineAnOverloadOperator 2.2007 - Moose::Exception::MustHaveAtLeastOneValueToEnumerate 2.2007 - Moose::Exception::MustPassAHashOfOptions 2.2007 - Moose::Exception::MustPassAMooseMetaRoleInstanceOrSubclass 2.2007 - Moose::Exception::MustPassAPackageNameOrAnExistingClassMOPPackageInstance 2.2007 - Moose::Exception::MustPassEvenNumberOfArguments 2.2007 - Moose::Exception::MustPassEvenNumberOfAttributeOptions 2.2007 - Moose::Exception::MustProvideANameForTheAttribute 2.2007 - Moose::Exception::MustSpecifyAtleastOneMethod 2.2007 - Moose::Exception::MustSpecifyAtleastOneRole 2.2007 - Moose::Exception::MustSpecifyAtleastOneRoleToApplicant 2.2007 - Moose::Exception::MustSupplyAClassMOPAttributeInstance 2.2007 - Moose::Exception::MustSupplyADelegateToMethod 2.2007 - Moose::Exception::MustSupplyAMetaclass 2.2007 - Moose::Exception::MustSupplyAMooseMetaAttributeInstance 2.2007 - Moose::Exception::MustSupplyAnAccessorTypeToConstructWith 2.2007 - Moose::Exception::MustSupplyAnAttributeToConstructWith 2.2007 - Moose::Exception::MustSupplyArrayRefAsCurriedArguments 2.2007 - Moose::Exception::MustSupplyPackageNameAndName 2.2007 - Moose::Exception::NeedsTypeConstraintUnionForTypeCoercionUnion 2.2007 - Moose::Exception::NeitherAttributeNorAttributeNameIsGiven 2.2007 - Moose::Exception::NeitherClassNorClassNameIsGiven 2.2007 - Moose::Exception::NeitherRoleNorRoleNameIsGiven 2.2007 - Moose::Exception::NeitherTypeNorTypeNameIsGiven 2.2007 - Moose::Exception::NoAttributeFoundInSuperClass 2.2007 - Moose::Exception::NoBodyToInitializeInAnAbstractBaseClass 2.2007 - Moose::Exception::NoCasesMatched 2.2007 - Moose::Exception::NoConstraintCheckForTypeConstraint 2.2007 - Moose::Exception::NoDestructorClassSpecified 2.2007 - Moose::Exception::NoImmutableTraitSpecifiedForClass 2.2007 - Moose::Exception::NoParentGivenToSubtype 2.2007 - Moose::Exception::OnlyInstancesCanBeCloned 2.2007 - Moose::Exception::OperatorIsRequired 2.2007 - Moose::Exception::OverloadConflictInSummation 2.2007 - Moose::Exception::OverloadRequiresAMetaClass 2.2007 - Moose::Exception::OverloadRequiresAMetaMethod 2.2007 - Moose::Exception::OverloadRequiresAMetaOverload 2.2007 - Moose::Exception::OverloadRequiresAMethodNameOrCoderef 2.2007 - Moose::Exception::OverloadRequiresAnOperator 2.2007 - Moose::Exception::OverloadRequiresNamesForCoderef 2.2007 - Moose::Exception::OverrideConflictInComposition 2.2007 - Moose::Exception::OverrideConflictInSummation 2.2007 - Moose::Exception::PackageDoesNotUseMooseExporter 2.2007 - Moose::Exception::PackageNameAndNameParamsNotGivenToWrap 2.2007 - Moose::Exception::PackagesAndModulesAreNotCachable 2.2007 - Moose::Exception::ParameterIsNotSubtypeOfParent 2.2007 - Moose::Exception::ReferencesAreNotAllowedAsDefault 2.2007 - Moose::Exception::RequiredAttributeLacksInitialization 2.2007 - Moose::Exception::RequiredAttributeNeedsADefault 2.2007 - Moose::Exception::RequiredMethodsImportedByClass 2.2007 - Moose::Exception::RequiredMethodsNotImplementedByClass 2.2007 - Moose::Exception::Role::Attribute 2.2007 - Moose::Exception::Role::AttributeName 2.2007 - Moose::Exception::Role::Class 2.2007 - Moose::Exception::Role::EitherAttributeOrAttributeName 2.2007 - Moose::Exception::Role::Instance 2.2007 - Moose::Exception::Role::InstanceClass 2.2007 - Moose::Exception::Role::InvalidAttributeOptions 2.2007 - Moose::Exception::Role::Method 2.2007 - Moose::Exception::Role::ParamsHash 2.2007 - Moose::Exception::Role::Role 2.2007 - Moose::Exception::Role::RoleForCreate 2.2007 - Moose::Exception::Role::RoleForCreateMOPClass 2.2007 - Moose::Exception::Role::TypeConstraint 2.2007 - Moose::Exception::RoleDoesTheExcludedRole 2.2007 - Moose::Exception::RoleExclusionConflict 2.2007 - Moose::Exception::RoleNameRequired 2.2007 - Moose::Exception::RoleNameRequiredForMooseMetaRole 2.2007 - Moose::Exception::RolesDoNotSupportAugment 2.2007 - Moose::Exception::RolesDoNotSupportExtends 2.2007 - Moose::Exception::RolesDoNotSupportInner 2.2007 - Moose::Exception::RolesDoNotSupportRegexReferencesForMethodModifiers 2.2007 - Moose::Exception::RolesInCreateTakesAnArrayRef 2.2007 - Moose::Exception::RolesListMustBeInstancesOfMooseMetaRole 2.2007 - Moose::Exception::SingleParamsToNewMustBeHashRef 2.2007 - Moose::Exception::TriggerMustBeACodeRef 2.2007 - Moose::Exception::TypeConstraintCannotBeUsedForAParameterizableType 2.2007 - Moose::Exception::TypeConstraintIsAlreadyCreated 2.2007 - Moose::Exception::TypeParameterMustBeMooseMetaType 2.2007 - Moose::Exception::UnableToCanonicalizeHandles 2.2007 - Moose::Exception::UnableToCanonicalizeNonRolePackage 2.2007 - Moose::Exception::UnableToRecognizeDelegateMetaclass 2.2007 - Moose::Exception::UndefinedHashKeysPassedToMethod 2.2007 - Moose::Exception::UnionCalledWithAnArrayRefAndAdditionalArgs 2.2007 - Moose::Exception::UnionTakesAtleastTwoTypeNames 2.2007 - Moose::Exception::ValidationFailedForInlineTypeConstraint 2.2007 - Moose::Exception::ValidationFailedForTypeConstraint 2.2007 - Moose::Exception::WrapTakesACodeRefToBless 2.2007 - Moose::Exception::WrongTypeConstraintGiven 2.2007 - Moose::Exporter 2.2007 - Moose::Intro 2.2007 - Moose::Manual 2.2007 - Moose::Manual::Attributes 2.2007 - Moose::Manual::BestPractices 2.2007 - Moose::Manual::Classes 2.2007 - Moose::Manual::Concepts 2.2007 - Moose::Manual::Construction 2.2007 - Moose::Manual::Contributing 2.2007 - Moose::Manual::Delegation 2.2007 - Moose::Manual::Delta 2.2007 - Moose::Manual::Exceptions 2.2007 - Moose::Manual::Exceptions::Manifest 2.2007 - Moose::Manual::FAQ 2.2007 - Moose::Manual::MOP 2.2007 - Moose::Manual::MethodModifiers 2.2007 - Moose::Manual::MooseX 2.2007 - Moose::Manual::Resources 2.2007 - Moose::Manual::Roles 2.2007 - Moose::Manual::Support 2.2007 - Moose::Manual::Types 2.2007 - Moose::Manual::Unsweetened 2.2007 - Moose::Meta::Attribute 2.2007 - Moose::Meta::Attribute::Native 2.2007 - Moose::Meta::Attribute::Native::Trait::Array 2.2007 - Moose::Meta::Attribute::Native::Trait::Bool 2.2007 - Moose::Meta::Attribute::Native::Trait::Code 2.2007 - Moose::Meta::Attribute::Native::Trait::Counter 2.2007 - Moose::Meta::Attribute::Native::Trait::Hash 2.2007 - Moose::Meta::Attribute::Native::Trait::Number 2.2007 - Moose::Meta::Attribute::Native::Trait::String 2.2007 - Moose::Meta::Class 2.2007 - Moose::Meta::Instance 2.2007 - Moose::Meta::Method 2.2007 - Moose::Meta::Method::Accessor 2.2007 - Moose::Meta::Method::Augmented 2.2007 - Moose::Meta::Method::Constructor 2.2007 - Moose::Meta::Method::Delegation 2.2007 - Moose::Meta::Method::Destructor 2.2007 - Moose::Meta::Method::Meta 2.2007 - Moose::Meta::Method::Overridden 2.2007 - Moose::Meta::Role 2.2007 - Moose::Meta::Role::Application 2.2007 - Moose::Meta::Role::Application::RoleSummation 2.2007 - Moose::Meta::Role::Application::ToClass 2.2007 - Moose::Meta::Role::Application::ToInstance 2.2007 - Moose::Meta::Role::Application::ToRole 2.2007 - Moose::Meta::Role::Attribute 2.2007 - Moose::Meta::Role::Composite 2.2007 - Moose::Meta::Role::Method 2.2007 - Moose::Meta::Role::Method::Conflicting 2.2007 - Moose::Meta::Role::Method::Required 2.2007 - Moose::Meta::TypeCoercion 2.2007 - Moose::Meta::TypeCoercion::Union 2.2007 - Moose::Meta::TypeConstraint 2.2007 - Moose::Meta::TypeConstraint::Class 2.2007 - Moose::Meta::TypeConstraint::DuckType 2.2007 - Moose::Meta::TypeConstraint::Enum 2.2007 - Moose::Meta::TypeConstraint::Parameterizable 2.2007 - Moose::Meta::TypeConstraint::Parameterized 2.2007 - Moose::Meta::TypeConstraint::Registry 2.2007 - Moose::Meta::TypeConstraint::Role 2.2007 - Moose::Meta::TypeConstraint::Union 2.2007 - Moose::Object 2.2007 - Moose::Role 2.2007 - Moose::Spec::Role 2.2007 - Moose::Unsweetened 2.2007 - Moose::Util 2.2007 - Moose::Util::MetaRole 2.2007 - Moose::Util::TypeConstraints 2.2007 - Test::Moose 2.2007 - metaclass 2.2007 - oose 2.2007 + Moose-2.2015 + pathname: E/ET/ETHER/Moose-2.2015.tar.gz + provides: + Class::MOP 2.2015 + Class::MOP::Attribute 2.2015 + Class::MOP::Class 2.2015 + Class::MOP::Class::Immutable::Trait 2.2015 + Class::MOP::Deprecated 2.2015 + Class::MOP::Instance 2.2015 + Class::MOP::Method 2.2015 + Class::MOP::Method::Accessor 2.2015 + Class::MOP::Method::Constructor 2.2015 + Class::MOP::Method::Generated 2.2015 + Class::MOP::Method::Inlined 2.2015 + Class::MOP::Method::Meta 2.2015 + Class::MOP::Method::Wrapped 2.2015 + Class::MOP::MiniTrait 2.2015 + Class::MOP::Mixin 2.2015 + Class::MOP::Mixin::AttributeCore 2.2015 + Class::MOP::Mixin::HasAttributes 2.2015 + Class::MOP::Mixin::HasMethods 2.2015 + Class::MOP::Mixin::HasOverloads 2.2015 + Class::MOP::Module 2.2015 + Class::MOP::Object 2.2015 + Class::MOP::Overload 2.2015 + Class::MOP::Package 2.2015 + Moose 2.2015 + Moose::Cookbook 2.2015 + Moose::Cookbook::Basics::BankAccount_MethodModifiersAndSubclassing 2.2015 + Moose::Cookbook::Basics::BinaryTree_AttributeFeatures 2.2015 + Moose::Cookbook::Basics::BinaryTree_BuilderAndLazyBuild 2.2015 + Moose::Cookbook::Basics::Company_Subtypes 2.2015 + Moose::Cookbook::Basics::DateTime_ExtendingNonMooseParent 2.2015 + Moose::Cookbook::Basics::Document_AugmentAndInner 2.2015 + Moose::Cookbook::Basics::Genome_OverloadingSubtypesAndCoercion 2.2015 + Moose::Cookbook::Basics::HTTP_SubtypesAndCoercion 2.2015 + Moose::Cookbook::Basics::Immutable 2.2015 + Moose::Cookbook::Basics::Person_BUILDARGSAndBUILD 2.2015 + Moose::Cookbook::Basics::Point_AttributesAndSubclassing 2.2015 + Moose::Cookbook::Extending::Debugging_BaseClassRole 2.2015 + Moose::Cookbook::Extending::ExtensionOverview 2.2015 + Moose::Cookbook::Extending::Mooseish_MooseSugar 2.2015 + Moose::Cookbook::Legacy::Debugging_BaseClassReplacement 2.2015 + Moose::Cookbook::Legacy::Labeled_AttributeMetaclass 2.2015 + Moose::Cookbook::Legacy::Table_ClassMetaclass 2.2015 + Moose::Cookbook::Meta::GlobRef_InstanceMetaclass 2.2015 + Moose::Cookbook::Meta::Labeled_AttributeTrait 2.2015 + Moose::Cookbook::Meta::PrivateOrPublic_MethodMetaclass 2.2015 + Moose::Cookbook::Meta::Table_MetaclassTrait 2.2015 + Moose::Cookbook::Meta::WhyMeta 2.2015 + Moose::Cookbook::Roles::ApplicationToInstance 2.2015 + Moose::Cookbook::Roles::Comparable_CodeReuse 2.2015 + Moose::Cookbook::Roles::Restartable_AdvancedComposition 2.2015 + Moose::Cookbook::Snack::Keywords 2.2015 + Moose::Cookbook::Snack::Types 2.2015 + Moose::Cookbook::Style 2.2015 + Moose::Deprecated 2.2015 + Moose::Exception 2.2015 + Moose::Exception::AccessorMustReadWrite 2.2015 + Moose::Exception::AddParameterizableTypeTakesParameterizableType 2.2015 + Moose::Exception::AddRoleTakesAMooseMetaRoleInstance 2.2015 + Moose::Exception::AddRoleToARoleTakesAMooseMetaRole 2.2015 + Moose::Exception::ApplyTakesABlessedInstance 2.2015 + Moose::Exception::AttachToClassNeedsAClassMOPClassInstanceOrASubclass 2.2015 + Moose::Exception::AttributeConflictInRoles 2.2015 + Moose::Exception::AttributeConflictInSummation 2.2015 + Moose::Exception::AttributeExtensionIsNotSupportedInRoles 2.2015 + Moose::Exception::AttributeIsRequired 2.2015 + Moose::Exception::AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass 2.2015 + Moose::Exception::AttributeNamesDoNotMatch 2.2015 + Moose::Exception::AttributeValueIsNotAnObject 2.2015 + Moose::Exception::AttributeValueIsNotDefined 2.2015 + Moose::Exception::AutoDeRefNeedsArrayRefOrHashRef 2.2015 + Moose::Exception::BadOptionFormat 2.2015 + Moose::Exception::BothBuilderAndDefaultAreNotAllowed 2.2015 + Moose::Exception::BuilderDoesNotExist 2.2015 + Moose::Exception::BuilderMethodNotSupportedForAttribute 2.2015 + Moose::Exception::BuilderMethodNotSupportedForInlineAttribute 2.2015 + Moose::Exception::BuilderMustBeAMethodName 2.2015 + Moose::Exception::CallingMethodOnAnImmutableInstance 2.2015 + Moose::Exception::CallingReadOnlyMethodOnAnImmutableInstance 2.2015 + Moose::Exception::CanExtendOnlyClasses 2.2015 + Moose::Exception::CanOnlyConsumeRole 2.2015 + Moose::Exception::CanOnlyWrapBlessedCode 2.2015 + Moose::Exception::CanReblessOnlyIntoASubclass 2.2015 + Moose::Exception::CanReblessOnlyIntoASuperclass 2.2015 + Moose::Exception::CannotAddAdditionalTypeCoercionsToUnion 2.2015 + Moose::Exception::CannotAddAsAnAttributeToARole 2.2015 + Moose::Exception::CannotApplyBaseClassRolesToRole 2.2015 + Moose::Exception::CannotAssignValueToReadOnlyAccessor 2.2015 + Moose::Exception::CannotAugmentIfLocalMethodPresent 2.2015 + Moose::Exception::CannotAugmentNoSuperMethod 2.2015 + Moose::Exception::CannotAutoDerefWithoutIsa 2.2015 + Moose::Exception::CannotAutoDereferenceTypeConstraint 2.2015 + Moose::Exception::CannotCalculateNativeType 2.2015 + Moose::Exception::CannotCallAnAbstractBaseMethod 2.2015 + Moose::Exception::CannotCallAnAbstractMethod 2.2015 + Moose::Exception::CannotCoerceAWeakRef 2.2015 + Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion 2.2015 + Moose::Exception::CannotCreateHigherOrderTypeWithoutATypeParameter 2.2015 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresent 2.2015 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresentInClass 2.2015 + Moose::Exception::CannotDelegateLocalMethodIsPresent 2.2015 + Moose::Exception::CannotDelegateWithoutIsa 2.2015 + Moose::Exception::CannotFindDelegateMetaclass 2.2015 + Moose::Exception::CannotFindType 2.2015 + Moose::Exception::CannotFindTypeGivenToMatchOnType 2.2015 + Moose::Exception::CannotFixMetaclassCompatibility 2.2015 + Moose::Exception::CannotGenerateInlineConstraint 2.2015 + Moose::Exception::CannotInitializeMooseMetaRoleComposite 2.2015 + Moose::Exception::CannotInlineTypeConstraintCheck 2.2015 + Moose::Exception::CannotLocatePackageInINC 2.2015 + Moose::Exception::CannotMakeMetaclassCompatible 2.2015 + Moose::Exception::CannotOverrideALocalMethod 2.2015 + Moose::Exception::CannotOverrideBodyOfMetaMethods 2.2015 + Moose::Exception::CannotOverrideLocalMethodIsPresent 2.2015 + Moose::Exception::CannotOverrideNoSuperMethod 2.2015 + Moose::Exception::CannotRegisterUnnamedTypeConstraint 2.2015 + Moose::Exception::CannotUseLazyBuildAndDefaultSimultaneously 2.2015 + Moose::Exception::CircularReferenceInAlso 2.2015 + Moose::Exception::ClassDoesNotHaveInitMeta 2.2015 + Moose::Exception::ClassDoesTheExcludedRole 2.2015 + Moose::Exception::ClassNamesDoNotMatch 2.2015 + Moose::Exception::CloneObjectExpectsAnInstanceOfMetaclass 2.2015 + Moose::Exception::CodeBlockMustBeACodeRef 2.2015 + Moose::Exception::CoercingWithoutCoercions 2.2015 + Moose::Exception::CoercionAlreadyExists 2.2015 + Moose::Exception::CoercionNeedsTypeConstraint 2.2015 + Moose::Exception::ConflictDetectedInCheckRoleExclusions 2.2015 + Moose::Exception::ConflictDetectedInCheckRoleExclusionsInToClass 2.2015 + Moose::Exception::ConstructClassInstanceTakesPackageName 2.2015 + Moose::Exception::CouldNotCreateMethod 2.2015 + Moose::Exception::CouldNotCreateWriter 2.2015 + Moose::Exception::CouldNotEvalConstructor 2.2015 + Moose::Exception::CouldNotEvalDestructor 2.2015 + Moose::Exception::CouldNotFindTypeConstraintToCoerceFrom 2.2015 + Moose::Exception::CouldNotGenerateInlineAttributeMethod 2.2015 + Moose::Exception::CouldNotLocateTypeConstraintForUnion 2.2015 + Moose::Exception::CouldNotParseType 2.2015 + Moose::Exception::CreateMOPClassTakesArrayRefOfAttributes 2.2015 + Moose::Exception::CreateMOPClassTakesArrayRefOfSuperclasses 2.2015 + Moose::Exception::CreateMOPClassTakesHashRefOfMethods 2.2015 + Moose::Exception::CreateTakesArrayRefOfRoles 2.2015 + Moose::Exception::CreateTakesHashRefOfAttributes 2.2015 + Moose::Exception::CreateTakesHashRefOfMethods 2.2015 + Moose::Exception::DefaultToMatchOnTypeMustBeCodeRef 2.2015 + Moose::Exception::DelegationToAClassWhichIsNotLoaded 2.2015 + Moose::Exception::DelegationToARoleWhichIsNotLoaded 2.2015 + Moose::Exception::DelegationToATypeWhichIsNotAClass 2.2015 + Moose::Exception::DoesRequiresRoleName 2.2015 + Moose::Exception::EnumCalledWithAnArrayRefAndAdditionalArgs 2.2015 + Moose::Exception::EnumValuesMustBeString 2.2015 + Moose::Exception::ExtendsMissingArgs 2.2015 + Moose::Exception::HandlesMustBeAHashRef 2.2015 + Moose::Exception::IllegalInheritedOptions 2.2015 + Moose::Exception::IllegalMethodTypeToAddMethodModifier 2.2015 + Moose::Exception::IncompatibleMetaclassOfSuperclass 2.2015 + Moose::Exception::InitMetaRequiresClass 2.2015 + Moose::Exception::InitializeTakesUnBlessedPackageName 2.2015 + Moose::Exception::InstanceBlessedIntoWrongClass 2.2015 + Moose::Exception::InstanceMustBeABlessedReference 2.2015 + Moose::Exception::InvalidArgPassedToMooseUtilMetaRole 2.2015 + Moose::Exception::InvalidArgumentToMethod 2.2015 + Moose::Exception::InvalidArgumentsToTraitAliases 2.2015 + Moose::Exception::InvalidBaseTypeGivenToCreateParameterizedTypeConstraint 2.2015 + Moose::Exception::InvalidHandleValue 2.2015 + Moose::Exception::InvalidHasProvidedInARole 2.2015 + Moose::Exception::InvalidNameForType 2.2015 + Moose::Exception::InvalidOverloadOperator 2.2015 + Moose::Exception::InvalidRoleApplication 2.2015 + Moose::Exception::InvalidTypeConstraint 2.2015 + Moose::Exception::InvalidTypeGivenToCreateParameterizedTypeConstraint 2.2015 + Moose::Exception::InvalidValueForIs 2.2015 + Moose::Exception::IsaDoesNotDoTheRole 2.2015 + Moose::Exception::IsaLacksDoesMethod 2.2015 + Moose::Exception::LazyAttributeNeedsADefault 2.2015 + Moose::Exception::Legacy 2.2015 + Moose::Exception::MOPAttributeNewNeedsAttributeName 2.2015 + Moose::Exception::MatchActionMustBeACodeRef 2.2015 + Moose::Exception::MessageParameterMustBeCodeRef 2.2015 + Moose::Exception::MetaclassIsAClassNotASubclassOfGivenMetaclass 2.2015 + Moose::Exception::MetaclassIsARoleNotASubclassOfGivenMetaclass 2.2015 + Moose::Exception::MetaclassIsNotASubclassOfGivenMetaclass 2.2015 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaClass 2.2015 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaRole 2.2015 + Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass 2.2015 + Moose::Exception::MetaclassNotLoaded 2.2015 + Moose::Exception::MetaclassTypeIncompatible 2.2015 + Moose::Exception::MethodExpectedAMetaclassObject 2.2015 + Moose::Exception::MethodExpectsFewerArgs 2.2015 + Moose::Exception::MethodExpectsMoreArgs 2.2015 + Moose::Exception::MethodModifierNeedsMethodName 2.2015 + Moose::Exception::MethodNameConflictInRoles 2.2015 + Moose::Exception::MethodNameNotFoundInInheritanceHierarchy 2.2015 + Moose::Exception::MethodNameNotGiven 2.2015 + Moose::Exception::MustDefineAMethodName 2.2015 + Moose::Exception::MustDefineAnAttributeName 2.2015 + Moose::Exception::MustDefineAnOverloadOperator 2.2015 + Moose::Exception::MustHaveAtLeastOneValueToEnumerate 2.2015 + Moose::Exception::MustPassAHashOfOptions 2.2015 + Moose::Exception::MustPassAMooseMetaRoleInstanceOrSubclass 2.2015 + Moose::Exception::MustPassAPackageNameOrAnExistingClassMOPPackageInstance 2.2015 + Moose::Exception::MustPassEvenNumberOfArguments 2.2015 + Moose::Exception::MustPassEvenNumberOfAttributeOptions 2.2015 + Moose::Exception::MustProvideANameForTheAttribute 2.2015 + Moose::Exception::MustSpecifyAtleastOneMethod 2.2015 + Moose::Exception::MustSpecifyAtleastOneRole 2.2015 + Moose::Exception::MustSpecifyAtleastOneRoleToApplicant 2.2015 + Moose::Exception::MustSupplyAClassMOPAttributeInstance 2.2015 + Moose::Exception::MustSupplyADelegateToMethod 2.2015 + Moose::Exception::MustSupplyAMetaclass 2.2015 + Moose::Exception::MustSupplyAMooseMetaAttributeInstance 2.2015 + Moose::Exception::MustSupplyAnAccessorTypeToConstructWith 2.2015 + Moose::Exception::MustSupplyAnAttributeToConstructWith 2.2015 + Moose::Exception::MustSupplyArrayRefAsCurriedArguments 2.2015 + Moose::Exception::MustSupplyPackageNameAndName 2.2015 + Moose::Exception::NeedsTypeConstraintUnionForTypeCoercionUnion 2.2015 + Moose::Exception::NeitherAttributeNorAttributeNameIsGiven 2.2015 + Moose::Exception::NeitherClassNorClassNameIsGiven 2.2015 + Moose::Exception::NeitherRoleNorRoleNameIsGiven 2.2015 + Moose::Exception::NeitherTypeNorTypeNameIsGiven 2.2015 + Moose::Exception::NoAttributeFoundInSuperClass 2.2015 + Moose::Exception::NoBodyToInitializeInAnAbstractBaseClass 2.2015 + Moose::Exception::NoCasesMatched 2.2015 + Moose::Exception::NoConstraintCheckForTypeConstraint 2.2015 + Moose::Exception::NoDestructorClassSpecified 2.2015 + Moose::Exception::NoImmutableTraitSpecifiedForClass 2.2015 + Moose::Exception::NoParentGivenToSubtype 2.2015 + Moose::Exception::OnlyInstancesCanBeCloned 2.2015 + Moose::Exception::OperatorIsRequired 2.2015 + Moose::Exception::OverloadConflictInSummation 2.2015 + Moose::Exception::OverloadRequiresAMetaClass 2.2015 + Moose::Exception::OverloadRequiresAMetaMethod 2.2015 + Moose::Exception::OverloadRequiresAMetaOverload 2.2015 + Moose::Exception::OverloadRequiresAMethodNameOrCoderef 2.2015 + Moose::Exception::OverloadRequiresAnOperator 2.2015 + Moose::Exception::OverloadRequiresNamesForCoderef 2.2015 + Moose::Exception::OverrideConflictInComposition 2.2015 + Moose::Exception::OverrideConflictInSummation 2.2015 + Moose::Exception::PackageDoesNotUseMooseExporter 2.2015 + Moose::Exception::PackageNameAndNameParamsNotGivenToWrap 2.2015 + Moose::Exception::PackagesAndModulesAreNotCachable 2.2015 + Moose::Exception::ParameterIsNotSubtypeOfParent 2.2015 + Moose::Exception::ReferencesAreNotAllowedAsDefault 2.2015 + Moose::Exception::RequiredAttributeLacksInitialization 2.2015 + Moose::Exception::RequiredAttributeNeedsADefault 2.2015 + Moose::Exception::RequiredMethodsImportedByClass 2.2015 + Moose::Exception::RequiredMethodsNotImplementedByClass 2.2015 + Moose::Exception::Role::Attribute 2.2015 + Moose::Exception::Role::AttributeName 2.2015 + Moose::Exception::Role::Class 2.2015 + Moose::Exception::Role::EitherAttributeOrAttributeName 2.2015 + Moose::Exception::Role::Instance 2.2015 + Moose::Exception::Role::InstanceClass 2.2015 + Moose::Exception::Role::InvalidAttributeOptions 2.2015 + Moose::Exception::Role::Method 2.2015 + Moose::Exception::Role::ParamsHash 2.2015 + Moose::Exception::Role::Role 2.2015 + Moose::Exception::Role::RoleForCreate 2.2015 + Moose::Exception::Role::RoleForCreateMOPClass 2.2015 + Moose::Exception::Role::TypeConstraint 2.2015 + Moose::Exception::RoleDoesTheExcludedRole 2.2015 + Moose::Exception::RoleExclusionConflict 2.2015 + Moose::Exception::RoleNameRequired 2.2015 + Moose::Exception::RoleNameRequiredForMooseMetaRole 2.2015 + Moose::Exception::RolesDoNotSupportAugment 2.2015 + Moose::Exception::RolesDoNotSupportExtends 2.2015 + Moose::Exception::RolesDoNotSupportInner 2.2015 + Moose::Exception::RolesDoNotSupportRegexReferencesForMethodModifiers 2.2015 + Moose::Exception::RolesInCreateTakesAnArrayRef 2.2015 + Moose::Exception::RolesListMustBeInstancesOfMooseMetaRole 2.2015 + Moose::Exception::SingleParamsToNewMustBeHashRef 2.2015 + Moose::Exception::TriggerMustBeACodeRef 2.2015 + Moose::Exception::TypeConstraintCannotBeUsedForAParameterizableType 2.2015 + Moose::Exception::TypeConstraintIsAlreadyCreated 2.2015 + Moose::Exception::TypeParameterMustBeMooseMetaType 2.2015 + Moose::Exception::UnableToCanonicalizeHandles 2.2015 + Moose::Exception::UnableToCanonicalizeNonRolePackage 2.2015 + Moose::Exception::UnableToRecognizeDelegateMetaclass 2.2015 + Moose::Exception::UndefinedHashKeysPassedToMethod 2.2015 + Moose::Exception::UnionCalledWithAnArrayRefAndAdditionalArgs 2.2015 + Moose::Exception::UnionTakesAtleastTwoTypeNames 2.2015 + Moose::Exception::ValidationFailedForInlineTypeConstraint 2.2015 + Moose::Exception::ValidationFailedForTypeConstraint 2.2015 + Moose::Exception::WrapTakesACodeRefToBless 2.2015 + Moose::Exception::WrongTypeConstraintGiven 2.2015 + Moose::Exporter 2.2015 + Moose::Intro 2.2015 + Moose::Manual 2.2015 + Moose::Manual::Attributes 2.2015 + Moose::Manual::BestPractices 2.2015 + Moose::Manual::Classes 2.2015 + Moose::Manual::Concepts 2.2015 + Moose::Manual::Construction 2.2015 + Moose::Manual::Contributing 2.2015 + Moose::Manual::Delegation 2.2015 + Moose::Manual::Delta 2.2015 + Moose::Manual::Exceptions 2.2015 + Moose::Manual::Exceptions::Manifest 2.2015 + Moose::Manual::FAQ 2.2015 + Moose::Manual::MOP 2.2015 + Moose::Manual::MethodModifiers 2.2015 + Moose::Manual::MooseX 2.2015 + Moose::Manual::Resources 2.2015 + Moose::Manual::Roles 2.2015 + Moose::Manual::Support 2.2015 + Moose::Manual::Types 2.2015 + Moose::Manual::Unsweetened 2.2015 + Moose::Meta::Attribute 2.2015 + Moose::Meta::Attribute::Native 2.2015 + Moose::Meta::Attribute::Native::Trait 2.2015 + Moose::Meta::Attribute::Native::Trait::Array 2.2015 + Moose::Meta::Attribute::Native::Trait::Bool 2.2015 + Moose::Meta::Attribute::Native::Trait::Code 2.2015 + Moose::Meta::Attribute::Native::Trait::Counter 2.2015 + Moose::Meta::Attribute::Native::Trait::Hash 2.2015 + Moose::Meta::Attribute::Native::Trait::Number 2.2015 + Moose::Meta::Attribute::Native::Trait::String 2.2015 + Moose::Meta::Class 2.2015 + Moose::Meta::Class::Immutable::Trait 2.2015 + Moose::Meta::Instance 2.2015 + Moose::Meta::Method 2.2015 + Moose::Meta::Method::Accessor 2.2015 + Moose::Meta::Method::Accessor::Native 2.2015 + Moose::Meta::Method::Accessor::Native::Array 2.2015 + Moose::Meta::Method::Accessor::Native::Array::Writer 2.2015 + Moose::Meta::Method::Accessor::Native::Array::accessor 2.2015 + Moose::Meta::Method::Accessor::Native::Array::clear 2.2015 + Moose::Meta::Method::Accessor::Native::Array::count 2.2015 + Moose::Meta::Method::Accessor::Native::Array::delete 2.2015 + Moose::Meta::Method::Accessor::Native::Array::elements 2.2015 + Moose::Meta::Method::Accessor::Native::Array::first 2.2015 + Moose::Meta::Method::Accessor::Native::Array::first_index 2.2015 + Moose::Meta::Method::Accessor::Native::Array::get 2.2015 + Moose::Meta::Method::Accessor::Native::Array::grep 2.2015 + Moose::Meta::Method::Accessor::Native::Array::insert 2.2015 + Moose::Meta::Method::Accessor::Native::Array::is_empty 2.2015 + Moose::Meta::Method::Accessor::Native::Array::join 2.2015 + Moose::Meta::Method::Accessor::Native::Array::map 2.2015 + Moose::Meta::Method::Accessor::Native::Array::natatime 2.2015 + Moose::Meta::Method::Accessor::Native::Array::pop 2.2015 + Moose::Meta::Method::Accessor::Native::Array::push 2.2015 + Moose::Meta::Method::Accessor::Native::Array::reduce 2.2015 + Moose::Meta::Method::Accessor::Native::Array::set 2.2015 + Moose::Meta::Method::Accessor::Native::Array::shallow_clone 2.2015 + Moose::Meta::Method::Accessor::Native::Array::shift 2.2015 + Moose::Meta::Method::Accessor::Native::Array::shuffle 2.2015 + Moose::Meta::Method::Accessor::Native::Array::sort 2.2015 + Moose::Meta::Method::Accessor::Native::Array::sort_in_place 2.2015 + Moose::Meta::Method::Accessor::Native::Array::splice 2.2015 + Moose::Meta::Method::Accessor::Native::Array::uniq 2.2015 + Moose::Meta::Method::Accessor::Native::Array::unshift 2.2015 + Moose::Meta::Method::Accessor::Native::Bool::not 2.2015 + Moose::Meta::Method::Accessor::Native::Bool::set 2.2015 + Moose::Meta::Method::Accessor::Native::Bool::toggle 2.2015 + Moose::Meta::Method::Accessor::Native::Bool::unset 2.2015 + Moose::Meta::Method::Accessor::Native::Code::execute 2.2015 + Moose::Meta::Method::Accessor::Native::Code::execute_method 2.2015 + Moose::Meta::Method::Accessor::Native::Collection 2.2015 + Moose::Meta::Method::Accessor::Native::Counter::Writer 2.2015 + Moose::Meta::Method::Accessor::Native::Counter::dec 2.2015 + Moose::Meta::Method::Accessor::Native::Counter::inc 2.2015 + Moose::Meta::Method::Accessor::Native::Counter::reset 2.2015 + Moose::Meta::Method::Accessor::Native::Counter::set 2.2015 + Moose::Meta::Method::Accessor::Native::Hash 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::Writer 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::accessor 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::clear 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::count 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::defined 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::delete 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::elements 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::exists 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::get 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::is_empty 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::keys 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::kv 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::set 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::shallow_clone 2.2015 + Moose::Meta::Method::Accessor::Native::Hash::values 2.2015 + Moose::Meta::Method::Accessor::Native::Number::abs 2.2015 + Moose::Meta::Method::Accessor::Native::Number::add 2.2015 + Moose::Meta::Method::Accessor::Native::Number::div 2.2015 + Moose::Meta::Method::Accessor::Native::Number::mod 2.2015 + Moose::Meta::Method::Accessor::Native::Number::mul 2.2015 + Moose::Meta::Method::Accessor::Native::Number::set 2.2015 + Moose::Meta::Method::Accessor::Native::Number::sub 2.2015 + Moose::Meta::Method::Accessor::Native::Reader 2.2015 + Moose::Meta::Method::Accessor::Native::String::append 2.2015 + Moose::Meta::Method::Accessor::Native::String::chomp 2.2015 + Moose::Meta::Method::Accessor::Native::String::chop 2.2015 + Moose::Meta::Method::Accessor::Native::String::clear 2.2015 + Moose::Meta::Method::Accessor::Native::String::inc 2.2015 + Moose::Meta::Method::Accessor::Native::String::length 2.2015 + Moose::Meta::Method::Accessor::Native::String::match 2.2015 + Moose::Meta::Method::Accessor::Native::String::prepend 2.2015 + Moose::Meta::Method::Accessor::Native::String::replace 2.2015 + Moose::Meta::Method::Accessor::Native::String::substr 2.2015 + Moose::Meta::Method::Accessor::Native::Writer 2.2015 + Moose::Meta::Method::Augmented 2.2015 + Moose::Meta::Method::Constructor 2.2015 + Moose::Meta::Method::Delegation 2.2015 + Moose::Meta::Method::Destructor 2.2015 + Moose::Meta::Method::Meta 2.2015 + Moose::Meta::Method::Overridden 2.2015 + Moose::Meta::Mixin::AttributeCore 2.2015 + Moose::Meta::Object::Trait 2.2015 + Moose::Meta::Role 2.2015 + Moose::Meta::Role::Application 2.2015 + Moose::Meta::Role::Application::RoleSummation 2.2015 + Moose::Meta::Role::Application::ToClass 2.2015 + Moose::Meta::Role::Application::ToInstance 2.2015 + Moose::Meta::Role::Application::ToRole 2.2015 + Moose::Meta::Role::Attribute 2.2015 + Moose::Meta::Role::Composite 2.2015 + Moose::Meta::Role::Method 2.2015 + Moose::Meta::Role::Method::Conflicting 2.2015 + Moose::Meta::Role::Method::Required 2.2015 + Moose::Meta::TypeCoercion 2.2015 + Moose::Meta::TypeCoercion::Union 2.2015 + Moose::Meta::TypeConstraint 2.2015 + Moose::Meta::TypeConstraint::Class 2.2015 + Moose::Meta::TypeConstraint::DuckType 2.2015 + Moose::Meta::TypeConstraint::Enum 2.2015 + Moose::Meta::TypeConstraint::Parameterizable 2.2015 + Moose::Meta::TypeConstraint::Parameterized 2.2015 + Moose::Meta::TypeConstraint::Registry 2.2015 + Moose::Meta::TypeConstraint::Role 2.2015 + Moose::Meta::TypeConstraint::Union 2.2015 + Moose::Object 2.2015 + Moose::Role 2.2015 + Moose::Spec::Role 2.2015 + Moose::Unsweetened 2.2015 + Moose::Util 2.2015 + Moose::Util::MetaRole 2.2015 + Moose::Util::TypeConstraints 2.2015 + Moose::Util::TypeConstraints::Builtins 2.2015 + Test::Moose 2.2015 + metaclass 2.2015 + oose 2.2015 requirements: Carp 1.22 Class::Load 0.09 Class::Load::XS 0.01 Data::OptList 0.107 Devel::GlobalDestruction 0 - Devel::OverloadInfo 0.004 - Devel::StackTrace 1.33 + Devel::OverloadInfo 0.005 + Devel::StackTrace 2.03 Dist::CheckConflicts 0.02 Eval::Closure 0.04 ExtUtils::MakeMaker 0 - List::Util 1.45 + List::Util 1.56 MRO::Compat 0.05 Module::Runtime 0.014 Module::Runtime::Conflicts 0.002 @@ -5219,7 +5112,6 @@ DISTRIBUTIONS Params::Util 1.00 Scalar::Util 1.19 Sub::Exporter 0.980 - Sub::Identify 0 Sub::Name 0.20 Try::Tiny 0.17 parent 0.223 @@ -5552,10 +5444,10 @@ DISTRIBUTIONS Scalar::Util 1.14 XSLoader 0.02 perl 5.008005 - Mozilla-CA-20160104 - pathname: A/AB/ABH/Mozilla-CA-20160104.tar.gz + Mozilla-CA-20200520 + pathname: A/AB/ABH/Mozilla-CA-20200520.tar.gz provides: - Mozilla::CA 20160104 + Mozilla::CA 20200520 requirements: ExtUtils::MakeMaker 0 Test 0 @@ -5690,10 +5582,10 @@ DISTRIBUTIONS Test::More 0.98 parent 0 perl 5.008008 - Net-Fastly-1.09 - pathname: F/FA/FASTLY/Net-Fastly-1.09.tar.gz + Net-Fastly-1.12 + pathname: F/FA/FASTLY/Net-Fastly-1.12.tar.gz provides: - Net::Fastly 1.09 + Net::Fastly 1.12 Net::Fastly::Backend undef Net::Fastly::BelongsToServiceAndVersion undef Net::Fastly::Client undef @@ -5729,13 +5621,13 @@ DISTRIBUTIONS URI 0 URI::Escape 0 YAML 0 - Net-HTTP-6.17 - pathname: O/OA/OALDERS/Net-HTTP-6.17.tar.gz + Net-HTTP-6.21 + pathname: O/OA/OALDERS/Net-HTTP-6.21.tar.gz provides: - Net::HTTP 6.17 - Net::HTTP::Methods 6.17 - Net::HTTP::NB 6.17 - Net::HTTPS 6.17 + Net::HTTP 6.21 + Net::HTTP::Methods 6.21 + Net::HTTP::NB 6.21 + Net::HTTPS 6.21 requirements: Carp 0 Compress::Raw::Zlib 0 @@ -5746,7 +5638,6 @@ DISTRIBUTIONS base 0 perl 5.006002 strict 0 - vars 0 warnings 0 Net-OAuth-0.28 pathname: K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz @@ -5786,63 +5677,6 @@ DISTRIBUTIONS Test::More 0.66 Test::Warn 0.21 URI::Escape 3.28 - Net-OpenID-Common-1.20 - pathname: W/WR/WROG/Net-OpenID-Common-1.20.tar.gz - provides: - Net::OpenID::Common 1.20 - Net::OpenID::Extension 1.20 - Net::OpenID::Extension::SimpleRegistration 1.20 - Net::OpenID::Extension::SimpleRegistration::Request 1.20 - Net::OpenID::Extension::SimpleRegistration::Response 1.20 - Net::OpenID::ExtensionMessage 1.20 - Net::OpenID::IndirectMessage 1.20 - Net::OpenID::URIFetch 1.20 - Net::OpenID::URIFetch::Response 1.20 - Net::OpenID::Yadis 1.20 - Net::OpenID::Yadis::Service 1.20 - OpenID::util 1.20 - requirements: - Crypt::DH::GMP 0.00011 - Encode 0 - ExtUtils::MakeMaker 0 - HTML::Parser 3.40 - HTTP::Headers::Util 0 - HTTP::Message 5.814 - HTTP::Request 0 - HTTP::Status 0 - MIME::Base64 0 - Math::BigInt 0 - Time::Local 0 - XML::Simple 0 - Net-OpenID-Consumer-1.18 - pathname: W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz - provides: - Net::OpenID::Association 1.18 - Net::OpenID::ClaimedIdentity 1.18 - Net::OpenID::Consumer 1.18 - Net::OpenID::VerifiedIdentity 1.18 - requirements: - Digest::SHA 0 - ExtUtils::MakeMaker 0 - HTTP::Request 0 - JSON 0 - LWP::UserAgent 0 - MIME::Base64 0 - Net::OpenID::Common 1.19 - Storable 0 - Time::Local 0 - URI 0 - Net-OpenID-Server-1.09 - pathname: R/RO/ROBN/Net-OpenID-Server-1.09.tar.gz - provides: - Net::OpenID::Server 1.09 - requirements: - Digest::SHA 0 - ExtUtils::MakeMaker 6.31 - MIME::Base64 0 - Net::OpenID::Common 1.11 - Test::More 0 - URI 0 Net-SSLeay-1.82 pathname: M/MI/MIKEM/Net-SSLeay-1.82.tar.gz provides: @@ -5887,37 +5721,37 @@ DISTRIBUTIONS POSIX 0 Socket 0 Time::HiRes 0 - Net-Twitter-4.01042 - pathname: M/MM/MMIMS/Net-Twitter-4.01042.tar.gz - provides: - Net::Identica 4.01042 - Net::Twitter 4.01042 - Net::Twitter::API 4.01042 - Net::Twitter::Core 4.01042 - Net::Twitter::Error 4.01042 - Net::Twitter::Meta::Method 4.01042 - Net::Twitter::OAuth 4.01042 - Net::Twitter::Role::API::Lists 4.01042 - Net::Twitter::Role::API::REST 4.01042 - Net::Twitter::Role::API::RESTv1_1 4.01042 - Net::Twitter::Role::API::Search 4.01042 - Net::Twitter::Role::API::Search::Trends 4.01042 - Net::Twitter::Role::API::TwitterVision 4.01042 - Net::Twitter::Role::API::Upload 4.01042 - Net::Twitter::Role::API::UploadMedia 4.01042 - Net::Twitter::Role::AppAuth 4.01042 - Net::Twitter::Role::AutoCursor 4.01042 - Net::Twitter::Role::InflateObjects 4.01042 - Net::Twitter::Role::Legacy 4.01042 - Net::Twitter::Role::OAuth 4.01042 - Net::Twitter::Role::RateLimit 4.01042 - Net::Twitter::Role::RetryOnError 4.01042 - Net::Twitter::Role::SimulateCursors 4.01042 - Net::Twitter::Role::WrapError 4.01042 - Net::Twitter::Role::WrapResult 4.01042 - Net::Twitter::Search 4.01042 - Net::Twitter::Types 4.01042 - Net::Twitter::WrappedResult 4.01042 + Net-Twitter-4.01043 + pathname: M/MM/MMIMS/Net-Twitter-4.01043.tar.gz + provides: + Net::Identica 4.01043 + Net::Twitter 4.01043 + Net::Twitter::API 4.01043 + Net::Twitter::Core 4.01043 + Net::Twitter::Error 4.01043 + Net::Twitter::Meta::Method 4.01043 + Net::Twitter::OAuth 4.01043 + Net::Twitter::Role::API::Lists 4.01043 + Net::Twitter::Role::API::REST 4.01043 + Net::Twitter::Role::API::RESTv1_1 4.01043 + Net::Twitter::Role::API::Search 4.01043 + Net::Twitter::Role::API::Search::Trends 4.01043 + Net::Twitter::Role::API::TwitterVision 4.01043 + Net::Twitter::Role::API::Upload 4.01043 + Net::Twitter::Role::API::UploadMedia 4.01043 + Net::Twitter::Role::AppAuth 4.01043 + Net::Twitter::Role::AutoCursor 4.01043 + Net::Twitter::Role::InflateObjects 4.01043 + Net::Twitter::Role::Legacy 4.01043 + Net::Twitter::Role::OAuth 4.01043 + Net::Twitter::Role::RateLimit 4.01043 + Net::Twitter::Role::RetryOnError 4.01043 + Net::Twitter::Role::SimulateCursors 4.01043 + Net::Twitter::Role::WrapError 4.01043 + Net::Twitter::Role::WrapResult 4.01043 + Net::Twitter::Search 4.01043 + Net::Twitter::Types 4.01043 + Net::Twitter::WrappedResult 4.01043 requirements: Carp::Clan 0 Class::Load 0 @@ -5969,10 +5803,10 @@ DISTRIBUTIONS Storable 2.11 Test::More 0.47 perl 5.005 - OrePAN2-0.46 - pathname: O/OA/OALDERS/OrePAN2-0.46.tar.gz + OrePAN2-0.48 + pathname: O/OA/OALDERS/OrePAN2-0.48.tar.gz provides: - OrePAN2 0.46 + OrePAN2 0.48 OrePAN2::Auditor undef OrePAN2::CLI::Indexer undef OrePAN2::CLI::Inject undef @@ -5983,10 +5817,11 @@ DISTRIBUTIONS OrePAN2::Repository::Cache undef requirements: Archive::Extract 0.72 - Archive::Tar 0 + Archive::Tar 1.46 CPAN::Meta 2.13156 Class::Accessor::Lite 0.05 Digest::MD5 0 + ExtUtils::MakeMaker 7.06 File::Path 0 File::Temp 0 File::pushd 0 @@ -6004,7 +5839,7 @@ DISTRIBUTIONS Moo 1.007000 MooX::Options 0 Parse::CPAN::Meta 1.4414 - Parse::CPAN::Packages 2.39 + Parse::CPAN::Packages::Fast 0.09 Parse::LocalDistribution 0.14 Parse::PMFile 0.29 Path::Tiny 0 @@ -6014,6 +5849,7 @@ DISTRIBUTIONS Type::Params 0 Types::URI 0 autodie 0 + feature 0 parent 0 perl 5.008005 version 0.9912 @@ -6363,12 +6199,12 @@ DISTRIBUTIONS strict 0 vars 0 warnings 0 - Params-ValidationCompiler-0.24 - pathname: D/DR/DROLSKY/Params-ValidationCompiler-0.24.tar.gz + Params-ValidationCompiler-0.30 + pathname: D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz provides: - Params::ValidationCompiler 0.24 - Params::ValidationCompiler::Compiler 0.24 - Params::ValidationCompiler::Exceptions 0.24 + Params::ValidationCompiler 0.30 + Params::ValidationCompiler::Compiler 0.30 + Params::ValidationCompiler::Exceptions 0.30 requirements: B 0 Carp 0 @@ -6821,68 +6657,75 @@ DISTRIBUTIONS perl 5.008 strict 0 warnings 0 - Pithub-0.01033 - pathname: O/OA/OALDERS/Pithub-0.01033.tar.gz - provides: - Pithub 0.01033 - Pithub::Base 0.01033 - Pithub::Events 0.01033 - Pithub::Gists 0.01033 - Pithub::Gists::Comments 0.01033 - Pithub::GitData 0.01033 - Pithub::GitData::Blobs 0.01033 - Pithub::GitData::Commits 0.01033 - Pithub::GitData::References 0.01033 - Pithub::GitData::Tags 0.01033 - Pithub::GitData::Trees 0.01033 - Pithub::Issues 0.01033 - Pithub::Issues::Assignees 0.01033 - Pithub::Issues::Comments 0.01033 - Pithub::Issues::Events 0.01033 - Pithub::Issues::Labels 0.01033 - Pithub::Issues::Milestones 0.01033 - Pithub::Orgs 0.01033 - Pithub::Orgs::Members 0.01033 - Pithub::Orgs::Teams 0.01033 - Pithub::PullRequests 0.01033 - Pithub::PullRequests::Comments 0.01033 - Pithub::Repos 0.01033 - Pithub::Repos::Collaborators 0.01033 - Pithub::Repos::Commits 0.01033 - Pithub::Repos::Contents 0.01033 - Pithub::Repos::Downloads 0.01033 - Pithub::Repos::Forks 0.01033 - Pithub::Repos::Hooks 0.01033 - Pithub::Repos::Keys 0.01033 - Pithub::Repos::Releases 0.01033 - Pithub::Repos::Releases::Assets 0.01033 - Pithub::Repos::Starring 0.01033 - Pithub::Repos::Stats 0.01033 - Pithub::Repos::Statuses 0.01033 - Pithub::Repos::Watching 0.01033 - Pithub::Result 0.01033 - Pithub::Result::SharedCache 0.01033 - Pithub::Search 0.01033 - Pithub::SearchV3 0.01033 - Pithub::Users 0.01033 - Pithub::Users::Emails 0.01033 - Pithub::Users::Followers 0.01033 - Pithub::Users::Keys 0.01033 + Pithub-0.01036 + pathname: O/OA/OALDERS/Pithub-0.01036.tar.gz + provides: + Pithub 0.01036 + Pithub::Base 0.01036 + Pithub::Events 0.01036 + Pithub::Gists 0.01036 + Pithub::Gists::Comments 0.01036 + Pithub::GitData 0.01036 + Pithub::GitData::Blobs 0.01036 + Pithub::GitData::Commits 0.01036 + Pithub::GitData::References 0.01036 + Pithub::GitData::Tags 0.01036 + Pithub::GitData::Trees 0.01036 + Pithub::Issues 0.01036 + Pithub::Issues::Assignees 0.01036 + Pithub::Issues::Comments 0.01036 + Pithub::Issues::Events 0.01036 + Pithub::Issues::Labels 0.01036 + Pithub::Issues::Milestones 0.01036 + Pithub::Markdown 0.01036 + Pithub::Orgs 0.01036 + Pithub::Orgs::Members 0.01036 + Pithub::Orgs::Teams 0.01036 + Pithub::PullRequests 0.01036 + Pithub::PullRequests::Comments 0.01036 + Pithub::PullRequests::Reviewers 0.01036 + Pithub::Repos 0.01036 + Pithub::Repos::Collaborators 0.01036 + Pithub::Repos::Commits 0.01036 + Pithub::Repos::Contents 0.01036 + Pithub::Repos::Downloads 0.01036 + Pithub::Repos::Forks 0.01036 + Pithub::Repos::Hooks 0.01036 + Pithub::Repos::Keys 0.01036 + Pithub::Repos::Releases 0.01036 + Pithub::Repos::Releases::Assets 0.01036 + Pithub::Repos::Starring 0.01036 + Pithub::Repos::Stats 0.01036 + Pithub::Repos::Statuses 0.01036 + Pithub::Repos::Watching 0.01036 + Pithub::Result 0.01036 + Pithub::Result::SharedCache 0.01036 + Pithub::Search 0.01036 + Pithub::SearchV3 0.01036 + Pithub::Users 0.01036 + Pithub::Users::Emails 0.01036 + Pithub::Users::Followers 0.01036 + Pithub::Users::Keys 0.01036 requirements: Array::Iterator 0 - Cache::LRU 0.04 + Cache::LRU 0 + Carp 0 ExtUtils::MakeMaker 0 - HTTP::Message 0 - JSON::MaybeXS 1.003003 - LWP::Protocol::https 0 + HTTP::Headers 0 + HTTP::Request 0 + HTTP::Request::Common 0 + JSON::MaybeXS 0 LWP::UserAgent 0 - Moo 1.001000 - Plack-1.0044 - pathname: M/MI/MIYAGAWA/Plack-1.0044.tar.gz + Moo 0 + Moo::Role 0 + URI 0 + perl 5.010 + Plack-1.0048 + pathname: M/MI/MIYAGAWA/Plack-1.0048.tar.gz provides: HTTP::Message::PSGI undef HTTP::Server::PSGI undef - Plack 1.0044 + Plack 1.0048 Plack::App::CGIBin undef Plack::App::Cascade undef Plack::App::Directory undef @@ -6941,9 +6784,9 @@ DISTRIBUTIONS Plack::Middleware::XFramework undef Plack::Middleware::XSendfile undef Plack::Recursive::ForwardRequest undef - Plack::Request 1.0044 + Plack::Request 1.0048 Plack::Request::Upload undef - Plack::Response 1.0044 + Plack::Response 1.0048 Plack::Runner undef Plack::TempBuffer undef Plack::Test undef @@ -6963,7 +6806,7 @@ DISTRIBUTIONS File::ShareDir 1.00 File::ShareDir::Install 0.06 Filesys::Notify::Simple 0 - HTTP::Entity::Parser 0.17 + HTTP::Entity::Parser 0.25 HTTP::Headers::Fast 0.18 HTTP::Message 5.814 HTTP::Tiny 0.034 @@ -7340,13 +7183,13 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 Scalar::Util 0 perl 5.006 - Scalar-List-Utils-1.55 - pathname: P/PE/PEVANS/Scalar-List-Utils-1.55.tar.gz + Scalar-List-Utils-1.56 + pathname: P/PE/PEVANS/Scalar-List-Utils-1.56.tar.gz provides: - List::Util 1.55 - List::Util::XS 1.55 - Scalar::Util 1.55 - Sub::Util 1.55 + List::Util 1.56 + List::Util::XS 1.56 + Scalar::Util 1.56 + Sub::Util 1.56 requirements: ExtUtils::MakeMaker 0 perl 5.006 @@ -7879,17 +7722,6 @@ DISTRIBUTIONS Try::Tiny 0.07 strict 0 warnings 0 - Test-HTTP-Server-Simple-0.11 - pathname: A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz - provides: - Test::HTTP::Server::Simple 0.11 - requirements: - ExtUtils::MakeMaker 0 - HTTP::Server::Simple 0 - NEXT 0 - Test::Builder 0 - Test::Builder::Tester 1.04 - Test::More 0 Test-InDistDir-1.112071 pathname: M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz provides: @@ -7946,30 +7778,6 @@ DISTRIBUTIONS Test::Builder::Tester 1.02 Test::More 0.42 overload 0 - Test-OpenID-Consumer-0.03 - pathname: T/TS/TSIBLEY/Test-OpenID-Consumer-0.03.tar.gz - provides: - Test::OpenID::Consumer 0.03 - requirements: - Cache::FileCache 0 - ExtUtils::MakeMaker 6.36 - HTTP::Server::Simple 0 - LWP::UserAgent::Paranoid 0.97 - Net::OpenID::Consumer 0 - Test::Builder 0 - Test::HTTP::Server::Simple 0 - Test-OpenID-Server-0.03 - pathname: T/TS/TSIBLEY/Test-OpenID-Server-0.03.tar.gz - provides: - Test::OpenID::Server 0.03 - requirements: - ExtUtils::MakeMaker 6.36 - HTTP::Server::Simple 0 - Net::OpenID::Server 0 - Test::HTTP::Server::Simple 0 - Test::OpenID::Consumer 0 - Test::WWW::Mechanize 0 - Test::Warnings 0.009 Test-Perl-Critic-1.03 pathname: T/TH/THALJEF/Test-Perl-Critic-1.03.tar.gz provides: @@ -8052,84 +7860,6 @@ DISTRIBUTIONS Test::Builder::Module 0 Test::More 0.88 perl 5.008_001 - Test-Simple-1.302175 - pathname: E/EX/EXODIST/Test-Simple-1.302175.tar.gz - provides: - Test2 1.302175 - Test2::API 1.302175 - Test2::API::Breakage 1.302175 - Test2::API::Context 1.302175 - Test2::API::Instance 1.302175 - Test2::API::Stack 1.302175 - Test2::Event 1.302175 - Test2::Event::Bail 1.302175 - Test2::Event::Diag 1.302175 - Test2::Event::Encoding 1.302175 - Test2::Event::Exception 1.302175 - Test2::Event::Fail 1.302175 - Test2::Event::Generic 1.302175 - Test2::Event::Note 1.302175 - Test2::Event::Ok 1.302175 - Test2::Event::Pass 1.302175 - Test2::Event::Plan 1.302175 - Test2::Event::Skip 1.302175 - Test2::Event::Subtest 1.302175 - Test2::Event::TAP::Version 1.302175 - Test2::Event::V2 1.302175 - Test2::Event::Waiting 1.302175 - Test2::EventFacet 1.302175 - Test2::EventFacet::About 1.302175 - Test2::EventFacet::Amnesty 1.302175 - Test2::EventFacet::Assert 1.302175 - Test2::EventFacet::Control 1.302175 - Test2::EventFacet::Error 1.302175 - Test2::EventFacet::Hub 1.302175 - Test2::EventFacet::Info 1.302175 - Test2::EventFacet::Info::Table 1.302175 - Test2::EventFacet::Meta 1.302175 - Test2::EventFacet::Parent 1.302175 - Test2::EventFacet::Plan 1.302175 - Test2::EventFacet::Render 1.302175 - Test2::EventFacet::Trace 1.302175 - Test2::Formatter 1.302175 - Test2::Formatter::TAP 1.302175 - Test2::Hub 1.302175 - Test2::Hub::Interceptor 1.302175 - Test2::Hub::Interceptor::Terminator 1.302175 - Test2::Hub::Subtest 1.302175 - Test2::IPC 1.302175 - Test2::IPC::Driver 1.302175 - Test2::IPC::Driver::Files 1.302175 - Test2::Tools::Tiny 1.302175 - Test2::Util 1.302175 - Test2::Util::ExternalMeta 1.302175 - Test2::Util::Facets2Legacy 1.302175 - Test2::Util::HashBase 1.302175 - Test2::Util::Trace 1.302175 - Test::Builder 1.302175 - Test::Builder::Formatter 1.302175 - Test::Builder::IO::Scalar 2.114 - Test::Builder::Module 1.302175 - Test::Builder::Tester 1.302175 - Test::Builder::Tester::Color 1.302175 - Test::Builder::Tester::Tie 1.302175 - Test::Builder::TodoDiag 1.302175 - Test::More 1.302175 - Test::Simple 1.302175 - Test::Tester 1.302175 - Test::Tester::Capture 1.302175 - Test::Tester::CaptureRunner 1.302175 - Test::Tester::Delegate 1.302175 - Test::use::ok 1.302175 - ok 1.302175 - requirements: - ExtUtils::MakeMaker 0 - File::Spec 0 - File::Temp 0 - Scalar::Util 1.13 - Storable 0 - perl 5.006002 - utf8 0 Test-SubCalls-1.09 pathname: A/AD/ADAMK/Test-SubCalls-1.09.tar.gz provides: @@ -8154,16 +7884,15 @@ DISTRIBUTIONS Test::SharedFork 0.29 Time::HiRes 0 perl 5.008001 - Test-Vars-0.014 - pathname: D/DR/DROLSKY/Test-Vars-0.014.tar.gz + Test-Vars-0.015 + pathname: G/GF/GFUJI/Test-Vars-0.015.tar.gz provides: - Test::Vars 0.014 + Test::Vars 0.015 requirements: B 0 ExtUtils::MakeMaker 6.59 List::Util 1.33 Module::Build::Tiny 0.035 - Test::More 0.88 parent 0 perl 5.010000 Test-WWW-Mechanize-1.48 @@ -8211,19 +7940,6 @@ DISTRIBUTIONS Test::Builder 0.13 Test::Builder::Tester 1.02 perl 5.006 - Test-Warnings-0.026 - pathname: E/ET/ETHER/Test-Warnings-0.026.tar.gz - provides: - Test::Warnings 0.026 - requirements: - Carp 0 - Exporter 0 - ExtUtils::MakeMaker 0 - Test::Builder 0 - parent 0 - perl 5.006 - strict 0 - warnings 0 Text-CSV_XS-1.34 pathname: H/HM/HMBRAND/Text-CSV_XS-1.34.tgz provides: @@ -8528,52 +8244,53 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - URI-1.72 - pathname: E/ET/ETHER/URI-1.72.tar.gz - provides: - URI 1.72 - URI::Escape 3.31 - URI::Heuristic 4.20 - URI::IRI 1.72 - URI::QueryParam 1.72 - URI::Split 1.72 - URI::URL 5.04 - URI::WithBase 2.20 - URI::data 1.72 - URI::file 4.21 - URI::file::Base 1.72 - URI::file::FAT 1.72 - URI::file::Mac 1.72 - URI::file::OS2 1.72 - URI::file::QNX 1.72 - URI::file::Unix 1.72 - URI::file::Win32 1.72 - URI::ftp 1.72 - URI::gopher 1.72 - URI::http 1.72 - URI::https 1.72 - URI::ldap 1.72 - URI::ldapi 1.72 - URI::ldaps 1.72 - URI::mailto 1.72 - URI::mms 1.72 - URI::news 1.72 - URI::nntp 1.72 - URI::pop 1.72 - URI::rlogin 1.72 - URI::rsync 1.72 - URI::rtsp 1.72 - URI::rtspu 1.72 - URI::sftp 1.72 - URI::sip 1.72 - URI::sips 1.72 - URI::snews 1.72 - URI::ssh 1.72 - URI::telnet 1.72 - URI::tn3270 1.72 - URI::urn 1.72 - URI::urn::isbn 1.72 - URI::urn::oid 1.72 + URI-5.09 + pathname: O/OA/OALDERS/URI-5.09.tar.gz + provides: + URI 5.09 + URI::Escape 5.09 + URI::Heuristic 5.09 + URI::IRI 5.09 + URI::QueryParam 5.09 + URI::Split 5.09 + URI::URL 5.09 + URI::WithBase 5.09 + URI::data 5.09 + URI::file 5.09 + URI::file::Base 5.09 + URI::file::FAT 5.09 + URI::file::Mac 5.09 + URI::file::OS2 5.09 + URI::file::QNX 5.09 + URI::file::Unix 5.09 + URI::file::Win32 5.09 + URI::ftp 5.09 + URI::gopher 5.09 + URI::http 5.09 + URI::https 5.09 + URI::ldap 5.09 + URI::ldapi 5.09 + URI::ldaps 5.09 + URI::mailto 5.09 + URI::mms 5.09 + URI::news 5.09 + URI::nntp 5.09 + URI::nntps 5.09 + URI::pop 5.09 + URI::rlogin 5.09 + URI::rsync 5.09 + URI::rtsp 5.09 + URI::rtspu 5.09 + URI::sftp 5.09 + URI::sip 5.09 + URI::sips 5.09 + URI::snews 5.09 + URI::ssh 5.09 + URI::telnet 5.09 + URI::tn3270 5.09 + URI::urn 5.09 + URI::urn::isbn 5.09 + URI::urn::oid 5.09 requirements: Carp 0 Cwd 0 @@ -8875,13 +8592,6 @@ DISTRIBUTIONS XML::SAX 0.15 XML::SAX::Expat 0 perl 5.008 - XSLoader-0.24 - pathname: S/SA/SAPER/XSLoader-0.24.tar.gz - provides: - XSLoader 0.24 - requirements: - ExtUtils::MakeMaker 0 - Test::More 0.47 YAML-1.24 pathname: T/TI/TINITA/YAML-1.24.tar.gz provides: @@ -8910,11 +8620,11 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 perl 5.008001 - YAML-LibYAML-0.75 - pathname: T/TI/TINITA/YAML-LibYAML-0.75.tar.gz + YAML-LibYAML-0.83 + pathname: T/TI/TINITA/YAML-LibYAML-0.83.tar.gz provides: - YAML::LibYAML 0.75 - YAML::XS 0.75 + YAML::LibYAML 0.83 + YAML::XS 0.83 YAML::XS::LibYAML undef requirements: ExtUtils::MakeMaker 0 @@ -8968,79 +8678,35 @@ DISTRIBUTIONS XSLoader 0 lib 0 perl 5.008001 - libnet-3.11 - pathname: S/SH/SHAY/libnet-3.11.tar.gz - provides: - Net undef - Net::Cmd 3.11 - Net::Config 3.11 - Net::Domain 3.11 - Net::FTP 3.11 - Net::FTP::A 3.11 - Net::FTP::E 3.11 - Net::FTP::I 3.11 - Net::FTP::L 3.11 - Net::FTP::_SSL_SingleSessionCache 3.11 - Net::FTP::dataconn 3.11 - Net::NNTP 3.11 - Net::NNTP::_SSL 3.11 - Net::Netrc 3.11 - Net::POP3 3.11 - Net::POP3::_SSL 3.11 - Net::SMTP 3.11 - Net::SMTP::_SSL 3.11 - Net::Time 3.11 - requirements: - Carp 0 - Errno 0 - Exporter 0 - ExtUtils::MakeMaker 6.64 - Fcntl 0 - File::Basename 0 - FileHandle 0 - Getopt::Std 0 - IO::File 0 - IO::Select 0 - IO::Socket 1.05 - POSIX 0 - Socket 2.016 - Symbol 0 - Time::Local 0 - constant 0 - perl 5.008001 - strict 0 - utf8 0 - vars 0 - warnings 0 - libwww-perl-6.29 - pathname: O/OA/OALDERS/libwww-perl-6.29.tar.gz - provides: - LWP 6.29 - LWP::Authen::Basic 6.29 - LWP::Authen::Digest 6.29 - LWP::Authen::Ntlm 6.29 - LWP::ConnCache 6.29 - LWP::Debug 6.29 - LWP::Debug::TraceHTTP 6.29 - LWP::DebugFile 6.29 - LWP::MemberMixin 6.29 - LWP::Protocol 6.29 - LWP::Protocol::MyFTP 6.29 - LWP::Protocol::cpan 6.29 - LWP::Protocol::data 6.29 - LWP::Protocol::file 6.29 - LWP::Protocol::ftp 6.29 - LWP::Protocol::gopher 6.29 - LWP::Protocol::http 6.29 - LWP::Protocol::loopback 6.29 - LWP::Protocol::mailto 6.29 - LWP::Protocol::nntp 6.29 - LWP::Protocol::nogo 6.29 - LWP::RobotUA 6.29 - LWP::Simple 6.29 - LWP::UserAgent 6.29 + libwww-perl-6.55 + pathname: O/OA/OALDERS/libwww-perl-6.55.tar.gz + provides: + LWP 6.55 + LWP::Authen::Basic 6.55 + LWP::Authen::Digest 6.55 + LWP::Authen::Ntlm 6.55 + LWP::ConnCache 6.55 + LWP::Debug 6.55 + LWP::Debug::TraceHTTP 6.55 + LWP::DebugFile 6.55 + LWP::MemberMixin 6.55 + LWP::Protocol 6.55 + LWP::Protocol::cpan 6.55 + LWP::Protocol::data 6.55 + LWP::Protocol::file 6.55 + LWP::Protocol::ftp 6.55 + LWP::Protocol::gopher 6.55 + LWP::Protocol::http 6.55 + LWP::Protocol::loopback 6.55 + LWP::Protocol::mailto 6.55 + LWP::Protocol::nntp 6.55 + LWP::Protocol::nogo 6.55 + LWP::RobotUA 6.55 + LWP::Simple 6.55 + LWP::UserAgent 6.55 libwww::perl undef requirements: + CPAN::Meta::Requirements 2.120620 Digest::MD5 0 Encode 2.12 Encode::Locale 0 @@ -9051,19 +8717,19 @@ DISTRIBUTIONS HTML::Entities 0 HTML::HeadParser 0 HTTP::Cookies 6 - HTTP::Daemon 6 HTTP::Date 6 HTTP::Negotiate 6 HTTP::Request 6 HTTP::Request::Common 6 HTTP::Response 6 - HTTP::Status 6 + HTTP::Status 6.07 IO::Select 0 IO::Socket 0 LWP::MediaTypes 6 MIME::Base64 2.1 + Module::Metadata 0 Net::FTP 2.58 - Net::HTTP 6.07 + Net::HTTP 6.18 Scalar::Util 0 Try::Tiny 0 URI 1.10 @@ -9120,13 +8786,3 @@ DISTRIBUTIONS indirect 0 multidimensional 0 perl 5.006 - version-0.9924 - pathname: J/JP/JPEACOCK/version-0.9924.tar.gz - provides: - version 0.9924 - version::regex 0.9924 - version::vpp 0.9924 - version::vxs 0.9924 - requirements: - ExtUtils::MakeMaker 0 - perl 5.006002 From 8399420b0d9d3abbb13a50d93eb9696bff5667d2 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Fri, 16 Jul 2021 12:20:42 +0200 Subject: [PATCH 002/578] respond to deserialization errors with json If there is an error while deserializing, it is nicer to respond with a JSON response, rather than plain text. Use a custom Deserialize action class, which puts the error into the stash where either the Serialize action class or the JSON view expects. And then skip the rest of the request. --- lib/MetaCPAN/Server/Action/Deserialize.pm | 28 +++++++++++++++ lib/MetaCPAN/Server/Controller.pm | 6 ++-- t/server/controller/bad_content.t | 42 +++++++++++++++++++++++ 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 lib/MetaCPAN/Server/Action/Deserialize.pm create mode 100644 t/server/controller/bad_content.t diff --git a/lib/MetaCPAN/Server/Action/Deserialize.pm b/lib/MetaCPAN/Server/Action/Deserialize.pm new file mode 100644 index 000000000..54a3469d9 --- /dev/null +++ b/lib/MetaCPAN/Server/Action/Deserialize.pm @@ -0,0 +1,28 @@ +package MetaCPAN::Server::Action::Deserialize; +use Moose; +extends 'Catalyst::Action::Deserialize'; +use Cpanel::JSON::XS qw(encode_json); + +around serialize_bad_request => sub { + my $orig = shift; + my $self = shift; + my ( $c, $content_type, $error ) = @_; + + $c->res->status(400); + + my $full_error + = "Content-Type $content_type had a problem with your request.\n$error"; + $full_error =~ s{ at .*? line \d+\.\n\z}{}; + + $c->stash( + { + rest => { + error => $full_error, + }, + } + ); + + return undef; +}; + +1; diff --git a/lib/MetaCPAN/Server/Controller.pm b/lib/MetaCPAN/Server/Controller.pm index 7a3985d97..1c6ab8fa6 100644 --- a/lib/MetaCPAN/Server/Controller.pm +++ b/lib/MetaCPAN/Server/Controller.pm @@ -93,13 +93,13 @@ sub get : Path('') : Args(1) { ['The requested field(s) could not be found'] ); } -sub all : Path('') : Args(0) : ActionClass('Deserialize') { +sub all : Path('') : Args(0) : ActionClass('~Deserialize') { my ( $self, $c ) = @_; $c->req->params->{q} ||= '*' unless ( $c->req->data ); $c->forward('search'); } -sub search : Path('_search') : ActionClass('Deserialize') { +sub search : Path('_search') : ActionClass('~Deserialize') { my ( $self, $c ) = @_; my $req = $c->req; @@ -129,7 +129,7 @@ sub search : Path('_search') : ActionClass('Deserialize') { } or do { $self->internal_error( $c, $@ ) }; } -sub join : ActionClass('Deserialize') { +sub join : ActionClass('~Deserialize') { my ( $self, $c ) = @_; my $joins = $self->relationships; my @req_joins = $c->req->param('join'); diff --git a/t/server/controller/bad_content.t b/t/server/controller/bad_content.t new file mode 100644 index 000000000..a06a0b800 --- /dev/null +++ b/t/server/controller/bad_content.t @@ -0,0 +1,42 @@ +use strict; +use warnings; +use lib 't/lib'; + +use Cpanel::JSON::XS (); +use MetaCPAN::Server (); +use MetaCPAN::TestHelpers; +use Plack::Test; +use Test::More; +use Ref::Util qw( is_arrayref is_hashref ); + +my $app = MetaCPAN::Server->new->to_app(); +my $test = Plack::Test->create($app); + +subtest "broken body content" => sub { + my $source = q[ + { "query : { } } + ]; + + for my $type (qw( release file )) { + my $url = "/$type/_search"; + my $request = HTTP::Request->new( 'POST', $url, [], $source ); + + subtest "check with '$type' controller" => sub { + my $res = $test->request($request); + + ok( $res, "GET $url" ); + is( $res->code, 400, "code 400" ); + is( + $res->header('content-type'), + 'application/json; charset=utf-8', + 'Content-type' + ); + my $content + = eval { Cpanel::JSON::XS::decode_json( $res->content ) }; + ok( is_hashref($content), 'content is a JSON object' ); + ok $content->{error}, 'content includes includes error'; + }; + } +}; + +done_testing; From febff290f509db740c20fbaf8cb8714138eb141b Mon Sep 17 00:00:00 2001 From: "Hugo (domibay-hugo)" Date: Thu, 19 Aug 2021 23:25:40 +0100 Subject: [PATCH 003/578] merge Bad Request tests --- t/server/controller/bad_content.t | 42 ---------------- t/server/controller/bad_request.t | 79 +++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 42 deletions(-) delete mode 100644 t/server/controller/bad_content.t create mode 100644 t/server/controller/bad_request.t diff --git a/t/server/controller/bad_content.t b/t/server/controller/bad_content.t deleted file mode 100644 index a06a0b800..000000000 --- a/t/server/controller/bad_content.t +++ /dev/null @@ -1,42 +0,0 @@ -use strict; -use warnings; -use lib 't/lib'; - -use Cpanel::JSON::XS (); -use MetaCPAN::Server (); -use MetaCPAN::TestHelpers; -use Plack::Test; -use Test::More; -use Ref::Util qw( is_arrayref is_hashref ); - -my $app = MetaCPAN::Server->new->to_app(); -my $test = Plack::Test->create($app); - -subtest "broken body content" => sub { - my $source = q[ - { "query : { } } - ]; - - for my $type (qw( release file )) { - my $url = "/$type/_search"; - my $request = HTTP::Request->new( 'POST', $url, [], $source ); - - subtest "check with '$type' controller" => sub { - my $res = $test->request($request); - - ok( $res, "GET $url" ); - is( $res->code, 400, "code 400" ); - is( - $res->header('content-type'), - 'application/json; charset=utf-8', - 'Content-type' - ); - my $content - = eval { Cpanel::JSON::XS::decode_json( $res->content ) }; - ok( is_hashref($content), 'content is a JSON object' ); - ok $content->{error}, 'content includes includes error'; - }; - } -}; - -done_testing; diff --git a/t/server/controller/bad_request.t b/t/server/controller/bad_request.t new file mode 100644 index 000000000..5f2d1b710 --- /dev/null +++ b/t/server/controller/bad_request.t @@ -0,0 +1,79 @@ +use strict; +use warnings; +use lib 't/lib'; + +use Cpanel::JSON::XS qw( decode_json ); +use MetaCPAN::Server (); +use Plack::Test qw(); +use Test::More; +use Ref::Util qw( is_hashref ); + +my $app = MetaCPAN::Server->new->to_app(); +my $test = Plack::Test->create($app); + +my $sbigqueryjson = q({ + "query": { + "query_string": { + "query": "cpanfile" + } + }, + "filter": { + "and": [ + { + "term": { + "status": "latest" + } + } + ] + }, + "fields": ["distribution", "release", "module.name", "name", "path", "download_url"], + "size": "5001" +}); + +my @tests = ( + [ + 'broken body content', + 400, + q[ { "query : { } } ], + 'error', + 'unexpected end of string', + ], + [ + 'plain text query', + 400, 'some content as invalid JSON', + 'error', 'malformed JSON string', + ], + [ + 'big result query', 416, $sbigqueryjson, 'message', 'exceeds maximum', + ], +); + +for (@tests) { + my ( $title, $code, $query, $field, $check ) = @$_; + + subtest $title => sub { + for my $type (qw( release file )) { + my $url = "/$type/_search"; + my $request = HTTP::Request->new( 'POST', $url, [], $query ); + + subtest "check with '$type' controller" => sub { + my $res = $test->request($request); + + ok( $res, "GET $url" ); + is( $res->code, $code, "code [$code] as expected" ); + is( + $res->header('content-type'), + 'application/json; charset=utf-8', + 'Content-type' + ); + my $content = eval { decode_json( $res->content ) }; + ok( is_hashref($content), 'response is a JSON object' ); + ok $content->{$field}, "response includes field '$field'"; + ok $content->{$field} =~ /$check/i, + 'response error message as expected'; + }; + } + }; +} + +done_testing; From a8d7de3e6a49214a238cd95747ea50afa80fba6f Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Sun, 29 Aug 2021 09:36:43 +0200 Subject: [PATCH 004/578] tidy --- t/server/controller/bad_request.t | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t/server/controller/bad_request.t b/t/server/controller/bad_request.t index 5f2d1b710..7af2ce5eb 100644 --- a/t/server/controller/bad_request.t +++ b/t/server/controller/bad_request.t @@ -40,7 +40,7 @@ my @tests = ( ], [ 'plain text query', - 400, 'some content as invalid JSON', + 400, 'some content as invalid JSON', 'error', 'malformed JSON string', ], [ @@ -53,7 +53,7 @@ for (@tests) { subtest $title => sub { for my $type (qw( release file )) { - my $url = "/$type/_search"; + my $url = "/$type/_search"; my $request = HTTP::Request->new( 'POST', $url, [], $query ); subtest "check with '$type' controller" => sub { From c23ed16a79d66190fceb1b45825687114b06749e Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Sun, 29 Aug 2021 08:28:29 +0200 Subject: [PATCH 005/578] fix filters in download_url end point Releases on backpan should not be allowed unless an explicit version is given. This appears to have been a mistake when converting the query from cpanminus. --- lib/MetaCPAN/Document/File/Set.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/MetaCPAN/Document/File/Set.pm b/lib/MetaCPAN/Document/File/Set.pm index d17c3f798..1cd503b08 100644 --- a/lib/MetaCPAN/Document/File/Set.pm +++ b/lib/MetaCPAN/Document/File/Set.pm @@ -257,12 +257,13 @@ sub find_download_url { my $version = $args->{version}; my $explicit_version = $version && $version =~ /==/; - # exclude backpan if dev, and - # require released modules if neither dev nor explicit version - my @filters - = $dev ? { not => { term => { status => 'backpan' } } } - : !$explicit_version ? { term => { maturity => 'released' } } - : (); + my @filters; + if ( !$explicit_version ) { + push @filters, { not => { term => { status => 'backpan' } } }; + if ( !$dev ) { + push @filters, { term => { maturity => 'released' } }; + } + } my $version_filters = $self->_version_filters($version); From a7dafa4a7a9622e4fe40282a945fd2bbea4b5ee0 Mon Sep 17 00:00:00 2001 From: Olaf Alders Date: Mon, 25 Oct 2021 17:38:07 -0400 Subject: [PATCH 006/578] Update Mozilla::CA from 20200520 to 20211001 --- cpanfile | 2 +- cpanfile.snapshot | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cpanfile b/cpanfile index a91f0a342..dd6d3ec3b 100644 --- a/cpanfile +++ b/cpanfile @@ -129,7 +129,7 @@ requires 'MooseX::StrictConstructor'; requires 'MooseX::Types'; requires 'MooseX::Types::ElasticSearch', '== 0.0.4'; requires 'MooseX::Types::Moose'; -requires 'Mozilla::CA', '20200520'; +requires 'Mozilla::CA', '20211001'; requires 'namespace::autoclean'; requires 'Net::DNS::Paranoid'; requires 'Net::Fastly', '1.12'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 8843140cc..2fa3972e1 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -5444,13 +5444,12 @@ DISTRIBUTIONS Scalar::Util 1.14 XSLoader 0.02 perl 5.008005 - Mozilla-CA-20200520 - pathname: A/AB/ABH/Mozilla-CA-20200520.tar.gz + Mozilla-CA-20211001 + pathname: A/AB/ABH/Mozilla-CA-20211001.tar.gz provides: - Mozilla::CA 20200520 + Mozilla::CA 20211001 requirements: ExtUtils::MakeMaker 0 - Test 0 perl 5.006 Net-CIDR-Lite-0.21 pathname: D/DO/DOUGW/Net-CIDR-Lite-0.21.tar.gz From 00ebffba877a9062d5ff89a4241681d52f260b6d Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Tue, 26 Oct 2021 09:19:32 -0400 Subject: [PATCH 007/578] Update URI from 5.09 to 5.10 --- cpanfile | 2 +- cpanfile.snapshot | 195 +++++++++++----------------------------------- 2 files changed, 48 insertions(+), 149 deletions(-) diff --git a/cpanfile b/cpanfile index dd6d3ec3b..143a5b15d 100644 --- a/cpanfile +++ b/cpanfile @@ -172,7 +172,7 @@ requires 'Try::Tiny', '0.24'; requires 'Type::Tiny', '1.002001'; requires 'Types::Path::Tiny'; requires 'Types::URI'; -requires 'URI', '5.09'; +requires 'URI', '5.10'; requires 'URI::Escape'; requires 'version', '0.9901'; requires 'XML::Simple'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 2fa3972e1..b318f17ad 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -98,19 +98,6 @@ DISTRIBUTIONS Params::Check 0.07 Test::More 0 if 0 - Archive-Peek-0.35 - pathname: L/LB/LBROCARD/Archive-Peek-0.35.tar.gz - provides: - Archive::Peek 0.35 - Archive::Peek::Tar undef - Archive::Peek::Zip undef - requirements: - Archive::Tar 0 - Archive::Zip 0 - ExtUtils::MakeMaker 0 - Moose 0 - MooseX::Types::Path::Class 0 - Test::More 0 Archive-Zip-1.59 pathname: P/PH/PHRED/Archive-Zip-1.59.tar.gz provides: @@ -953,17 +940,6 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 Storable 0 perl 5.008001 - Clone-PP-1.07 - pathname: N/NE/NEILB/Clone-PP-1.07.tar.gz - provides: - Clone::PP 1.07 - requirements: - Exporter 0 - ExtUtils::MakeMaker 0 - perl 5.006 - strict 0 - vars 0 - warnings 0 Code-TidyAll-0.78 pathname: D/DR/DROLSKY/Code-TidyAll-0.78.tar.gz provides: @@ -2827,18 +2803,6 @@ DISTRIBUTIONS perl 5.008 strict 0 warnings 0 - File-Slurp-9999.19 - pathname: U/UR/URI/File-Slurp-9999.19.tar.gz - provides: - File::Slurp 9999.19 - FileSlurp_12 9999.13 - requirements: - Carp 0 - Exporter 0 - ExtUtils::MakeMaker 0 - Fcntl 0 - POSIX 0 - perl 5.004 File-Spec-Native-1.004 pathname: R/RW/RWSTAUNER/File-Spec-Native-1.004.tar.gz provides: @@ -3127,21 +3091,6 @@ DISTRIBUTIONS locale 0 perl 5.008001 strict 0 - HTTP-Daemon-6.01 - pathname: G/GA/GAAS/HTTP-Daemon-6.01.tar.gz - provides: - HTTP::Daemon 6.01 - HTTP::Daemon::ClientConn 6.01 - requirements: - ExtUtils::MakeMaker 0 - HTTP::Date 6 - HTTP::Request 6 - HTTP::Response 6 - HTTP::Status 6 - IO::Socket 0 - LWP::MediaTypes 6 - Sys::Hostname 0 - perl 5.008001 HTTP-Date-6.02 pathname: G/GA/GAAS/HTTP-Date-6.02.tar.gz provides: @@ -5374,19 +5323,6 @@ DISTRIBUTIONS Module::Build 0.3601 MooseX::Types 0 Search::Elasticsearch 0 - MooseX-Types-Path-Class-0.09 - pathname: E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz - provides: - MooseX::Types::Path::Class 0.09 - requirements: - Module::Build::Tiny 0.034 - MooseX::Types 0 - MooseX::Types::Moose 0 - Path::Class 0.16 - if 0 - perl 5.006 - strict 0 - warnings 0 MooseX-Types-Structured-0.36 pathname: E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz provides: @@ -6216,26 +6152,6 @@ DISTRIBUTIONS overload 0 strict 0 warnings 0 - Parse-CPAN-Packages-2.40 - pathname: M/MI/MITHALDU/Parse-CPAN-Packages-2.40.tar.gz - provides: - Parse::CPAN::Packages 2.40 - Parse::CPAN::Packages::Distribution undef - Parse::CPAN::Packages::Package undef - requirements: - Archive::Peek 0 - CPAN::DistnameInfo 0 - Compress::Zlib 0 - ExtUtils::MakeMaker 0 - File::Slurp 0 - Moo 0 - PPI 0 - Path::Class 0 - Test::InDistDir 0 - Test::More 0 - Type::Utils 0 - Types::Standard 0 - version 0 Parse-CPAN-Packages-Fast-0.09 pathname: S/SR/SREZIC/Parse-CPAN-Packages-Fast-0.09.tar.gz provides: @@ -7293,13 +7209,6 @@ DISTRIBUTIONS overload 0 strict 0 warnings 0 - Sort-Naturally-1.03 - pathname: B/BI/BINGOS/Sort-Naturally-1.03.tar.gz - provides: - Sort::Naturally 1.03 - requirements: - ExtUtils::MakeMaker 0 - perl 5 Sort-Versions-1.62 pathname: N/NE/NEILB/Sort-Versions-1.62.tar.gz provides: @@ -7721,16 +7630,6 @@ DISTRIBUTIONS Try::Tiny 0.07 strict 0 warnings 0 - Test-InDistDir-1.112071 - pathname: M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz - provides: - Test::InDistDir 1.112071 - requirements: - ExtUtils::MakeMaker 6.30 - File::Find 0 - File::Spec 0 - File::Temp 0 - Test::More 0 Test-LongString-0.17 pathname: R/RG/RGARCIA/Test-LongString-0.17.tar.gz provides: @@ -8243,53 +8142,53 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - URI-5.09 - pathname: O/OA/OALDERS/URI-5.09.tar.gz - provides: - URI 5.09 - URI::Escape 5.09 - URI::Heuristic 5.09 - URI::IRI 5.09 - URI::QueryParam 5.09 - URI::Split 5.09 - URI::URL 5.09 - URI::WithBase 5.09 - URI::data 5.09 - URI::file 5.09 - URI::file::Base 5.09 - URI::file::FAT 5.09 - URI::file::Mac 5.09 - URI::file::OS2 5.09 - URI::file::QNX 5.09 - URI::file::Unix 5.09 - URI::file::Win32 5.09 - URI::ftp 5.09 - URI::gopher 5.09 - URI::http 5.09 - URI::https 5.09 - URI::ldap 5.09 - URI::ldapi 5.09 - URI::ldaps 5.09 - URI::mailto 5.09 - URI::mms 5.09 - URI::news 5.09 - URI::nntp 5.09 - URI::nntps 5.09 - URI::pop 5.09 - URI::rlogin 5.09 - URI::rsync 5.09 - URI::rtsp 5.09 - URI::rtspu 5.09 - URI::sftp 5.09 - URI::sip 5.09 - URI::sips 5.09 - URI::snews 5.09 - URI::ssh 5.09 - URI::telnet 5.09 - URI::tn3270 5.09 - URI::urn 5.09 - URI::urn::isbn 5.09 - URI::urn::oid 5.09 + URI-5.10 + pathname: O/OA/OALDERS/URI-5.10.tar.gz + provides: + URI 5.10 + URI::Escape 5.10 + URI::Heuristic 5.10 + URI::IRI 5.10 + URI::QueryParam 5.10 + URI::Split 5.10 + URI::URL 5.10 + URI::WithBase 5.10 + URI::data 5.10 + URI::file 5.10 + URI::file::Base 5.10 + URI::file::FAT 5.10 + URI::file::Mac 5.10 + URI::file::OS2 5.10 + URI::file::QNX 5.10 + URI::file::Unix 5.10 + URI::file::Win32 5.10 + URI::ftp 5.10 + URI::gopher 5.10 + URI::http 5.10 + URI::https 5.10 + URI::ldap 5.10 + URI::ldapi 5.10 + URI::ldaps 5.10 + URI::mailto 5.10 + URI::mms 5.10 + URI::news 5.10 + URI::nntp 5.10 + URI::nntps 5.10 + URI::pop 5.10 + URI::rlogin 5.10 + URI::rsync 5.10 + URI::rtsp 5.10 + URI::rtspu 5.10 + URI::sftp 5.10 + URI::sip 5.10 + URI::sips 5.10 + URI::snews 5.10 + URI::ssh 5.10 + URI::telnet 5.10 + URI::tn3270 5.10 + URI::urn 5.10 + URI::urn::isbn 5.10 + URI::urn::oid 5.10 requirements: Carp 0 Cwd 0 From 529f8ee461b4c4e495ebcbc1846878373a75fb88 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Tue, 26 Oct 2021 12:58:25 -0400 Subject: [PATCH 008/578] Update LWP::UserAgent 6.55 to 6.58 --- cpanfile | 2 +- cpanfile.snapshot | 54 +++++++++++++++++++++++------------------------ 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/cpanfile b/cpanfile index 143a5b15d..c41caaf0a 100644 --- a/cpanfile +++ b/cpanfile @@ -98,7 +98,7 @@ requires 'Log::Log4perl::Appender::ScreenColoredLevels'; requires 'Log::Log4perl::Catalyst'; requires 'Log::Log4perl::Layout::JSON'; requires 'LWP::Protocol::https'; -requires 'LWP::UserAgent', '6.55'; +requires 'LWP::UserAgent', '6.58'; requires 'LWP::UserAgent::Paranoid'; requires 'MetaCPAN::Moose'; requires 'MetaCPAN::Pod::XHTML'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index b318f17ad..46b3e7c8d 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -8576,32 +8576,32 @@ DISTRIBUTIONS XSLoader 0 lib 0 perl 5.008001 - libwww-perl-6.55 - pathname: O/OA/OALDERS/libwww-perl-6.55.tar.gz - provides: - LWP 6.55 - LWP::Authen::Basic 6.55 - LWP::Authen::Digest 6.55 - LWP::Authen::Ntlm 6.55 - LWP::ConnCache 6.55 - LWP::Debug 6.55 - LWP::Debug::TraceHTTP 6.55 - LWP::DebugFile 6.55 - LWP::MemberMixin 6.55 - LWP::Protocol 6.55 - LWP::Protocol::cpan 6.55 - LWP::Protocol::data 6.55 - LWP::Protocol::file 6.55 - LWP::Protocol::ftp 6.55 - LWP::Protocol::gopher 6.55 - LWP::Protocol::http 6.55 - LWP::Protocol::loopback 6.55 - LWP::Protocol::mailto 6.55 - LWP::Protocol::nntp 6.55 - LWP::Protocol::nogo 6.55 - LWP::RobotUA 6.55 - LWP::Simple 6.55 - LWP::UserAgent 6.55 + libwww-perl-6.58 + pathname: O/OA/OALDERS/libwww-perl-6.58.tar.gz + provides: + LWP 6.58 + LWP::Authen::Basic 6.58 + LWP::Authen::Digest 6.58 + LWP::Authen::Ntlm 6.58 + LWP::ConnCache 6.58 + LWP::Debug 6.58 + LWP::Debug::TraceHTTP 6.58 + LWP::DebugFile 6.58 + LWP::MemberMixin 6.58 + LWP::Protocol 6.58 + LWP::Protocol::cpan 6.58 + LWP::Protocol::data 6.58 + LWP::Protocol::file 6.58 + LWP::Protocol::ftp 6.58 + LWP::Protocol::gopher 6.58 + LWP::Protocol::http 6.58 + LWP::Protocol::loopback 6.58 + LWP::Protocol::mailto 6.58 + LWP::Protocol::nntp 6.58 + LWP::Protocol::nogo 6.58 + LWP::RobotUA 6.58 + LWP::Simple 6.58 + LWP::UserAgent 6.58 libwww::perl undef requirements: CPAN::Meta::Requirements 2.120620 @@ -8633,7 +8633,7 @@ DISTRIBUTIONS URI 1.10 URI::Escape 0 WWW::RobotRules 6 - base 0 + parent 0.217 perl 5.008001 strict 0 warnings 0 From 1098c716a19a080bcb1cd5dc0c14c3aad09b1973 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Tue, 26 Oct 2021 17:14:36 -0400 Subject: [PATCH 009/578] Update Try::Tiny 0.24 to 0.30 --- cpanfile | 2 +- cpanfile.snapshot | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cpanfile b/cpanfile index c41caaf0a..476e14db9 100644 --- a/cpanfile +++ b/cpanfile @@ -168,7 +168,7 @@ requires 'Starman'; requires 'strictures', '1'; requires 'Throwable::Error'; requires 'Time::Local'; -requires 'Try::Tiny', '0.24'; +requires 'Try::Tiny', '0.30'; requires 'Type::Tiny', '1.002001'; requires 'Types::Path::Tiny'; requires 'Types::URI'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 46b3e7c8d..3902e6935 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -8032,10 +8032,10 @@ DISTRIBUTIONS base 0 strict 0 warnings 0 - Try-Tiny-0.28 - pathname: E/ET/ETHER/Try-Tiny-0.28.tar.gz + Try-Tiny-0.30 + pathname: E/ET/ETHER/Try-Tiny-0.30.tar.gz provides: - Try::Tiny 0.28 + Try::Tiny 0.30 requirements: Carp 0 Exporter 5.57 From d3766cd574b5752c206b7de247a173ef387c93bb Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Wed, 27 Oct 2021 09:57:10 -0400 Subject: [PATCH 010/578] Update MetaCPAN::Client 2.017000 to 2.029000 --- cpanfile | 2 +- cpanfile.snapshot | 45 +++++++++++++++++++++++---------------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/cpanfile b/cpanfile index 476e14db9..6f509c8ad 100644 --- a/cpanfile +++ b/cpanfile @@ -187,7 +187,7 @@ requires 'Devel::Confess'; requires 'File::Copy'; requires 'HTTP::Cookies', '6.10'; requires 'LWP::ConsoleLogger::Easy'; -requires 'MetaCPAN::Client', '2.017000'; +requires 'MetaCPAN::Client', '2.029000'; requires 'Module::Faker', '0.015'; requires 'Module::Faker::Dist', '0.010'; requires 'Perl::Tidy' => '20210402'; diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 3902e6935..ebf2c55ab 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -3983,28 +3983,29 @@ DISTRIBUTIONS Fennec::Lite 0 Test::Exception 0 Test::More 0 - MetaCPAN-Client-2.019000 - pathname: M/MI/MICKEY/MetaCPAN-Client-2.019000.tar.gz - provides: - MetaCPAN::Client 2.019000 - MetaCPAN::Client::Author 2.019000 - MetaCPAN::Client::Distribution 2.019000 - MetaCPAN::Client::DownloadURL 2.019000 - MetaCPAN::Client::Favorite 2.019000 - MetaCPAN::Client::File 2.019000 - MetaCPAN::Client::Mirror 2.019000 - MetaCPAN::Client::Module 2.019000 - MetaCPAN::Client::Package 2.019000 - MetaCPAN::Client::Permission 2.019000 - MetaCPAN::Client::Pod 2.019000 - MetaCPAN::Client::Rating 2.019000 - MetaCPAN::Client::Release 2.019000 - MetaCPAN::Client::Request 2.019000 - MetaCPAN::Client::ResultSet 2.019000 - MetaCPAN::Client::Role::Entity 2.019000 - MetaCPAN::Client::Role::HasUA 2.019000 - MetaCPAN::Client::Scroll 2.019000 - MetaCPAN::Client::Types 2.019000 + MetaCPAN-Client-2.029000 + pathname: M/MI/MICKEY/MetaCPAN-Client-2.029000.tar.gz + provides: + MetaCPAN::Client 2.029000 + MetaCPAN::Client::Author 2.029000 + MetaCPAN::Client::Cover 2.029000 + MetaCPAN::Client::Distribution 2.029000 + MetaCPAN::Client::DownloadURL 2.029000 + MetaCPAN::Client::Favorite 2.029000 + MetaCPAN::Client::File 2.029000 + MetaCPAN::Client::Mirror 2.029000 + MetaCPAN::Client::Module 2.029000 + MetaCPAN::Client::Package 2.029000 + MetaCPAN::Client::Permission 2.029000 + MetaCPAN::Client::Pod 2.029000 + MetaCPAN::Client::Rating 2.029000 + MetaCPAN::Client::Release 2.029000 + MetaCPAN::Client::Request 2.029000 + MetaCPAN::Client::ResultSet 2.029000 + MetaCPAN::Client::Role::Entity 2.029000 + MetaCPAN::Client::Role::HasUA 2.029000 + MetaCPAN::Client::Scroll 2.029000 + MetaCPAN::Client::Types 2.029000 requirements: Carp 0 ExtUtils::MakeMaker 7.1101 From dace831340ed4793df1e64b40a746266ff4bd9e9 Mon Sep 17 00:00:00 2001 From: Bodo Hugo Barwich Date: Sat, 18 Dec 2021 20:31:29 +0000 Subject: [PATCH 011/578] Methods await() and check_health() --- lib/MetaCPAN/Role/Script.pm | 241 +++++++++++++++++++++++++++++++++++- 1 file changed, 237 insertions(+), 4 deletions(-) diff --git a/lib/MetaCPAN/Role/Script.pm b/lib/MetaCPAN/Role/Script.pm index da11e0890..ba27bec00 100644 --- a/lib/MetaCPAN/Role/Script.pm +++ b/lib/MetaCPAN/Role/Script.pm @@ -6,7 +6,7 @@ use ElasticSearchX::Model::Document::Types qw(:all); use Git::Helpers qw( checkout_root ); use Log::Contextual qw( :log :dlog ); use MetaCPAN::Model (); -use MetaCPAN::Types::TypeTiny qw( Bool Int Path Str ); +use MetaCPAN::Types::TypeTiny qw( Bool HashRef Int Path Str ); use Mojo::Server (); use Term::ANSIColor qw( colored ); use IO::Interactive qw( is_interactive ); @@ -35,6 +35,22 @@ has die_on_error => ( documentation => 'Die on errors instead of simply logging', ); +has exit_code => ( + isa => Int, + is => 'rw', + default => 0, + documentation => 'Exit Code to be returned on termination', +); + +has arg_await_timeout => ( + init_arg => 'await', + is => 'ro', + isa => Int, + default => 15, + documentation => + 'seconds before connection is considered failed with timeout', +); + has ua => ( is => 'ro', lazy => 1, @@ -71,6 +87,27 @@ has index => ( 'Index to use, defaults to "cpan" (when used: also export ES_SCRIPT_INDEX)', ); +has cluster_info => ( + isa => HashRef, + traits => ['Hash'], + is => 'rw', + default => sub { {} }, +); + +has indices_info => ( + isa => HashRef, + traits => ['Hash'], + is => 'rw', + default => sub { {} }, +); + +has aliases_info => ( + isa => HashRef, + traits => ['Hash'], + is => 'rw', + default => sub { {} }, +); + has port => ( isa => Int, is => 'ro', @@ -123,13 +160,27 @@ sub BUILDARGS { } sub handle_error { - my ( $self, $error ) = @_; + my ( $self, $error, $die_always ) = @_; + + # Die if configured (for the test suite). + $die_always = $self->die_on_error unless defined $die_always; # Always log. log_fatal {$error}; - # Die if configured (for the test suite). - Carp::croak $error if $self->die_on_error; + $! = $self->exit_code if ( $self->exit_code != 0 ); + + Carp::croak $error if $die_always; +} + +sub print_error { + my ( $self, $error ) = @_; + + # Always log. + log_error {$error}; + + # Display Error in red + print colored( ['bold red'], "*** ERROR ***: $error" ), "\n"; } sub index { @@ -195,6 +246,114 @@ before run => sub { #Dlog_debug {"Connected to $_"} $self->remote; }; +sub check_health { + my ( $self, $irefresh ) = @_; + my $ihealth = 0; + + $irefresh = 0 unless ( defined $irefresh ); + + $ihealth = $self->await; + + if ($ihealth) { + if ( $irefresh || scalar( keys %{ $self->indices_info } ) == 0 ) { + my $sinfo_rs + = $self->es->cat->indices( h => [ 'index', 'health' ] ); + + $self->indices_info( {} ); + + while ( $sinfo_rs =~ /^([^[:space:]]+) +([^[:space:]]+)/gm ) { + $self->indices_info->{$1} + = { 'index_name' => $1, 'health' => $2 }; + + $ihealth = 0 if ( $2 eq 'red' ); + } + } + else { + foreach ( keys %{ $self->indices_info } ) { + $ihealth = 0 + if ( $self->indices_info->{$_}->{'health'} eq 'red' ); + } + } + } + + if ($ihealth) { + if ( $irefresh || scalar( keys %{ $self->aliases_info } ) == 0 ) { + my $sinfo_rs + = $self->es->cat->aliases( h => [ 'alias', 'index' ] ); + + $self->aliases_info( {} ); + + while ( $sinfo_rs =~ /^([^[:space:]]+) +([^[:space:]]+)/gm ) { + $self->aliases_info->{$1} + = { 'alias_name' => $1, 'index' => $2 }; + } + } + + $ihealth = 0 if ( scalar( keys %{ $self->aliases_info } ) == 0 ); + } + + return $ihealth; +} + +sub await { + my $self = $_[0]; + my $iready = 0; + + if ( scalar( keys %{ $self->cluster_info } ) == 0 ) { + my $es = $self->es; + my $iseconds = 0; + + log_info {"Awaiting Elasticsearch ..."}; + + do { + eval { + $iready = $es->ping; + + if ($iready) { + log_info { + "Awaiting $iseconds / " + . $self->arg_await_timeout + . " : ready" + }; + + $self->cluster_info( \%{ $es->info } ); + } + }; + + if ($@) { + if ( $iseconds < $self->arg_await_timeout ) { + log_info { + "Awaiting $iseconds / " + . $self->arg_await_timeout + . " : unavailable - sleeping ..." + }; + + sleep(1); + + $iseconds++; + } + else { + log_error { + "Awaiting $iseconds / " + . $self->arg_await_timeout + . " : unavailable - timeout!" + }; + + #Set System Error: 112 - EHOSTDOWN - Host is down + $self->exit_code(112); + $self->handle_error( $@, 1 ); + } + } + } while ( !$iready && $iseconds <= $self->arg_await_timeout ); + } + else { + #ElasticSearch Service is available + $iready = 1; + } + + return $iready; +} + sub are_you_sure { my ( $self, $msg ) = @_; @@ -216,8 +375,82 @@ __END__ =pod +=head1 NAME + +MetaCPAN::Role::Script - Base Role which is used by many command line applications + =head1 SYNOPSIS Roles which should be available to all modules. +=head1 OPTIONS + +This Role makes the command line application accept the following options + +=over 4 + +=item Option C<--await 15> + +This option will set the I. +After C seconds the Application will fail with an Exception and the Exit Code [112] +(C<112 - EHOSTDOWN - Host is down>) will be returned + + bin/metacpan --await 15 + +See L> + +=back + +=head1 METHODS + +This Role provides the following methods + +=over 4 + +=item C + +This method uses the +L|https://metacpan.org/pod/Search::Elasticsearch::Client::2_0::Direct#ping()> +method to verify the service availabilty and wait for C seconds. +When the service does not become available within C seconds it re-throws the +Exception from the C and sets C< $! > to C< 112 >. +The C generates a C<"Search::Elasticsearch::Error::NoNodes"> Exception. +When the service is available it will populate the C C structure with the basic information +about the cluster. +See L