This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Patch for Stratus VOS for extended file names
authorPaul Green <Paul.Green@Stratus.com>
Thu, 7 Oct 2010 06:43:18 +0000 (23:43 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 7 Oct 2010 06:43:18 +0000 (23:43 -0700)
The attached 1-line patch to hints/vos.sh defines a C macro that enables
support for file names longer than 32 characters on the Stratus OpenVOS
port of perl. As there are now some files in the base package whose
names exceed 32 chars, this is an important change.

This change only applies to OpenVOS (horay for the hints files)! I
tested this change on OpenVOS Release 17.0.2ab.

I have also updated the .pod files that refer to VOS/OpenVOS.

README.vos
hints/vos.sh
pod/perlport.pod

index 9066297..2283fc1 100644 (file)
@@ -13,13 +13,18 @@ operating system.  Perl is a scripting or macro language that is
 popular on many systems.  See L<perlbook> for a number of good
 books on Perl.
 
-These are instructions for building Perl from source.  Most
-people can simply download a pre-compiled distribution from the
-VOS anonymous FTP site.  This version of Perl is not supported
-on VOS Release 14.2.0 or earlier releases.  If you are running
-VOS Release 14.3.0 or later, download Perl from
-ftp://ftp.stratus.com/pub/vos/posix/ga/ga.html.  Instructions
-for unbundling the Perl distribution file are at
+These are instructions for building Perl from source.  This version of
+Perl is not supported on VOS Release 14.2 or earlier releases.  If you
+have a Continuum platform running VOS Release 14.3 through 14.7,
+download Perl from the Stratus Anonymous FTP site at
+ftp://ftp.stratus.com/pub/vos/posix/ga/continuum/continuum.html.  If
+you have a V Series platform running VOS Release 15.0 or later, or if
+you have a V Series platform running OpenVOS Release 17.0 or later,
+download Perl from
+ftp://ftp.stratus.com/pub/vos/posix/ga/v-series/v-series.html.  The
+perl distribution files on the Stratus anonymous FTP site are stored
+in a format called a "bundled file".  Instructions for unbundling the
+Perl distribution file are at
 ftp://ftp.stratus.com/pub/vos/utility/utility.html.
 
 If you are running VOS Release 14.4.1 or later, you can obtain a
@@ -55,27 +60,28 @@ you have modify and default write permission to C<<
 
 =item 2
 
-While there are currently no architecture-specific
-extensions or modules distributed with perl, the following
-directories can be used to hold such files:
+While there are currently no architecture-specific extensions or
+modules distributed with perl, the following directories can be
+used to hold such files (replace the string VERSION by the
+appropriate version number):
 
-     >system>ported>lib>perl5>5.9.0>7100
-     >system>ported>lib>perl5>5.9.0>8000
-     >system>ported>lib>perl5>5.9.0>i786
+     >system>ported>lib>perl5>VERSION>7100
+     >system>ported>lib>perl5>VERSION>8000
+     >system>ported>lib>perl5>VERSION>i786
 
 =item 3
 
 Site-specific perl extensions and modules can be installed in one of
 two places.  Put architecture-independent files into:
 
-     >system>ported>lib>perl5>site_perl>5.9.0
+     >system>ported>lib>perl5>site_perl>VERSION
 
 Put site-specific architecture-dependent files into one of the
 following directories:
 
-     >system>ported>lib>perl5>site_perl>5.9.0>7100
-     >system>ported>lib>perl5>site_perl>5.9.0>8000
-     >system>ported>lib>perl5>site_perl>5.9.0>i786
+     >system>ported>lib>perl5>site_perl>VERSION>7100
+     >system>ported>lib>perl5>site_perl>VERSION>8000
+     >system>ported>lib>perl5>site_perl>VERSION>i786
 
 =item 4
 
@@ -114,8 +120,8 @@ modified to perform such mapping in software on VOS.  Performing
 other floating-point computations that underflow or overflow
 will probably result in SIGFPE.  Don't push your luck.
 
-As of VOS Release 14.7.0, the VOS POSIX runtime sets up the
-PA-RISC and IA-32 hardware floating-point status register so
+As of VOS Release 14.7.0 or later, the VOS POSIX runtime sets up
+the PA-RISC and IA-32 hardware floating-point status register so
 that the overflow and underflow exceptions do not trap, but
 instead automatically convert the result to infinity or zero, as
 appropriate.  As of this writing, there are still floating-point
@@ -158,6 +164,6 @@ Paul Green (Paul.Green@stratus.com)
 
 =head1 LAST UPDATE
 
-February 7, 2008
+October 6, 2010
 
 =cut
index 3401c83..f08ba0b 100644 (file)
@@ -10,7 +10,7 @@
 
 # C compiler and default options.
 cc=gcc
-ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L"
+ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L -D_VOS_EXTENDED_NAMES"
 
 # Make command.
 make="/system/gnu_library/bin/gmake"
index 47968e8..06b1684 100644 (file)
@@ -1159,9 +1159,10 @@ vmsperl on the web, http://www.sidhe.org/vmsperl/index.html
 
 =head2 VOS
 
-Perl on VOS is discussed in F<README.vos> in the perl distribution
-(installed as L<perlvos>).  Perl on VOS can accept either VOS- or
-Unix-style file specifications as in either of the following:
+Perl on VOS (also known as OpenVOS) is discussed in F<README.vos>
+in the perl distribution (installed as L<perlvos>).  Perl on VOS
+can accept either VOS- or Unix-style file specifications as in
+either of the following:
 
     $ perl -ne "print if /perl_setup/i" >system>notices
     $ perl -ne "print if /perl_setup/i" /system/notices
@@ -1172,15 +1173,35 @@ or even a mixture of both as in:
 
 Even though VOS allows the slash character to appear in object
 names, because the VOS port of Perl interprets it as a pathname
-delimiting character, VOS files, directories, or links whose names
-contain a slash character cannot be processed.  Such files must be
-renamed before they can be processed by Perl.  Note that VOS limits
-file names to 32 or fewer characters, file names cannot start with a
-C<-> character, or contain any character matching C<< tr/ !%&'()*+;<>?// >>
-
-The value of C<$^O> on VOS is "VOS".  To determine the architecture that
-you are running on without resorting to loading all of C<%Config> you
-can examine the content of the @INC array like so:
+delimiting character, VOS files, directories, or links whose
+names contain a slash character cannot be processed.  Such files
+must be renamed before they can be processed by Perl.
+
+Older releases of VOS (prior to OpenVOS Release 17.0) limit file
+names to 32 or fewer characters, prohibit file names from
+starting with a C<-> character, and prohibit file names from
+containing any character matching C<< tr/ !#%&'()*;<=>?// >>.
+
+Newer releases of VOS (OpenVOS Release 17.0 or later) support a
+feature known as extended names.  On these releases, file names
+can contain up to 255 characters, are prohibited from starting
+with a C<-> character, and the set of prohibited characters is
+reduced to any character matching C<< tr/#%*<>?// >>.  There are
+restrictions involving spaces and apostrophies:  these characters
+must not begin or end a name, nor can they immediately precede or
+follow a period.  Additionally, a space must not immediately
+precede another space or hyphen.  Specifically, the following
+character combinations are prohibited:  space-space,
+space-hyphen, period-space, space-period, period-apostrophe,
+apostrophe-period, leading or trailing space, and leading or
+trailing apostrophe.  Although an extended file name is limited
+to 255 characters, a path name is still limited to 256
+characters.
+
+The value of C<$^O> on VOS is "VOS".  To determine the
+architecture that you are running on without resorting to loading
+all of C<%Config> you can examine the content of the @INC array
+like so:
 
     if ($^O =~ /VOS/) {
         print "I'm on a Stratus box!\n";
@@ -1202,9 +1223,9 @@ F<README.vos> (installed as L<perlvos>)
 The VOS mailing list.
 
 There is no specific mailing list for Perl on VOS.  You can post
-comments to the comp.sys.stratus newsgroup, or subscribe to the general
-Stratus mailing list.  Send a letter with "subscribe Info-Stratus" in
-the message body to majordomo@list.stratagy.com.
+comments to the comp.sys.stratus newsgroup, or use the contact
+information located in the distribution files on the Stratus
+Anonymous FTP site.
 
 =item *
 
@@ -1764,6 +1785,8 @@ because work arounds in the implementation use floating point numbers,
 it will become inaccurate as the time gets larger.  This is a bug and
 will be fixed in the future.
 
+On VOS, time values are 32-bit quantities.
+
 =item ioctl FILEHANDLE,FUNCTION,SCALAR
 
 Not implemented. (VMS)
@@ -1795,7 +1818,7 @@ numbers. (VMS)
 
 =item link
 
-Not implemented. (MPE/iX, S<RISC OS>)
+Not implemented. (MPE/iX, S<RISC OS>, VOS)
 
 Link count not updated because hard links are not quite that hard
 (They are sort of half-way between hard and soft links). (AmigaOS)
@@ -1859,11 +1882,11 @@ Note that the C<select FILEHANDLE> form is generally portable.
 
 =item semop
 
-Not implemented. ( Win32, VMS, S<RISC OS>, VOS)
+Not implemented. (Win32, VMS, S<RISC OS>)
 
 =item setgrent
 
-Not implemented. (MPE/iX, VMS, Win32, S<RISC OS>, VOS)
+Not implemented. (MPE/iX, VMS, Win32, S<RISC OS>)
 
 =item setpgrp
 
@@ -1875,7 +1898,7 @@ Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item setpwent
 
-Not implemented. (MPE/iX, Win32, S<RISC OS>, VOS)
+Not implemented. (MPE/iX, Win32, S<RISC OS>)
 
 =item setsockopt
 
@@ -1898,7 +1921,9 @@ be implemented even in Unix platforms.
 
 =item socketpair
 
-Not implemented. (S<RISC OS>, VOS, VM/ESA)
+Not implemented. (S<RISC OS>, VM/ESA)
+
+Available on OpenVOS Release 17.0 or later. (VOS)
 
 Available on 64 bit OpenVMS 8.2 and later.  (VMS)
 
@@ -2101,7 +2126,7 @@ Caveats:
 
 =item Symbian (Series 60 v3, 3.2 and 5 - what else?)
 
-=item Stratus VOS
+=item Stratus VOS / OpenVOS
 
 =item AIX