From: Charles Lane Date: Thu, 12 Oct 2000 07:30:02 +0000 (-0400) Subject: 5.6.0 & 5.7.1, VMS fixes X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e4dfc136d9a3d82ffa8f71e721a4dfe58fd3bad2;p=p5sagit%2Fp5-mst-13.2.git 5.6.0 & 5.7.1, VMS fixes Message-Id: <001012072828.2eabc@DUPHY4.Physics.Drexel.Edu> p4raw-id: //depot/perl@7208 --- diff --git a/lib/File/Temp.pm b/lib/File/Temp.pm index 2dec72c..a351044 100644 --- a/lib/File/Temp.pm +++ b/lib/File/Temp.pm @@ -340,6 +340,7 @@ sub _gettemp { if ($^O eq 'VMS') { # need volume to avoid relative dir spec $parent = File::Spec->catdir($volume, @dirs[0..$#dirs-1]); + $parent = 'sys$disk:[]' if $parent eq ''; } else { # Put it back together without the last one @@ -1107,7 +1108,7 @@ sub tempdir { # Prepend the supplied directory or temp dir if ($options{"DIR"}) { - $template = File::Spec->catfile($options{"DIR"}, $template); + $template = File::Spec->catdir($options{"DIR"}, $template); } elsif ($options{TMPDIR}) { diff --git a/t/lib/st-lock.t b/t/lib/st-lock.t index 0bb4a33..28fe664 100644 --- a/t/lib/st-lock.t +++ b/t/lib/st-lock.t @@ -19,6 +19,10 @@ sub BEGIN { print "1..0 # Skip: Storable was not built\n"; exit 0; } + if (!$Config{'d_flock'} && !$Config{'d_fcntl'} && !$Config{'d_lockf'}) { + print "1..0 # Skip: no flock or flock emulation on this platform\n"; + exit 0; + } require 'lib/st-dump.pl'; } diff --git a/t/pod/find.t b/t/pod/find.t index e0ab63e..f5d4c52 100644 --- a/t/pod/find.t +++ b/t/pod/find.t @@ -24,7 +24,7 @@ if ($^O eq 'VMS') { } print "### searching $lib_dir\n"; my %pods = pod_find("$lib_dir"); -my $result = join(',', sort values %pods); +my $result = join("\n### ", sort values %pods); print "### found $result\n"; my $compare = join(',', qw( Pod::Checker @@ -39,7 +39,10 @@ my $compare = join(',', qw( if ($^O eq 'VMS') { $compare = lc($compare); $result = join(',', sort grep(/pod::/, values %pods)); - $result =~ s/$Qlib_dir/pod::/g; + my $undollared = $Qlib_dir; + $undollared =~ s/\$/\\\$/g; + $undollared =~ s/\-/\\\-/g; + $result =~ s/$undollared/pod::/g; my $count = 0; my @result = split(/,/,$result); my @compare = split(/,/,$compare); diff --git a/t/pod/testp2pt.pl b/t/pod/testp2pt.pl index 91a20ee..8cfdbb9 100644 --- a/t/pod/testp2pt.pl +++ b/t/pod/testp2pt.pl @@ -42,8 +42,11 @@ BEGIN { sub catfile(@) { File::Spec->catfile(@_); } my $INSTDIR = abs_path(dirname $0); -$INSTDIR = VMS::Filespec::unixpath($INSTDIR) if $^O eq 'VMS'; -$INSTDIR =~ s#/$## if $^O eq 'VMS'; +if ($^O eq 'VMS') { # clean up directory spec + $INSTDIR = VMS::Filespec::unixpath($INSTDIR); + $INSTDIR =~ s#/$##; + $INSTDIR =~ s#/000000/#/#; +} $INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 'pod'); $INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 't'); my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'), @@ -51,6 +54,7 @@ my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'), catfile($INSTDIR, 'pod'), catfile($INSTDIR, 't', 'pod') ); +print "PODINCDIRS = ",join(', ',@PODINCDIRS),"\n"; ## Find the path to the file to =include sub findinclude { diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl index a109f7b..68bb6e8 100644 --- a/vms/gen_shrfls.pl +++ b/vms/gen_shrfls.pl @@ -328,6 +328,7 @@ if ($ENV{PERLSHR_USE_GSMATCH}) { # number in the top four bits and use the bottom four for build options # that'll cause incompatibilities ($ver, $sub) = $] =~ /\.(\d\d\d)(\d\d)/; + $ver += 0; $sub += 0; $gsmatch = ($sub >= 50) ? "equal" : "lequal"; # Force an equal match for # dev, but be more forgiving # for releases