On Tue, Aug 14, 2001 at 01:33:32PM -0700, Peter Prymmer wrote:
>
> Greetings,
>
> The enclosed patch affects the configure.com and README.vms files
> within the distribution. It will make the default installation location
> differ from the build directory by default (although still allow
> over-rides). It also removes "Sys/Syslog" from the list of buildable
> extensions, but still does allow for adding that by hand (since GDBM is
> rare on VMS it too is not built by default and if you build Sys/Syslog and
> then try to use it you see the following errors:
>
> $ perl "-MSys::Syslog" -e "print ""Hello world"";"
> Your vendor has not defined GDBM_File macro LOG_DEBUG, used at -e line 0
> Compilation failed in require.
> BEGIN failed--compilation aborted.
> %SYSTEM-F-ABORT, abort
>
> There are a few other updates included too. The nature of this patch
> has been discussed on the vmsperl list and I am indebted to Craig Berry
> for providing some very valuable feedback.
Thanks, applied.
> diff -ru perl_11626_orig/README.vms perl_11626/README.vms
> --- perl_11626_orig/README.vms Mon Aug 13 17:09:06 2001
> +++ perl_11626/README.vms Tue Aug 14 13:27:11 2001
> @@ -196,6 +196,17 @@
>
> @ Configure "-d" "-Dprefix=dka100:[utils.perl5.]"
>
> +Note that the installation location would be by default where you unpacked
> +the source with a "ROOT." appended. For example if you unpacked the perl
> +source into:
> +
> + DKA200:[PERL-5_10_2...]
> +
> +Then the PERL_SETUP.COM that gets written out by Configure.com will
> +try to DEFINE your installation PERL_ROOT to be:
> +
> + DKA200:[PERL-5_10_2ROOT.]
> +
> More help with configure.com is available from:
>
> @ Configure "-h"
> @@ -451,6 +462,20 @@
> While there is code in perl to remove privileges as it runs you are advised
> to NOT INSTALL PERL.EXE with PRIVs!
>
> +=head2 Running h2ph to create perl header files (optional) on VMS
> +
> +If using DEC C or Compaq C ensure that you have extracted loose versions
> +of your compiler's header or *.H files. Be sure to check the contents of:
> +
> + SYS$LIBRARY:DECC$RTLDEF.TLB
> + SYS$LIBRARY:SYS$LIB_C.TLB
> + SYS$LIBRARY:SYS$STARLET_C.TLB
> +
> +etcetera.
> +
> +If using GNU cc then also check your GNU_CC:[000000...] tree for the locations
> +of the GNU cc headers.
> +
> =head1 Reporting Bugs
>
> If you come across what you think might be a bug in Perl, please report
> @@ -467,8 +492,9 @@
>
> The next big gotcha is directory depth. Perl can create directories four,
> five, or even six levels deep during the build, so you don't have to be
> -too deep to start to hit the RMS 8 level limit (for versions of VMS prior
> -to V7.2 and even with V7.2 on the VAX). It is best to do
> +too deep to start to hit the RMS 8 level limit (for ODS 2 volumes which were
> +common on versions of VMS prior to V7.2 and even with V7.2 on the VAX).
> +It is best to do:
>
> DEFINE/TRANS=(CONC,TERM) PERLSRC "disk:[dir.dir.dir.perldir.]"
> SET DEFAULT PERLSRC:[000000]
> diff -ru perl_11626_orig/configure.com perl_11626/configure.com
> --- perl_11626_orig/configure.com Mon Aug 13 17:08:53 2001
> +++ perl_11626/configure.com Tue Aug 14 11:46:01 2001
> @@ -427,11 +427,15 @@
> $ GOTO Beyond_manifest
> $ ENDIF
> $ ELSE
> -$! MANIFEST. has been found and we have set def'ed there -
> -$! time to bail out before it's too late.
> -$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
> -$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO
>Beyond_depth_check
> -$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".")
> +$! MANIFEST. has been found and we have set def'ed there.
> +$! Time to bail out before it's too late, i.e. too deep.
> +$! Depth check is unnecessary on Alpha VMS V7.2++ (even for ODS-2).
> +$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
> +$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO
>Beyond_depth_check
> +$! Depth check also unnecessary on ODS 5 (or later) file systems.
> +$ tmp = F$INTEGER(F$GETDVI(F$ENVIRONMENT("DEFAULT"),"ACPTYPE") - "F11V")
> +$ IF (tmp .GE. 5) THEN GOTO Beyond_depth_check
> +$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("DEFAULT")).nes.".")
> $ THEN
> $ TYPE SYS$INPUT:
> $ DECK
> @@ -1130,7 +1134,8 @@
> $ prefix = F$ENVIRONMENT("DEFAULT") - ".UU]" + "]"
> $ prefix = F$PARSE(prefix,,,,"NO_CONCEAL") - "][" - ".;"
> $ prefixbase = prefix - "]"
> -$ prefix = prefixbase + ".]"
> +$! Add ROOT to make install PERL_ROOT differ from build directory.
> +$ prefix = prefixbase + "ROOT.]"
> $ ENDIF
> $ src = prefix
> $!: determine root of directory hierarchy where package will be installed.
> @@ -1160,6 +1165,22 @@
> $! Check here for writability of requested PERL_ROOT if it is not the default (cwd).
> $! -> recommend letting PERL_ROOT be PERL_SRC if requested PERL_ROOT is not
>writable.
> $!
> +$ IF .NOT. F$GETDVI(perl_root,"MNT")
> +$ THEN
> +$ tmp = F$PARSE(perl_root,,,"DEVICE",)
> +$ echo4 "''tmp' is not mounted."
> +$ ELSE
> +$ tmp = perl_root - ".]" + "]"
> +$ dflt = F$PARSE(tmp,,,,)
> +$ IF dflt .eqs. ""
> +$ THEN
> +$ echo4 "''tmp' does not yet exist."
> +$! create/directory 'tmp'
> +$ ELSE
> +$ echo4 "''tmp' already exists."
> +$ ENDIF
> +$ ENDIF
> +$!
> $ vms_skip_install = "true"
> $ dflt = "y"
> $! echo ""
> @@ -2481,6 +2502,7 @@
> $ dflt = dflt - "IPC/SysV" ! needs to be ported
> $ dflt = dflt - "NDBM_File" ! needs porting/special library
> $ dflt = dflt - "ODBM_File" ! needs porting/special library
> +$ dflt = dflt - "Sys/Syslog" ! needs porting/special library "GDBM_File
>macro LOG_DEBUG"
> $ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
> $ THEN
> $ dflt = dflt - "Socket" ! optional on VMS
> @@ -6042,7 +6064,7 @@
> $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'"
> $ ENDIF
> $ WRITE CONFIG "$!"
> -$ WRITE CONFIG "$! Symbols for commonly used scripts:"
> +$ WRITE CONFIG "$! Symbols for commonly used programs:"
> $ WRITE CONFIG "$!"
> $ IF (perl_symbol)
> $ THEN
> @@ -6060,6 +6082,7 @@
> $ WRITE CONFIG "$ h2ph == ""'"+"'Perl' ''vms_prefix':[utils]h2ph.com"""
> $ WRITE CONFIG "$ h2xs == ""'"+"'Perl' ''vms_prefix':[utils]h2xs.com"""
> $ WRITE CONFIG "$!perlcc == ""'"+"'Perl' ''vms_prefix':[utils]perlcc.com"""
> +$ WRITE CONFIG "$ perlivp == ""'"+"'Perl' ''vms_prefix':[utils]perlivp.com"""
> $ WRITE CONFIG "$ splain == ""'"+"'Perl' ''vms_prefix':[utils]splain.com"""
> $ ELSE
> $ WRITE CONFIG "$ Perldoc == ""Perl ''vms_prefix':[lib.pod]Perldoc.com -t"""
> @@ -6076,6 +6099,7 @@
> $ WRITE CONFIG "$ h2ph == ""Perl ''vms_prefix':[utils]h2ph.com"""
> $ WRITE CONFIG "$ h2xs == ""Perl ''vms_prefix':[utils]h2xs.com"""
> $ WRITE CONFIG "$!perlcc == ""Perl ''vms_prefix':[utils]perlcc.com"""
> +$ WRITE CONFIG "$ perlivp == ""Perl ''vms_prefix':[utils]perlivp.com"""
> $ WRITE CONFIG "$ splain == ""Perl ''vms_prefix':[utils]splain.com"""
> $ ENDIF
> $ CLOSE CONFIG
> End of Patch.
>
> Peter Prymmer
>
--
$jhi++; # http://www.iki.fi/jhi/
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen