develooper Front page | perl.makemaker | Postings from May 2002

Re: FAIL Astro-Coords-0.01 i386-linux 2.4.8-11mdkenterprise

Thread Next
Autrijus Tang
May 27, 2002 00:33
Re: FAIL Astro-Coords-0.01 i386-linux 2.4.8-11mdkenterprise
Message ID:
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 or, as we
both used A. Speer's regex, namely:


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:

	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 and 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 for opinions and rulings.)


==== //depot/devel/lib/CPANPLUS/Internals/ - /tmp/cpanplus/devel/lib/CPANPLUS/Internals/ ====
@@ -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} ) {

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About