develooper Front page | perl.perl5.porters | Postings from January 2020

CPAN river 3000: status as of perl-5.31.8 release

James E Keenan
January 22, 2020 15:06
CPAN river 3000: status as of perl-5.31.8 release
Message ID:
You can find data from a test run of the "CPAN-river-3000"
against all releases in the current (perl-5.31) development
cycle here:


In addition, please find attached a file in CSV format
holding data about those CPAN distributions which received a
grade other than 'PASS' during the most recent monthly run
or whose grade changed between the two most recent runs.


I. Specific Comments

A. I could not identify any change in blead between 5.31.7
and 5.31.8 which had a material adverse impact on any
distribution in the CPAN River 3000.  There was one new test
failure in Time::Warp which I could not fully diagnose but
which I suspect is not a blead issue; see:

B. IPC-System-Simple once again failed this month, so its
many reverse dependencies were not reached during testing.
However, I have received COMAINT on this distribution, so it
should be corrected shortly.  PJF++

C. SYP++ for new CPAN release of Net::Curl.

D. POE has been failing for several months, thereby
preventing its many reverse dependencies from being reached
during this automated testing.  The test failure has been
corrected in its repository but a new CPAN release is still

E. During the past month there have been several instances
within the CPAN River 3000 of what might be called "CPAN
breaks CPAN", i.e., situations where a previously passing
distribution now fails because of a change in one of its
CPAN prerequisites.  This was the case for
MARC-File-XML (change upstream in XML::LibXML; reported
by Slaven: and
Perl-PrereqScanner-Lite (change upstream in Compiler::Lexer;
also reported by Slaven:

II. General Comments

The data in these files are intended to be used in the
assessment of the impact which Perl 5 development is having
on the installability of an important set of CPAN
distributions.  These are not the only data which can be
used or which ought to be used in that assessment.

The following items should be noted:

1. During the current 5.31 development cycle we are testing
3000 CPAN distributions.

2. The analysis is being conducted on FreeBSD-12:

$ uname -mrs
FreeBSD 12.0-RELEASE amd64

$ clang --version
FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on 
LLVM 6.0.1)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin

By doing so, we hope to avoid a monoculture of operating
systems and call attention to the fact that the impact of
blead on CPAN can differ across platforms.

3. The list of modules selected is curated so that the
automated test-against-dev program can run smoothly over its
more-than-six-hours length.  That means excluding modules
that require interactive configuration, modules that make
excessive demands with respect to external prerequisites,
modules that require too much network access, modules that
are subject to timeouts, and so forth.  The list of modules
was calculated on July 12 2019.

4. On the other hand, the list of modules selected has not
been filtered to exclude modules which, notwithstanding the
fact that other CPAN distributions depend on them, have been
failing tests for years.

5. The test-against-dev process is built on top of
Miyagawa's 'cpanm' and Breno G. de Oliveira's CPAN library
App::cpanminus::reporter.  It therefore benefits from the
strengths, and suffers from the flaws, of those two
excellent libraries.  In particular, if distribution XYZ has
a dependency on distribution ABC and if, earlier in the
process, ABC has failed, the test-against-dev process will
steer clear of attempting to fully test XYZ and will fail to
write a report for it.  So some modules will "not be
reached" and will not show up in the output data until such
time as their upstream dependencies are fixed.

6. There are certain CPAN distributions whose prerequisites
I have not yet figured out how to install on the platform
being used.  Those distributions are likely to have a grade
of UNKNOWN and their reverse dependencies will not be
reached.  Tk is a long-standing instance of this problem as
its tests require a GUI (or a simulation of a GUI).

If you would like further information about this project or
to help it along, please contact me off-list.

III.  Acknowledgements

This project benefited from discussion at the Perl 5 Core
Hackathon held in Amsterdam in October 2017, so thanks to
participants in that event and to the organizations which
sponsored it.

This project also benefits from the generous donation of a
server by the New York City BSD Users Group (NYCBUG) and the
system administration expertise of Mark Saad and George

This project also benefits from the system administration
expertise of Andrew Villano of New York Perlmongers.  Andrew
Villano and I made a presentation on this project at a joint
meeting of NYCBUG and New York Perlmongers ( on
November 7 2018.  See below for links.

IV. References

See my presentation at the North American Perl Conference
held in Salt Lake City in June 2018:

Text of the Nov 07 2018 NYCBUG/ presentation can be
found at;
slides at
(LibreOffice Impress).

Thank you very much.
Jim Keenan Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About