Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 60568
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: dolmen [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.3607
Fixed in: (no value)



Subject: distmeta: invalid requires/perl version (v-string)
M::B 0.3607 generates invalid version values in META.yml. With the following arg: requires => { perl => '5.6.0', } the META.yml generated by './Build distmeta' contains: requires: perl: v5.6.0 The 'perl' version value is a v-string. This does not match the specification for versions: http://module-build.sourceforge.net/META-spec-v1.4.html#version_specifications Attached a test Build.PL. -- Olivier Mengué - http://o.mengue.free.fr/
Subject: Build.PL
use Module::Build; Module::Build->new( dist_name => 'toto', dist_version => 1, dist_author => 'DOLMEN', dist_abstract => 'Toto', requires => { perl => '5.6.0', XXXYYZ => '5.6.0', } )->create_build_script;
Subject: Re: [rt.cpan.org #60568] distmeta: invalid requires/perl version (v-string)
Date: Fri, 20 Aug 2010 13:53:00 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
On 2010.8.20 11:50 AM, Olivier 'dolmen' Mengué via RT wrote: Show quoted text
> With the following arg: > > requires => { > perl => '5.6.0', > } > > the META.yml generated by './Build distmeta' contains: > > requires: > perl: v5.6.0 > > > The 'perl' version value is a v-string. This does not match the > specification for versions: > http://module-build.sourceforge.net/META-spec-v1.4.html#version_specifications
META 1.4 defines how you can say "higher than this version" or "equal to this version" but it never specifies the format of a version or even how to compare them. The defacto standard is "whatever version.pm accepts". I guess you could read "version number" to mean "versions are a number" but that would be overly an legalistic reading of slippery semantics. META 2.0 defines the version format, and it is X.Y or vX.Y.Z. http://search.cpan.org/~dagolden/CPAN-Meta-2.102160/lib/CPAN/Meta/Spec.pm#Version_Formats While Module::Build is still splitting out 1.4, its using META 2.0 to fill in this ambiguity in the 1.4 spec. Did this change break something? -- The interface should be as clean as newly fallen snow and its behavior as explicit as Japanese eel porn.
This issue won't be fixed for META.yml but will be fixed instead when Module::Build starts using version 2 of the META spec.