Subject: | [PATCH] ExtUtils::MakeMaker versions that include an underscore may result in a warning when running Makefile.PL |
G'day Adam, Audrey, Jesse, Ingy, and anyone else who has their thumbs in
the Module::Install pie today,
I discovered that when using a version of MakeMaker that includes an
underscore (eg, 6.42_01) a warning is produced when running 'perl
Makefile.PL' when MakeMaker itself tries to use this version as a number.
At least, this is the case with ActivePerl 5.10.0, MakeMaker 6.42_01,
and Module::Install 0.72. I imagine it's the case with other setups.
This could be considered a bug in MakeMaker, since module versions may
contain underscores and hence are not 'true' numbers. It may even be
fixed there already, but that isn't going to get rid of the unsightly
message when my users install my modules with older MakeMakers. Fixing
it in Module::Install provides instant gratification. ;)
A patch against Module::Install::Makefile.pm is attached which resolves
this.
Cheerio,
Paul
Subject: | module-install-extutils.patch |
Index: Makefile.pm
===================================================================
RCS file: /var/cvs/IPC-System-Simple/inc/Module/Install/Makefile.pm,v
retrieving revision 1.1
diff -u -r1.1 Makefile.pm
--- Makefile.pm 12 May 2008 09:01:59 -0000 1.1
+++ Makefile.pm 12 May 2008 09:07:24 -0000
@@ -116,7 +116,12 @@
# Make sure we have a new enough
require ExtUtils::MakeMaker;
- $self->configure_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION );
+
+ # 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.
+
+ $self->configure_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/ );
# Generate the
my $args = $self->makemaker_args;