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 -1
This 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


Attachment: 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

Attachment: order-battle.pl
Description: Perl program

Reply via email to