This message is intended for people working on the Perl toolchain and, in particular, for attendees at the Perl Toolchain Summit starting tomorrow in Oslo.

The test-against-dev work I have been conducting for several months has identified at least one CPAN distro, high up in the toolchain, which is broken on non-Linux operating systems. The reasons for this breakage are sub-optimal code in modules or test suites, not "Blead Breaks CPAN." Such breakage prevents the distro from being installed and means that its revdeps are never reached during the following cases:

* Installation via 'cpan' shell: Distro fails and is graded as FAIL and reported to metabase. Assuming on 'force install' is attempted on distro, revdep is graded as DISCARD and no report is sent to metabase or to revdep's maintainers.

* Installation via 'cpanm': Distro fails and is graded as FAIL. Revdep is not attempted and is not graded anywhere. You have to examine build.log for messages reporting "Bailing out ...." No report is sent to metabase or to maintainers.

* Because test-against-dev relies on 'cpanm', if a distro in, say, the top 1000 of the CPAN river fails, its revdeps are never reached, meaning their code does not get exercised against the latest monthly development release.

The CPAN distro of greatest concern right now is File-Copy-Recursive(http://search.cpan.org/~dmuey/File-Copy-Recursive-0.40/), currently ranked about #128 in the CPAN river. On FreeBSD (and perhaps other OSes), FCR's current version (0.40 as of Apr 17 2018) has an unfixed bug (https://rt.cpan.org/Ticket/Display.html?id=123964) leading to test failures and failure to install. Unless a user chooses to '--force' install FCR, that prevents its revdeps from being installed in an automated manner or tested against dev/blead.

Over 6000 CPAN distributions have direct or indirect dependencies on FCR, including CPAN-Reporter, Test-File-ShareDir, DateTime, Dist-Zilla and Catalyst-Devel. So thousands of CPAN distros cannot be installed on FreeBSD and other systems.

The author of FCR is aware of the bug ticket and Tom Hukins provided a patch which I have tested successfully on FreeBSD. But the patch has not been applied as of yesterday. As we are now in the countdown to perl-5.28.0, we really need to be able to assess the impact of release candidates on CPAN -- and not just on Linux.

Earlier this week I wanted to resume sending CPANtesters reports from FreeBSD-11.1. I tried to install CPAN-Reporter but could not, due to the bug in its dependency, FCR. To address that I have uploaded to CPAN a new CPAN distro, File-Copy-Recursive-Reduced (FCR2), which provides stripped-down versions of 2 FCR subroutines, fcopy() and dircopy(), which are used in the CPAN-Reporter test suite. I then branched CPAN-Reporter to create a version which uses the FCR2 versions of these functions rather than FCR. That makes CPAN-Reporter installable again. I have therefore filed:

https://github.com/cpan-testers/CPAN-Reporter/issues/88
and
https://github.com/cpan-testers/CPAN-Reporter/pull/90 (a better p.r. than my earlier /89)

I hope that during the PTS you can review and apply this p.r. and upload a new version of CPAN-Reporter. This will once again permit automated installation on FreeBSD and other non-Linux operating systems. It will also help us to assess perl-5.28's possible impact on that distro and its revdeps.

Thank you very much.
Jim Keenan

Reply via email to