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

CPAN river 3000: status as of perl-5.31.9 release

James E Keenan
February 22, 2020 14:36
CPAN river 3000: status as of perl-5.31.9 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.8
and 5.31.9 which had a material adverse impact on any
distribution in the CPAN River 3000.

B. There were, however, several instances of failures in
distributions whose upstream CPAN prerequisites had received
new CPAN releases -- in effect, "CPAN breaks CPAN" rather
than "blead breaks CPAN".  The affected distributions and
associated bug reports include:





C. Several CPAN distributions received new releases this
month which enabled those distros to PASS after intermittent
failures in previous months.  These new releases then
enabled their hundreds of reverse dependencies to be reached
during testing (unlike in previous months).  Kudos to:

Encode-ZapCP1252: New CPAN release (0.33->0.40) by DWHEELER
IPC-System-Simple: New CPAN release (1.25->1.26) by JKEENAN
Mail-DMARC: New CPAN release (1.20200116->1.20200214) by MSIMERSON
POE: New CPAN release (1.367->1.368) by BINGOS

However, one side effect is that some (direct or indirect)
reverse dependencies of these distributions are being
reached during testing for the first time in months and
their failures are once again being recorded.

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