Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: gam3-pause [...] gam3.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 0.36
  • 0.3601
Fixed in: (no value)



Subject: 'version' is not supported by Module::Build::Compat - should not apply to 'perl'.
The requires->{perl} entry should not be tested by _simple_prereq(), as it is not being passed to PREREQ_PM

. It is only being used in the require VERSION; line of Makefile.PL. versions like 'v5.10.1' will work fine there if the perl version is new enough.
  • Module::Build::Compat will now die with an error if advanced, non-numeric prerequisites are given, as these are not supported by ExtUtils::MakeMaker in PREREQ_PM

I am also a little concerned that '5.6.0' is being converted to 'v5.6.0' in the generated META.yml file. I would think it would be better to let the author use the version string that they think is best. This breaks Test-YAML-Meta-0.11, at it will take '1.1.1' but not 'v1.1.1'.

Subject: Module-Build-0.3601.patch
--- Module-Build-0.3601/lib/Module/Build/Compat.pm.orig 2010-01-05 08:41:07.000000000 -0500 +++ Module-Build-0.3601/lib/Module/Build/Compat.pm 2010-01-05 15:22:59.000000000 -0500 @@ -76,6 +76,7 @@ # validate formats for my $p ( $req, $breq ) { for my $k (keys %$p) { + next if $k eq 'perl'; die "Prereq '$p->{$k}' for '$k' is not supported by Module::Build::Compat\n" unless _simple_prereq($p->{$k}); }
Subject: Re: [rt.cpan.org #53409] 'version' is not supported by Module::Build::Compat - should not apply to 'perl'.
Date: Tue, 5 Jan 2010 17:51:17 -0500
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
Show quoted text
> The requires->{perl} entry should not be tested by _simple_prereq(), as it is > not being passed to PREREQ_PM. It is only being used in the require VERSION; > line of Makefile.PL. > versions like 'v5.10.1' will work fine there if the perl version is new enough.
You're right. That test shouldn't be applied to the 'perl' entry. Show quoted text
> I am also a little concerned that '5.6.0' is being converted to 'v5.6.0' in the > generated META.yml file. I would think it would be better to let the author use > the version string that they think is best. This breaks Test-YAML-Meta-0.11, at > it will take '1.1.1' but not 'v1.1.1'.
The new, draft META spec clarifies that all "dotted-decimals" must be preceded by a 'v' and must have at least three components so this is just being implemented slightly in advance of the spec. So things will be represented in META either in the form "1.23" or in the form "v1.2.3". Things like 'v1.2" or "1.2.3" will be illegal under the new spec. Test-YAML-Meta was patched to support that in 0.12. David
Subject: Re: [rt.cpan.org #53409] 'version' is not supported by Module::Build::Compat - should not apply to 'perl'.
Date: Tue, 5 Jan 2010 23:38:50 -0500
To: David Golden via RT <bug-Module-Build [...] rt.cpan.org>
From: "G. Allen Morris III" <gam3 [...] ny.gam3.net>
On Tue, Jan 05, 2010 at 05:51:53PM -0500, David Golden via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=53409 > >
> > The requires->{perl} entry should not be tested by _simple_prereq(), as it is > > not being passed to PREREQ_PM. It is only being used in the require VERSION; > > line of Makefile.PL. > > versions like 'v5.10.1' will work fine there if the perl version is new enough.
> > You're right. That test shouldn't be applied to the 'perl' entry. >
> > I am also a little concerned that '5.6.0' is being converted to 'v5.6.0' in the > > generated META.yml file. I would think it would be better to let the author use > > the version string that they think is best. This breaks Test-YAML-Meta-0.11, at > > it will take '1.1.1' but not 'v1.1.1'.
> > The new, draft META spec clarifies that all "dotted-decimals" must be > preceded by a 'v' and must have at least three components so this is > just being implemented slightly in advance of the spec. So things > will be represented in META either in the form "1.23" or in the form > "v1.2.3". Things like 'v1.2" or "1.2.3" will be illegal under the new > spec. Test-YAML-Meta was patched to support that in 0.12.
I would still think that it would be better to handle this in the 'perl Build.PL' stage with a warning message rather than to change the version string under the covers. Thanks for all your hard work, Allen Morris
Download signature.asc
application/pgp-signature 243b

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #53409] 'version' is not supported by Module::Build::Compat - should not apply to 'perl'.
Date: Wed, 6 Jan 2010 17:56:44 -0500
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <xdaveg [...] gmail.com>
On Tue, Jan 5, 2010 at 11:39 PM, G. Allen Morris III via RT <bug-Module-Build@rt.cpan.org> wrote: Show quoted text
> I would still think that it would be better to handle this in the 'perl > Build.PL' stage with a warning message rather than to change the version > string under the covers.
it's operating under the principle of 'liberal in what we accept, strict in what we emit'. But a warning is probably a good idea, too. David
Fixed in repo and will soon be released to CPAN.
Now that there has been a stable Module::Build release, I'm marking this "patched" issue as "resolved".