In https://github.com/skaji/perl-File-Copy-clonefile/issues/3 I complained about a module which generated an UNKNOWN report because of an unmet dependency. However it seems that the author did everything right and has a proper configure.requires setting in his META.json.
In a similar log I see the following:
Fetching with LWP:
http://cpan.metacpan.org/authors/id/S/SK/SKAJI/App-RemoteCommand-0.991.tar.gz
...
---- Unsatisfied dependencies detected during ----
---- SKAJI/App-RemoteCommand-0.991.tar.gz ----
Dist::Build [build_requires]
Running install for module 'Dist::Build'
Checksum for /home/cpansand/.cpan/sources/authors/id/L/LE/LEONT/Dist-Build-0.006.tar.gz ok
Configuring L/LE/LEONT/Dist-Build-0.006.tar.gz with Build.PL
...
Running Build test for LEONT/Dist-Build-0.006.tar.gz
prove
t/00-compile.t .. ok
ExtUtils::Builder::AutoDetect::C version 0.012 required--this is only version 0.009 at /opt/perl-5.36.3/lib/site_perl/5.36.3/ExtUtils/Builder/Planner.pm line 84.
...
LEONT/Dist-Build-0.006.tar.gz
./Build test -- NOT OK
...
Warning: Prerequisite 'Dist::Build => 0.006' for 'SKAJI/App-RemoteCommand-0.991.tar.gz' failed when processing 'LEONT/Dist-Build-0.006.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
Configuring S/SK/SKAJI/App-RemoteCommand-0.991.tar.gz with Build.PL
Dist::Build version 0.006 required--this is only version 0.001 at Build.PL line 7.
BEGIN failed--compilation aborted at Build.PL line 7.
(/opt/perl-5.36.3/bin/perl Build.PL exited with 65280)
CPAN::Reporter: Build.PL result is 'unknown', Stopped with an error.
CPAN::Reporter: preparing a CPAN Testers report for App-RemoteCommand-0.991
CPAN::Reporter: sending test report with 'unknown' via File
The latter can be roughly reproduced with the following Dockerfile:
# docker build -t perl-test . && docker run perl-test
FROM perl:5.40-bookworm
# Simulate old Dist::Build installation
RUN cpan L/LE/LEONT/ExtUtils-Builder-0.002.tar.gz L/LE/LEONT/ExtUtils-Builder-Compiler-0.009.tar.gz L/LE/LEONT/Dist-Build-0.001.tar.gz
# Simulate old state with Dist::Build 0.006 in the indexes
RUN rm /root/.cpan/Metadata
RUN gunzip /root/.cpan/sources/modules/02packages.details.txt.gz
RUN perl -i -pe 's{^Dist::Build\s+.*}{Dist::Build 0.006 L/LE/LEONT/Dist-Build-0.006.tar.gz}' /root/.cpan/sources/modules/02packages.details.txt
RUN gzip /root/.cpan/sources/modules/02packages.details.txt
RUN zgrep '^Dist::Build[ ]' /root/.cpan/sources/modules/02packages.details.txt.gz
# Need to upgrade Dist::Build
CMD cpan File::Copy::clonefile
#CMD cpan SKAJI/App-RemoteCommand-0.991.tar.gz
#CMD cpan L/LE/LEONT/Dist-Build-0.006.tar.gz
So for me it seems that CPAN.pm does not properly detect a failure in a configure.requires build, and falsely send cpantesters reports.
In https://github.com/skaji/perl-File-Copy-clonefile/issues/3 I complained about a module which generated an UNKNOWN report because of an unmet dependency. However it seems that the author did everything right and has a proper configure.requires setting in his META.json.
In a similar log I see the following:
The latter can be roughly reproduced with the following Dockerfile:
So for me it seems that CPAN.pm does not properly detect a failure in a configure.requires build, and falsely send cpantesters reports.