Skip Menu |

This queue is for tickets about the Mail-SPF CPAN distribution.

Report information
The Basics
Id: 53231
Status: resolved
Priority: 0/
Queue: Mail-SPF

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

Bug Information
Severity: Important
Broken in: v2.007
Fixed in: v2.8.0



Subject: Makefile.PL fails consistently: Prereq 'v5.6' for 'perl' is not supported by Module::Build::Compat
Hello,

We are seeing this on many systems w/ various perl's and architecture:

  perl v5.8.9 built for i686-linux

  perl v5.8.8 for x86_64

The problem is the 'require v5.6;' in Makefile.PL

~] # perl Makefile.PL 
# running Build.PL 
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Mail-SPF' version 'v2.7.0'
Prereq 'v5.6' for 'perl' is not supported by Module::Build::Compat
~] #

If I use 'Build.PL' instead of 'Makefile.PL' to install the error does not happen.
From: jd [...] cpanel.net
Your Makefile.PL and Build.PL aren't compatible with Module::Build::Compat 0.36 and higher. Build.PL needs to be updated and Makefile.PL regenerated with a new version of Module::Build. Patch attached.
Subject: module_build_compat_fixes.diff
diff -Nur Mail-SPF-v2.007.orig/Build.PL Mail-SPF-v2.007/Build.PL --- Mail-SPF-v2.007.orig/Build.PL 2009-10-31 17:16:14.000000000 -0500 +++ Mail-SPF-v2.007/Build.PL 2010-01-14 18:42:46.000000000 -0600 @@ -48,7 +48,7 @@ license => 'bsd', requires => { # Core requirements: - perl => 'v5.6', + perl => '5.006', version => 0, Error => 0, NetAddr::IP => '4', @@ -63,7 +63,7 @@ Module::Build => '0.2805', Test::More => 0, Net::DNS::Resolver::Programmable - => 'v0.002.1', + => '0.002001', }, script_files => [ 'bin/spfquery'
From: toddr [...] null.net
The problem is how perl prior to 5.8 handles qv and v2 notation. To fix this, the following patch, viewable on github and attached should fix the problem with the next release. This is breaking people's installs of Spam Assassin, so a speedy correction would be appreciated. Thanks! http://github.com/toddr/Mail-SPF/commit/7fbde4f5cbf4d989ccd477e63a83d84ceccb2439
Subject: SPF.diff
diff --git a/Build.PL b/Build.PL index 15bb927..290c4ce 100644 --- a/Build.PL +++ b/Build.PL @@ -48,7 +48,7 @@ my $build = $class->new( license => 'bsd', requires => { # Core requirements: - perl => 'v5.6', + perl => '5.006', version => 0, Error => 0, NetAddr::IP => '4', @@ -63,7 +63,7 @@ my $build = $class->new( Module::Build => '0.2805', Test::More => 0, Net::DNS::Resolver::Programmable - => 'v0.002.1', + => '0.002001', }, script_files => [ 'bin/spfquery' diff --git a/CHANGES b/CHANGES index b7c4303..838d24a 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,11 @@ # ! = Changed something significant, or removed a feature # * = Fixed a bug, or made a minor improvement +--- 2.008 (2010-02-04 12:00) + + Miscellaneous: + * Fix version numbers to provide perl compaibility prior to 5.8 + --- 2.007 (2009-10-31 21:00) Mail::SPF: diff --git a/lib/Mail/SPF.pm b/lib/Mail/SPF.pm index 67d1e5c..4a62632 100644 --- a/lib/Mail/SPF.pm +++ b/lib/Mail/SPF.pm @@ -17,11 +17,11 @@ Mail::SPF - An object-oriented implementation of Sender Policy Framework =head1 VERSION -2.007 +2.008 =cut -use version; our $VERSION = qv('2.007'); +use version; our $VERSION = '2.008'; use warnings; use strict;
After trials and tribulations with M:B:Compat, my recommendation is: don't. If you're wanting to not force M:B on the perl 5.6 community, I'd recommend just switching this module back to ExtUtils::MakeMaker. I would be happy to facilitate a release to this effect if you would like. Right now, I think some of the automated test systems prefer Makefile.PL and thus are failing for that reason. Let me know if you want me to help. Todd
I forgot to add. If you want to stay with M:B, I'd recommend removing Makefile.PL and removing it's entry in the MANIFEST. This should fix the problem too.
RT-Send-CC: jd [...] cpanel.net
I wish I didn't have to care about Perl 5.6 anymore. Guys, Perl 5.6 is *ancient*! Stop using it already! :-) Anyway ... On Fri Jul 09 18:41:50 2010, TODDR wrote: Show quoted text
> I forgot to add. If you want to stay with M:B, I'd recommend removing > Makefile.PL and removing > it's entry in the MANIFEST. This should fix the problem too.
I'll happily drop Makefile.PL in the next release if that solves more problems than it creates. Given that modern Perls now ship Module::Build and the current CPAN toolchain now handles Build.PL correctly, I think it would be an acceptable move. Anyone disagree? Switching Mail-SPF back to MakeMaker is not an option. John, does changing the version requirements to unstructured version numbers really solve your problem? Todd, BTW, I appreciate you mini-forking Mail-SPF on GitHub, but I strongly recommend against increasing the version number like you did. 2.008 will obviously be the version number used by my next release, and having two like named modules with identical version numbers but different code will only cause headaches for all involved. Maybe you ought to rename your package (not the actual code modules) to something else.
Subject: Re: [rt.cpan.org #53231] Makefile.PL fails consistently: Prereq 'v5.6' for 'perl' is not supported by Module::Build::Compat
Date: Tue, 13 Jul 2010 13:41:10 -0500
To: bug-Mail-SPF [...] rt.cpan.org
From: John Lightsey <jd [...] cpanel.net>
On 07/09/2010 05:57 PM, Julian Mehnle via RT wrote: Show quoted text
> I'll happily drop Makefile.PL in the next release if that solves more > problems than it creates. Given that modern Perls now ship > Module::Build and the current CPAN toolchain now handles Build.PL > correctly, I think it would be an acceptable move. Anyone disagree? >
This sounds like a good fix to me. Show quoted text
> John, does changing the version requirements to unstructured version > numbers really solve your problem?
It does because it works around the change in Module::Build::Compat that rejects non-numeric version numbers for passthrough Makefile.PL's. Supposedly these types of version numbers were always buggy in the past. Module::Build::Compat just didn't complain about them before 0.36.
RT-Send-CC: jd [...] cpanel.net
Show quoted text
> Todd, BTW, I appreciate you mini-forking Mail-SPF on GitHub, but I > strongly recommend against increasing the version number like you did. > 2.008 will obviously be the version number used by my next release, and > having two like named modules with identical version numbers but > different code will only cause headaches for all involved. Maybe you > ought to rename your package (not the actual code modules) to something > else.
This was just to temporarily work around the problem until a more permanent solution could be provided. I've deleted the repo. Thanks!
On 2010-01-14 19:55:44, jlightsey wrote: Show quoted text
> Your Makefile.PL and Build.PL aren't compatible with > Module::Build::Compat 0.36 and higher. Build.PL needs to be updated and > Makefile.PL regenerated with a new version of Module::Build. > > Patch attached.
Mail::SPF 2.008 has this: perl and Net::DNS::Resolver::Programmable version numbers flattened in Build.PL. I've decided to keep the passthrough Makefile.PL for the time being, until Module::Build itself decides to drop the feature because they think Build.PL/configure_requires support is widespread enough.