From: ml1050 Date: Sat, 26 Aug 2000 23:24:40 +0000 (+0200) Subject: DJGPP update from Laszlo Molnar. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6bbf1b34247ce712172c78aebaa1dc75c828f3bc;p=p5sagit%2Fp5-mst-13.2.git DJGPP update from Laszlo Molnar. Subject: [ID 20000826.014] Not OK: perl v5.7.0 +SUIDMAIL +DEVEL6788 on dos-djgpp djgpp (UNINSTALLED) [PATCH] Message-Id: <20000826232440.A439@freemail.hu> p4raw-id: //depot/perl@6844 --- diff --git a/djgpp/config.over b/djgpp/config.over index 5c25236..b48774f 100644 --- a/djgpp/config.over +++ b/djgpp/config.over @@ -34,7 +34,8 @@ repair() -e 's=file/=='\ -e 's=File/=='\ -e 's=glob=='\ - -e 's=Glob==' + -e 's=Glob=='\ + -e 's/storable/Storable/' } static_ext=$(repair "$static_ext") extensions=$(repair "$extensions") diff --git a/lib/File/Temp.pm b/lib/File/Temp.pm index fd84744..956a41d 100644 --- a/lib/File/Temp.pm +++ b/lib/File/Temp.pm @@ -732,7 +732,7 @@ sub _can_do_level { return 1 if $level == STANDARD; # Currently, the systems that can do HIGH or MEDIUM are identical - if ( $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin') { + if ( $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'dos') { return 0; } else { return 1; @@ -1530,6 +1530,8 @@ sub unlink0 { @okstat = (2,3,4,5,7,8,9,10); } elsif ($^O eq 'VMS') { # device and file ID are sufficient @okstat = (0, 1); + } elsif ($^O eq 'dos') { + @okstat = (0,2..7,11..$#fh); } # Now compare each entry explicitly by number diff --git a/pod/buildtoc.PL b/pod/buildtoc.PL index 140d214..55e3925 100644 --- a/pod/buildtoc.PL +++ b/pod/buildtoc.PL @@ -472,3 +472,7 @@ sub output ($) { !NO!SUBS! +close OUT or die "Can't close $file: $!"; +chmod 0755, $file or die "Can't reset permissions for $file: $!\n"; +exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':'; +chdir $origdir; diff --git a/t/lib/ftmp-security.t b/t/lib/ftmp-security.t index d31cc9e..761cbc1 100755 --- a/t/lib/ftmp-security.t +++ b/t/lib/ftmp-security.t @@ -25,7 +25,7 @@ use File::Temp qw/ tempfile unlink0 /; ok(1); # The high security tests must currently be skipped on Windows -my $skipplat = ( ($^O eq 'MSWin32' || $^O eq 'os2') ? 1 : 0 ); +my $skipplat = ( ($^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'dos') ? 1 : 0 ); # Can not run high security tests in perls before 5.6.0 my $skipperl = ($] < 5.006 ? 1 : 0 ); diff --git a/t/lib/posix.t b/t/lib/posix.t index abc4563..d38e7ef 100755 --- a/t/lib/posix.t +++ b/t/lib/posix.t @@ -17,6 +17,7 @@ $| = 1; print "1..27\n"; $Is_W32 = $^O eq 'MSWin32'; +$Is_Dos = $^O eq 'dos'; $testfd = open("TEST", O_RDONLY, 0) and print "ok 1\n"; read($testfd, $buffer, 9) if $testfd > 2; @@ -24,6 +25,11 @@ print $buffer eq "#!./perl\n" ? "ok 2\n" : "not ok 2\n"; write(1,"ok 3\nnot ok 3\n", 5); +if ($Is_Dos) { + for (4..5) { + print "ok $_ # skipped, no pipe() support on dos\n"; + } +} else { @fds = POSIX::pipe(); print $fds[0] > $testfd ? "ok 4\n" : "not ok 4\n"; CORE::open($reader = \*READER, "<&=".$fds[0]); @@ -32,10 +38,11 @@ print $writer "ok 5\n"; close $writer; print <$reader>; close $reader; +} -if ($Is_W32) { +if ($Is_W32 || $Is_Dos) { for (6..11) { - print "ok $_ # skipped, no sigaction support on win32\n"; + print "ok $_ # skipped, no sigaction support on win32/dos\n"; } } else { diff --git a/t/pragma/warn/pp_sys b/t/pragma/warn/pp_sys index 413a17b..88c3542 100644 --- a/t/pragma/warn/pp_sys +++ b/t/pragma/warn/pp_sys @@ -382,6 +382,13 @@ Unsuccessful open on filename containing newline at - line 3. ######## # pp_sys.c [pp_sysread] use warnings 'io' ; +if ($^O eq 'dos') { + print <$file") ; my $a = sysread(F, $a,10) ;