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

CPAN river 3000: status as of perl-5.29.7 release

James E Keenan
January 21, 2019 13:49
CPAN river 3000: status as of perl-5.29.7 release
Message ID:
You can find data from a test run of the "CPAN-river-3000"
against all releases in the current (perl-5.29) 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. 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.29 development cycle we are testing
3000 CPAN distributions.

2. The analysis is being conducted on FreeBSD:

$ uname -mrs
FreeBSD 11.1-RELEASE amd64
$ clang --version
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on 
LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.1
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.

4. On the other hand, the list of modules selected has not
been filtered to exclude modules which, nothwithstanding 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.  The most important case of this: Tk.

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

II. Specific Comments

1. If a distribution PASSed when run against perl-5.29.6
last month and then received a grade other than PASS when
run against perl-5.29.7 yesterday, then none of its reverse
dependencies would have been reached in the perl-5.29.7
process run yesterday.  Those reverse dependencies have
therefore been graded 'x' for 'perl-5.29.7-grade' even if
they got a 'PASS' for 'perl-5.29.6-grade'.

a. As was the case last month, many such distributions are
those that are dependent upon File-Slurp.  File-Slurp is now
being graded FAIL due to its use of syswrite in a manner
which has been fatalized for perl-5.30
(  Please
take a look at the work which Chase Whitener is doing on
this distribution (  It
should be noted that Chase has eliminated File-Slurp's
dependency on sysread, which was the cause of File-Slurp's
test failures in the October run of test-against-dev.  There
still remains a dependency on syswrite in a manner which
will not work in 5.30.

2. There were no new test failures attributable to changes
in Perl 5 blead over the past month.  Unfortunately, that
could be a side effect of the fact that there were not many
changes in Perl 5 blead over the past month.

While there were some distributions which moved from PASS
status in December to FAIL status in January, my
investigation yesterday suggests that these may be
attributable to changes in those CPAN distributions' own
dependencies, e.g., a change in an important JSON module;
upstream data files no longer being available; etc.  Please
contact me off list if you need specifics.

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 benefitted from assistance in reviewing
test failure reports by three members of Philadelphia
Perlmongers: John Karr, Walt Mankowski and Thomas McKernan.

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.  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