Skip Menu |

This queue is for tickets about the XML-SAX-Base CPAN distribution.

Report information
The Basics
Id: 8020
Status: resolved
Priority: 0/
Queue: XML-SAX-Base

People
Owner: Nobody in particular
Requestors: cpan [...] pjedwards.co.uk
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.04
Fixed in: (no value)



Subject: In makefile.pl of XML-SAX-Base, catdir should be catfile, this impacts VMS.
Running Perl version 5.81 and 5.005_02 on VMS with verion 1.04 of XML-SAX-Base. See patch below. The makefile calls 'catdir' when the last argument is a filename, I imagine on most other OS the filename provided is a valid directory name (and hence this is not a problem), however on VMS a directory name cannot contain a dot/period. The fix is to use 'catfile', this expects the last argument to be a filename. More info if you are interested, the way the code currently stands the call to catdir returns an empty string on VMS, this is a valid name and so a file with name '.' gets created, and then makefile.pl enters an infinite loop. <output> $ perl makefile.pl Checking if your kit is complete... Looks good Checking if your kit is complete... Looks good Checking if your kit is complete... Looks good Checking if your kit is complete... Looks good Checking if your kit is complete... </output> Many Thanks, Peter (Stig) Edwards *** makefile.pl Mon Apr 29 17:25:29 2002 --- makefile2.pl Fri Oct 15 06:43:51 2004 *************** *** 752,758 **** FOOTER ! open(BASE, ">" . File::Spec->catdir("lib", "XML", "SAX", "Base.pm")) || die "Cannot write Base.pm: $!"; print BASE $code; close BASE; } --- 752,758 ---- FOOTER ! open(BASE, ">" . File::Spec->catfile("lib", "XML", "SAX", "Base.pm")) || die "Cannot write Base.pm: $!"; print BASE $code; close BASE; } *************** *** 886,892 **** =cut EOT ! open(EXCEP, ">" . File::Spec->catdir("lib", "XML", "SAX", "Exception.pm")) || die "Cannot write Exception.pm: $!"; print EXCEP $code; close EXCEP; } --- 886,892 ---- =cut EOT ! open(EXCEP, ">" . File::Spec->catfile("lib", "XML", "SAX", "Exception.pm")) || die "Cannot write Exception.pm: $!"; print EXCEP $code; close EXCEP; }
This issue has been resolved in release 1.06 of XML::SAX::Base. The code which generates lib/XML/SAX/Base.pm has been moved to BuildSAXBase.PL which is now run at release time rather than build time. A user can modify BuildSAXBase.PL and run it on their own system. The BuildSAXBase.PL script includes the catdir/catfile change.