Skip to content

After introduction of semantic versioning, MakeMaker emitting build-time warning #23315

Open
@jkeenan

Description

@jkeenan

As of perl developmental release 5.41.2 (3c9d78c in the Perl core distribution), the podlators distribution now supports and itself uses semantic versioning.

commit 3c9d78c0eb151a4917a98f20de4b2bd603dbef05
Author:     Russ Allbery <[email protected]>
AuthorDate: Sun Jul 14 20:06:33 2024 -0400
Commit:     James E Keenan <[email protected]>
CommitDate: Mon Jul 15 06:37:13 2024 -0400

    cpan/podlators - Update to version v6.0.2 (with v6.0.1 and v6.0.0)
    
    v6.0.0 - 2024-07-10
    
     - Drop support for Perl 5.10.  podlators now requires Perl 5.12 or later.
    
     - podlators now uses semantic versioning for the package and module
       versions, with a v prefix to work with Perl's packaging system.
...

ExtUtils::MakeMaker has code which compares module versions on the assumption that all such version numbers are purely numeric:

        elsif (
            $cmr
                ? !$cmr->accepts_module($prereq, $pr_version)
                : $required_version > $pr_version   ### <-- Now emits warning with semantic versioning
        ) {

This causes warnings to be emitted twice during the execution of make miniperl, make, make test_prep, and so forth.

Argument "v6.0.2" isn't numeric in numeric gt (>) at .../cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 624.
Argument "v6.0.2" isn't numeric in numeric gt (>) at .../cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 624.

I have raised this issue in EU::MM's upstream bug tracker: Perl-Toolchain-Gang/ExtUtils-MakeMaker#472.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions