Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure_requires failure, but an UNKNOWN report is generated anyway #185

Open
eserte opened this issue Jul 23, 2024 · 0 comments
Open

Comments

@eserte
Copy link
Contributor

eserte commented Jul 23, 2024

In skaji/perl-File-Copy-clonefile#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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant