On 7/19/07, Eric Wilhelm <[EMAIL PROTECTED]> wrote:
# from David Golden
# on Wednesday 18 July 2007 09:05 pm:

>While EU::MM doesn't handle
>'perl' well (it issues a warning about a missing prerequisite), it
>does still write it into the Makefile PREREQ_PM line and into the
>META.yml.

Presumably, the compatibility Makefile.PL isn't used for ./Build dist,
so the META.yml shouldn't be affected, right?

The distribution that triggered this investigation is Module::Mask, which uses
   create_makefile_pl => 'passthrough'

It seems that "make distdir" calls Build and the META.yml is created
by Module::Build and looks fine when I tried it on that distribution.

Are the downstream tools reading 'Makefile' and checking for 'perl' in
the 'PREREQ_PM' line?

CPAN.pm explicitly checks for 'perl' in prereqs.  CPAN::Reporter
checks for it as well to determine if a failing test report is really
due to an insufficient version of Perl.  The issue was found when a
CPAN::Reporter report for Module::Mask on Perl 5.6.2 didn't catch the
prereq despite it being present in the Build.PL and META.yml.

Is EU::MM assuming that perl is a module?  Should we just print a better
warning from the Makefile.PL?

EU::MM currently assumes 'perl' is a module -- I posted a patch for it on RT:

https://rt.cpan.org/Ticket/Display.html?id=28374

The patch does yet handle dotted-decimal form ('perl' => '5.8.8') but
it probably should.  But I didn't have the time last night to figure
out a safe to do it without version.pm.  (I think I can lift code from
CPAN::Version but I need to understand what it's doing first.)

David

Reply via email to