On 04/09/2017 11:33 AM, James E Keenan wrote:
An updated printout of the CPAN River is available here:https://gist.github.com/jkeenan/a7670b2ffe1ffe3e8d8cbdbc2b3dd721
Using this data we can conduct a fourth round of testing. Today I began a fourth round of testing. I am doing so to reflect (a) the generation of a new CPAN river file, 'cpan.river.20170409.csv'; and (b) an understanding of why 'PERL_USE_UNSAFE_INC' must be set to '0' before using the 'cpanm' build against Perl 5 blead. 1. The new input file is, as mentioned above, 'cpan.river.20170409.csv'. 2. Because the input file is now in CSV format, I had to modify the first program to handle that. I now use 'csv-get-upriver-distros.pl'. I will fetch the first 1000 distributions from the input file. ##### perl csv-get-upriver-distros.pl 1000 ##### This program excludes distributions which are shipped with the Perl 5 core as well as certain previously identified as hard-to-test distributions like mod_perl and Term::ReadLine::Perl. 3. Built and installed an updated perl5 blead for testing: ##### $ ./bin/perl -v | head -2 | tail -1This is perl 5, version 26, subversion 0 (v5.26.0 (v5.25.11-50-gb57dd50)) built for x86_64-linux
##### ... and installed Miyagawa's up-to-the-minute cpanm against that perl. ##### $ ./bin/perl -MApp::cpanminus -E 'say $App::cpanminus::VERSION;' 1.7043 #####4. Adapting nudge from KENTNL, I worked from a just-updated local minicpan repository.
##### $ minicpan $ cd ~/testing/blead $ export PERL_USE_UNSAFE_INC=0 $ date > startcpanm $ cat /home/jkeenan/learn/perl/cpan-river/fourth-round-top-1000.txt | \ xargs bin/cpanm --mirror ~/minicpan --verbose; date > endcpanm ##### ############################################################################ 5. Copied and renamed the 'cpanm' build.log to 20170409-1000-build.log.gz. 6. grepped out relevant lines from the build log: ##### $ zgrep FAIL 20170409-1000-build.log.gz | grep -v 'Result: FAIL' | \ sed -e 's/^-> //' > 20170409-1000-fails.txt ##### 7. Used a revised version of 'order-battle.pl' to record the order in which various modules *first* appeared in the 'fails' file and the total number of times each module was cited. Results are attached as 'order-of-battle-20170409.txt'. What is the "order of battle"? It's an approximation of the order in which, as of today, we need to get new CPAN releases out so that down-river distros are no longer failing due to failures in their upstream dependencies. This approach is useful for me because I only have a laptop to work with. YMMV. Thank you very much. Jim Keenan
csv-get-upriver-distros.pl
Description: Perl program
1 Module::Runtime 34 2 Module::Implementation 6 3 Dist::CheckConflicts 7 4 Package::Stash 7 5 B::Hooks::EndOfScope 5 6 namespace::clean 29 7 Sub::Identify 5 8 File::ShareDir 12 9 namespace::autoclean 49 10 Class::Load 17 11 Package::DeprecationManager 3 12 Test::CleanNamespaces 1 13 Class::Load::XS 1 14 Devel::OverloadInfo 1 15 Module::Runtime::Conflicts 1 16 Moose 73 17 Moo 20 18 Params::Validate 13 19 Specio 3 20 Params::ValidationCompiler 3 21 Test::File::ShareDir 3 22 Specio::Library::String 2 23 Specio::Library::Builtins 2 24 DateTime::TimeZone 9 25 DateTime::Locale 4 26 DateTime 29 27 Sub::Exporter::ForMethods 7 28 Moose::Meta::TypeConstraint::Union 1 29 Moose::Role 41 30 Moose::Exporter 13 31 Moose::Util::TypeConstraints 25 32 MooseX::Types 18 33 DBI 11 34 Test::TCP 7 35 Getopt::Long::Descriptive 6 36 MooseX::Role::WithOverloading 2 37 Moose::Meta::Role 1 38 Test::Moose 10 39 Moose::Util 12 40 MooseX::Role::Parameterized 8 41 Net::SSLeay 2 42 Test::Time 1 43 Cookie::Baker 3 44 HTTP::MultiPartParser 1 45 HTTP::Entity::Parser 2 46 Plack 3 47 IO::Socket::SSL 3 48 LWP::Protocol::https 3 49 IPC::Run 3 50 DBD::SQLite 7 51 Moo::Role 6 52 Throwable 3 53 Moose::Meta::Attribute 3 54 Moose::Meta::Class 3 55 MooseX::Getopt 2 56 App::Cmd 2 57 Log::Dispatch 2 58 B::Hooks::OP::Check 3 59 multidimensional 3 60 bareword::filehandles 3 61 strictures 5 62 Plack::Builder 3 63 Plack::Middleware 3 64 Plack::Test 4 65 Plack::Util 2 66 Plack::Middleware::FixMissingBodyInRedirect 2 67 Plack::Middleware::RemoveRedundantBody 2 68 Import::Into 5 69 HTML::TreeBuilder 6 70 WWW::Mechanize 3 71 Clone::PP 4 72 SUPER 2 73 Log::Dispatch::Output 1 74 Log::Dispatch::Array 2 75 Test::MockModule 3 76 MooseX::OneArgNew 2 77 Role::HasMessage 2 78 Log::Dispatch::Syslog 1 79 Log::Dispatch::File 1 80 Log::Dispatch::Screen 1 81 Log::Dispatchouli 4 82 Role::Identifiable 1 83 Role::Identifiable::HasIdent 1 84 StackTrace::Auto 1 85 Config::MVP 3 86 Config::MVP::Reader 2 87 Config::MVP::Reader::Findable::ByExtension 2 88 Config::MVP::Reader::INI 3 89 PadWalker 4 90 MooseX::LazyRequire 3 91 Specio::Exporter 1 92 DateTime::Locale::Base 1 93 DateTime::Locale::FromData 1 94 Specio::Declare 1 95 DateTime::Format::Strptime 2 96 Moose::Util::MetaRole 7 97 MooseX::Types::Moose 18 98 MooseX::MethodAttributes 2 99 Plack::Request 1 100 Plack::Util::Accessor 1 101 Plack::Middleware::MethodOverride 1 102 Plack::Loader 1 103 Plack::Test::ExternalServer 1 104 Test::LeakTrace 4 105 Mouse 6 106 MooX::Types::MooseLike 4 107 PPI 10 108 PPI::Document 6 109 Perl::PrereqScanner 3 110 CPAN::Uploader 2 111 MooseX::Types::Perl 2 112 MooseX::SetOnce 2 113 App::Cmd::Setup 2 114 Term::Encoding 1 115 Config::MVP::Section 1 116 App::Cmd::Command::version 1 117 Config::MVP::Assembler 2 118 Config::MVP::Reader::Finder 2 119 Config::MVP::Assembler::WithBundles 2 120 App::Cmd::Tester 1 121 App::Cmd::Tester::CaptureExternal 1 122 Dist::Zilla 7 123 SQL::Abstract 1 124 Regexp::Common 3 125 IO::All 3 126 List::UtilsBy 2 127 Test::Class 3 128 MooseX::Types::Path::Class 3 129 DateTime::Format::Builder 6 130 Task::Weaken 10 131 PPIx::Regexp 3 132 Data::Visitor 4 133 Archive::Zip 1 134 Pod::Spell 3 135 List::SomeUtils::XS 2 136 List::SomeUtils 2 137 Data::Clean 2 138 Data::Clean::JSON 4 139 PPI::Document::Fragment 1 140 PPI::Dumper 1 141 PPIx::Utilities 1 142 PPI::Document::File 1 143 PPIx::Utilities::Statement 1 144 PPI::Node 1 145 PPI::Token::Whitespace 1 146 PPI::Token::Quote::Single 1 147 PPIx::Utilities::Node 1 148 Perl::Critic 2 149 Test::WWW::Mechanize 3 150 Function::Fallback::CoreOrPP 4 151 List::AllUtils 2 152 Module::CPANfile 2 153 Any::Moose 4 154 Perinci::Sub::Util 8 155 IPC::System::Options 4 156 syntax 2 157 File::ShareDir::Tarball 3 158 YAML::Syck 1 159 Nodejs::Util 2 160 Devel::Declare 4 161 Data::Sah::Coerce 2 162 Package::Variant 1 163 HTTP::Message::PSGI 1 164 Test::WWW::Mechanize::PSGI 2 165 Data::Sah::CoerceCommon 1 166 Data::Sah 3 167 MIME::Charset 1 168 Unicode::LineBreak 1 169 Perinci::Sub::Wrapper 2 170 Data::Clean::FromJSON 1 171 Perinci::Sub::GetArgs::Argv 5 172 Syntax::Keyword::Junction 2 173 ExtUtils::PkgConfig 5 174 B::Utils 3 175 Pod::Elemental 4 176 Perinci::Examples 6 177 Perinci::Sub::Complete 3 178 MooseX::Types::Stringlike 2 179 Perinci::Access::Perl 2 180 MooseX::Types::Path::Tiny 3 181 Config::IOD::Reader 2 182 MooX::ClassAttribute 2 183 Perinci::Access::Schemeless 1 184 Perinci::Access 2 185 DateTime::Duration 1 186 MooseX::Types::DateTime 2 187 Perl::Critic::Utils 2 188 Perl::Critic::Violation 1 189 Test::Perl::Critic 1 190 Perinci::Examples::CLI 1 191 Perinci::Sub::To::CLIDocData 2 192 Perinci::CmdLine::Util::Config 2 193 Perinci::CmdLine::Gen 2 194 Perinci::CmdLine::Help 2 195 Dancer 1 196 Perinci::Access::Lite 2 197 Perinci::Examples::Tiny 1 198 Test::Perinci::CmdLine 2 199 ExtUtils::MakeMaker::CPANfile 4 200 Perinci::CmdLine::Lite 2 201 Data::Perl 2 202 MooseX::StrictConstructor 1 203 MooX::Types::MooseLike::Base 3 204 MooX::HandlesVia 2 205 Devel::PartialDump 2 206 DBD::mysql 1 207 Catalyst::Runtime 7 208 MooseX::Emulate::Class::Accessor::Fast 2 209 Catalyst::Plugin::Session 3 210 URI::FromHash 2 211 MooseX::Types::Common 1 212 Perinci::CmdLine::Any 1 213 Lexical::SealRequireHints 2 214 Pod::Elemental::Element::Nested 1 215 Pod::Elemental::Document 1 216 Pod::Elemental::Element::Pod5::Verbatim 1 217 Pod::Elemental::Element::Pod5::Region 1 218 Pod::Elemental::Element::Pod5::Command 2 219 Pod::Elemental::Transformer::Nester 1 220 Pod::Elemental::Types 2 221 Pod::Elemental::Transformer::Pod5 2 222 Pod::Elemental::Transformer::Gatherer 1 223 Pod::Elemental::Element::Pod5::Ordinary 1 224 Pod::Elemental::Selectors 1 225 Pod::Weaver 2 226 Data::Printer 1 227 DateTime::Format::Mail 3 228 HTML::TreeBuilder::XPath 2 229 Test::Memory::Cycle 1 230 Devel::Caller 2 231 MooseX::NonMoose 1 232 MooseX::Traits 2 233 MooX::Types::MooseLike::Numeric 2 234 DateTime::Format::ISO8601 1 235 Moose::Meta::TypeConstraint::Parameterizable 1 236 Moose::Meta::TypeConstraint 3 237 Moose::Meta::TypeCoercion 1 238 MooseX::Types::Structured 3 239 Locale::CLDR 1 240 Glib 3 241 SOAP::Lite 1 242 Data::MessagePack 2 243 DateTime::Set 3 244 MooseX::Has::Sugar 3 245 CHI 1 246 Inline::C 1 247 Test::LWP::UserAgent 2 248 XML::Atom 2 249 Cairo 3 250 Syntax::Keyword::Junction::None 1 251 Syntax::Keyword::Junction::Any 1 252 Syntax::Keyword::Junction::All 1 253 metaclass 2 254 Syntax::Keyword::Junction::One 1 255 Moose::Autobox 1 256 Alien::Base::ModuleBuild 2 257 Alien::Base 1 258 DateTime::Format::MySQL 2 259 DateTime::Format::W3CDTF 2 260 XML::RSS 2 261 ExtUtils::XSpp 2 262 AnyEvent 2 263 AnyEvent::HTTP 1 264 Tk 1 265 DBIx::ContextualFetch 2 266 Ima::DBI 2 267 Devel::Cover 1 268 MooseX::Types::URI 2 269 Class::Trigger 1 270 Class::DBI 1 271 Text::Xslate 1 272 DBIx::Connector 2 273 Template::Toolkit 1 274 Template 4 275 Spoon 2 276 Pango 2 277 Catalyst 5 278 Catalyst::Plugin::Session::State::Cookie 2 279 Dancer2 1 280 DateTime::Format::Natural 2 281 PPI::Util 1 282 Perl::MinimumVersion 2 283 TAP::SimpleOutput 2 284 Test::Moose::More 3 285 Gtk2 1 286 Params::Classify 2 287 Object::Pluggable 2 288 DBD::Pg 1 289 POE::Component::Syndicator 2 290 POE::Component::IRC 1 291 Sys::Info 1 292 Bencher::Backend 1 293 Class::Container 2 294 Alien::wxWidgets 4 295 DateTime::Format::SQLite 2 296 Set::Object 1 297 Test::Compile 1 298 Convert::ASN1 1 299 Wx 3 300 DateTime::Event::Recurrence 2 301 Dist::Zilla::Role::Plugin 2 302 Dist::Zilla::Plugin::Config::Git 2 303 Dist::Zilla::Role::GitConfig 1 304 Dist::Zilla::Role::VersionProvider 1 305 Dist::Zilla::Role::BeforeRelease 2 306 Dist::Zilla::File::InMemory 7 307 Dist::Zilla::Role::AfterMint 1 308 Dist::Zilla::Role::AfterRelease 2 309 Dist::Zilla::Role::FilePruner 2 310 Dist::Zilla::Role::AfterBuild 2 311 Dist::Zilla::Role::PluginBundle 1 312 Dist::Zilla::Tester 2 313 Test::DZil 7 314 Dist::Zilla::Role::Releaser 1 315 Dist::Zilla::Plugin::GatherDir 1 316 Dist::Zilla::Plugin::Git 1 317 DBIx::Class 6 318 DBIx::Class::IntrospectableM2M 2 319 MooX::File::ConfigDir 2 320 MooseX::Meta::TypeConstraint::Mooish 2 321 Archive::Any::Lite 1 322 MooX::ConfigFromFile 2 323 MooseX::Types::Common::String 1 324 MooseX::AttributeShortcuts 1 325 Locale::TextDomain 3 326 Text::LineFold 1 327 MooX::Options 1 328 HTML::Mason 1 329 Module::CPANTS::Analyse 2 330 Module::Info 2 331 Pod::Elemental::PerlMunger 2 332 Moose::Exception 1 333 Moose::Meta::TypeConstraint::Role 1 334 MooseX::Params::Validate 1 335 Dist::Zilla::Role::FileFinderUser 3 336 Dist::Zilla::Role::FileMunger 6 337 Pod::Weaver::Config::Assembler 1 338 Dist::Zilla::Plugin::PodWeaver 1 339 Data::Visitor::Callback 2 340 MooseX::Clone 1 341 Test::utf8 2 342 Test::File 1 343 String::ToIdentifier::EN 2 344 String::CamelCase 1 345 Class::Accessor::Grouped 2 346 Class::C3::Componentised 1 347 DBIx::Class::Schema::Loader 1 348 Test::MinimumVersion 2 349 Catalyst::Action::RenderView 1 350 Catalyst::Plugin::Session::Store::Dummy 1 351 Test::WWW::Mechanize::Catalyst 1 352 MooseX::Aliases 1 353 Class::Accessor::Lite 2 354 Furl 1 355 SHARYANTO::Utils 1 356 Data::Dump::Streamer 1 357 File::Share 1 358 Parse::Method::Signatures 2 359 SQL::Translator 1 360 DBICx::TestDatabase 2 361 SHARYANTO::Array::Util 1 362 Module::Patch 1 363 MooseX::Types::LoadableClass 2 364 Catalyst::Plugin::ConfigLoader 1 365 MooseX::ConfigFromFile 2 366 HTML::Element 1 367 HTML::Formatter 1 368 IRI 2 369 Unicode::GCString 1 370 String::Print 3 371 Log::Report::Optional 2 372 MooX::Aliases 2 373 PerlIO::via::Timeout 2 374 Time::Moment 1 375 DateTime::Event::ICal 2 376 IO::Socket::Timeout 2 377 Log::Report 4 378 Data::FormValidator 1 379 MooseX::ArrayRef 2 380 Moose::Meta::Role::Attribute 1 381 MooseX::ClassAttribute 1 382 RDF::Trine 1 383 Test::Kwalitee 1 384 Catalyst::Plugin::Static::Simple 1 385 XML::Feed 1 386 Config::Onion 2 387 DateTime::Format::Pg 1 388 ORLite 2 389 System::Command 2 390 Text::Hogan 1 391 Class::MOP 1 392 Catalyst::Plugin::Authentication 1 393 Text::Hogan::Compiler 1 394 Catmandu 1 395 DateTime::Format::ICal 2 396 Git::Repository 1 397 Plack::Middleware::Session 1 398 Redis 1 399 Template::Timer 2 400 Catalyst::View::TT 1 401 DateTime::Format::Flexible 2 402 Coro 1 403 MooseX::MarkAsMethods 2 404 Catalyst::Component::InstancePerContext 2 405 Class::Mix 2 406 Net::Server 1 407 DateTime::Format::DateParse 1 408 Dist::Zilla::Role::TextTemplate 3 409 Dist::Zilla::Role::PrereqSource 2 410 Dist::Zilla::Dist::Builder 1 411 Dist::Zilla::Role::FileGatherer 6 412 Dist::Zilla::Plugin::Test::Compile 1 413 Throwable::Error 1 414 Email::Sender 1 415 MooseX::SimpleConfig 1 416 Crypt::Eksblowfish 1 417 MooseX::Storage 1 418 SQL::Statement 1 419 File::NFSLock 1 420 MooseX::Traits::Pluggable 2 421 Web::Scraper 1 422 DBIx::Class::DynamicDefault 2 423 Log::Minimal 1 424 DBM::Deep 1 425 HTML::FormatText 1 426 HTML::FormatText::WithLinks 1 427 MooseX::Meta::TypeConstraint::ForceCoercion 2 428 DBIx::Class::TimeStamp 1 429 Devel::Declare::Context::Simple 1 430 Moose::Meta::Method 1 431 Parse::Method::Signatures::Param::Placeholder 1 432 Context::Preserve 1 433 MooseX::Types::Util 1 434 Parse::Method::Signatures::Types 1 435 Parse::Method::Signatures::Param::Named 1 436 Parse::Method::Signatures::TypeConstraint 1 437 MooseX::Method::Signatures 1 438 XML::Compile::Tester 3 439 Data::Stream::Bulk 1 440 XML::Compile 2 441 Dist::Zilla::Role::FileWatcher 2 442 MooseX::Object::Pluggable 1 443 Module::Build::Pluggable 1 444 CatalystX::Component::Traits 2 445 Dist::Zilla::Role::PluginBundle::Easy 1 446 Dist::Zilla::Role::PPI 1 447 Dist::Zilla::Plugin::ReadmeAnyFromPod 1 448 HTML::Lint 1 449 MooX::StrictConstructor 1 450 Pod::Abstract 1 451 Pod::Elemental::Transformer 1 452 Pod::Elemental::Transformer::List 1 453 DateTimeX::Easy 1 454 Method::Signatures::Simple 1 455 Devel::Declare::MethodInstaller::Simple 1 456 Method::Signatures 1 457 Test::Modern 1 458 Catalyst::Model::DBIC::Schema 1 459 MooseX::SemiAffordanceAccessor 1 460 Acme::CPANAuthors 1 461 Dist::Zilla::Plugin::CheckChangesHasContent 1 462 MouseX::Types 1 463 ORLite::Migrate 1 464 PPI::Find 1 465 PPIx::EditorTools 1 466 Wx::Perl::ProcessStream 1 467 Debug::Client 1 468 Devel::Refactor 1 469 Dist::Zilla::Plugin::Test::EOL 1 470 Wx::Scintilla 1 471 XML::Compile::Cache 1 472 BSON 1 473 Catalyst::Action::REST 1 474 Compress::Bzip2 1 475 Dist::Zilla::Role::MetaProvider 3 476 Dist::Zilla::Role::ModuleMetadata 1 477 Padre 1 478 MouseX::NativeTraits 1 479 Test::Spelling 1 480 Config::MVP::Slicer 1 481 DBIx::TransactionManager 1 482 Devel::CallChecker 1 483 Test::Mock::Guard 1 484 XML::DOM 1 485 Dist::Zilla::Plugin::GithubMeta 1 486 Log::Handler 1 487 MooseX::Singleton 1 488 Authen::SCRAM 1 489 Dist::Zilla::Plugin::MetaProvides 1 490 Locale::Messages 1 491 Locale::TextDomain::UTF8 1
order-battle.pl
Description: Perl program