On Sun, May 26, 2002 at 11:08:21AM -1000, Tim Jenness wrote:
> On Sun, 26 May 2002, Automated Perl Test Account wrote:
> This failed because Astro::SLA is not installed. Astro::SLA is a 
> dependency that is specified in the Makefile.PL. Does CPANPLUS not respect 
> PREREQ_PM?  There is no point skipping the test if Astro::SLA can't be 
> found because it wouldn't help things.

I'm sorry. As your Makefile.PL states:

    'PREREQ_PM'      => { 
        Astro::SLA => undef,
        Time::Piece => '1.00',
    },

The 'undef' part is not understood by either CPAN.pm or CPANPLUS.pm, as we
both used A. Speer's regex, namely:

    m/(?:\s)([\w\:]+)=>q\[(.*?)\],?/g

To match Makefile.  If you change the 'undef' to '0' or '' or '0.00' then
it will be correctly picked up.

ExtUtils::MakeMaker's documentation offers little help to clarify this matter:

    PREREQ_PM
        Hashref: Names of modules that need to be available to
        run this extension (e.g. Fcntl for SDBM_File) are the
        keys of the hash and the desired version is the value.
        If the required version number is 0, we only check if
        any version is installed already.

So it's either CPAN.pm and CPANPLUS.pm both needs fix, or the "undef not
supported" situation needs to be documented, and your Astro::SLA package
changed.  I've implemented the following fix to CPANPLUS, and am neutral
on this issue.

(CC'ed to [EMAIL PROTECTED] for opinions and rulings.)

Thanks,
/Autrijus/

==== //depot/devel/lib/CPANPLUS/Internals/Make.pm#14 - 
/tmp/cpanplus/devel/lib/CPANPLUS/Internals/Make.pm ====
@@ -612,7 +612,7 @@
         next unless $p;
 
         ### parse out the single prereqs
-        while ( $p =~ m/(?:\s)([\w\:]+)=>q\[(.*?)\],?/g ){
+        while ( $p =~ m/(?:\s)([\w\:]+)=>(?:q\[(.*?)\],?|undef)/g ){
 
             ### In case a prereq is mentioned twice, complain.
             if ( defined $p{$1} ) {

Attachment: msg35232/pgp00000.pgp
Description: PGP signature

Reply via email to