Skip Menu |

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

Report information
The Basics
Id: 75225
Status: resolved
Priority: 0/
Queue: Module-Install

People
Owner: Nobody in particular
Requestors: KENTNL [...] cpan.org
Cc: bobtfish [...] bobtfish.net
MIYAGAWA [...] cpan.org
ribasushi [...] leporine.io
AdminCc:

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



Subject: Should not depend on whatever EUMM version it was released with

I discovered today that: 

https://metacpan.org/source/BOBTFISH/Catalyst-Action-REST-0.98/META.yml

Unintentionally infers a dependency on ExtUtils::MakeMaker 6.63_02 , due to Tom releasing his dist under perl 5.15.8 .

This is decidedly unwanted behaviour, as the latest stable version on ExtUtils::MakeMaker on CPAN is version 6.59, and there's nothing intrinsically special about his dist that makes it need 6.59, and there's nothing magical being done by MI that would suggest EUMM 6.63_02 is really necessary.

So, as a result of discussing this with tom, ribasushi and leont  ( on #catalyst and #toolchain ), I was placed under the impression that the "sane" thing to do here is place a fixed requirement on 6.59 , both in the generated build_requires / configure_requires , and in the 'requires' for MI itself.


There was a little umming and aahing as to whether or not to completely strip out the perl 5.005 and lower back-compat code and just state the sane mentality that that platform now is pretty much deemed "broken" anyway, but its been left in anyway.

 

Attached Patch replaces the "use the current EUMM" logic with "use 6.59" and also places an install dep on EUMM 6.59.

The patch is in git format vs a git-svn'd copy of http://svn.ali.as/cpan/trunk/Module-Install@14948  , but hopefully that doesn't pose any complications.

Subject: 0001-Modify-it-so-if-developers-are-not-explicitly-statin.patch
From ac653519b70a7c6051357f89a301bee07c49b5bf Mon Sep 17 00:00:00 2001 From: Kent Fredric <kentfredric@gmail.com> Date: Thu, 23 Feb 2012 09:56:03 +1300 Subject: [PATCH] Modify it so if developers are not explicitly stating support for perl 5.005 or lower, then EUMM 5.59 is mandated, instead of mandating that the end user install whatever version of EUMM the developer happened to be using --- Makefile.PL | 1 + lib/Module/Install/Makefile.pm | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index 48862ee..fee61e3 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -35,6 +35,7 @@ requires 'ExtUtils::ParseXS' => '2.19'; requires 'Module::Build' => '0.29'; requires 'LWP::UserAgent' => '5.812'; requires 'Module::Metadata' => '1.000007'; +requires 'ExtUtils::MakeMaker' => '6.59'; test_requires 'Test::Harness' => '3.13'; test_requires 'Test::More' => '0.86'; diff --git a/lib/Module/Install/Makefile.pm b/lib/Module/Install/Makefile.pm index 52df806..b321c82 100644 --- a/lib/Module/Install/Makefile.pm +++ b/lib/Module/Install/Makefile.pm @@ -214,11 +214,13 @@ sub write { require ExtUtils::MakeMaker; if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { - # MakeMaker can complain about module versions that include - # an underscore, even though its own version may contain one! - # Hence the funny regexp to get rid of it. See RT #35800 - # for details. - my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/; + + # Previously the MakeMaker version required was determined based + # on whatever you were using when you released the dist, but this is + # not sensible, as Module::Install really is the single arbiter + # of what version of ExtUtils::MakeMaker we really should need. + + my ($v) = '6.59'; # Minium Version of ExtUtils::MakeMaker $self->build_requires( 'ExtUtils::MakeMaker' => $v ); $self->configure_requires( 'ExtUtils::MakeMaker' => $v ); } else { -- 1.7.3.4

Whoops, a few editorial mistakes:

Show quoted text

latest stable version on ExtUtils::MakeMaker on CPAN is version 6.59

Latest stable is 6.62, but 6.59 is, to quote ribasushi: "not terminally fucked, and tested enough"

Show quoted text

and there's nothing intrinsically special about his dist that makes it need 6.59

I obviously meant to say 6.63_02  here. 
 

 

CC: KENTNL [...] cpan.org, MIYAGAWA [...] cpan.org, bobtfish [...] bobtfish.net, ribasushi [...] cpan.org
Subject: Re: [rt.cpan.org #75225] Should not depend on whatever EUMM version it was released with
Date: Wed, 22 Feb 2012 13:40:56 -0800
To: bug-Module-Install [...] rt.cpan.org
From: Tatsuhiko Miyagawa <miyagawa [...] gmail.com>
Just for a note: this behavior has been broken for a long time and my patch (r14804) fixed the other related issue that was meant for 5.005 and older and introducing this behavior. +1 that the current behavior is annoying and unwanted and it should be fixed. -- Tatsuhiko Miyagawa On Wednesday, February 22, 2012 at 1:36 PM, Kent Fredric via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=75225 > > > Whoops, a few editorial mistakes: > > latest stable version on ExtUtils::MakeMaker on CPAN is version 6.59 > > Latest stable is 6.62, but 6.59 is, to quote ribasushi: "not terminally fucked, > and tested enough" > > and there's nothing intrinsically special about his dist that makes it need > 6.59 > > I obviously meant to say 6.63_02 here.
RT-Send-CC: MIYAGAWA [...] cpan.org
Fixed in 1.05. Miyagawa: I also removed the use of Module::Metadata as inc'ing it imposed an implicit Perl 5.10 dependency. I moved to EU:MM version detection with a hand-rolled @INC walker instead.