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