|
Packit |
575503 |
From file: gawk_release_note_start.com
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This is GNU gawk packaged for VMS.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The original readme files for GAWK for standalone building on VMS are
|
|
Packit |
575503 |
supplied here along with a procedure for building GAWK for the making
|
|
Packit |
575503 |
a PCSI kit.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Note: I am a hobbyist and am not providing any support or any commitment
|
|
Packit |
575503 |
to supply bug fixes or future releases. This code is as-is with no
|
|
Packit |
575503 |
warrantees.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The testing of this port of Gawk involved running some self tests that
|
|
Packit |
575503 |
were provided with the source.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This version of gawk supports dynamically loaded extensions on Alpha and
|
|
Packit |
575503 |
Itanium versions of VMS. The pre-built dynamically loaded extensions
|
|
Packit |
575503 |
are in gnv$gnu:[usr.lib.gawk].
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The linker option file used to build a dynamically loaded extension is
|
|
Packit |
575503 |
located in gnv$gnu:[usr.src.gawk.extension.vms], and the gawkapi.h file
|
|
Packit |
575503 |
is in gnv$gnu:[usr.include].
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Special installation notes:
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* Please see https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/
|
|
Packit |
575503 |
for the latest information on installing GNV related PCSI kits.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* We are updating and replacing GNV one kit at a time and transitioning
|
|
Packit |
575503 |
GNV to be a set of kits that the GNV package will install. During
|
|
Packit |
575503 |
this transition some extra issues will need to be handled during
|
|
Packit |
575503 |
installs and upgrades.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* Due to the way that PCSI identifies packages, if you install a package
|
|
Packit |
575503 |
from one producer and then want to upgrade it from another producer,
|
|
Packit |
575503 |
you will probably need to uninstall the previous package first.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Some of these packages were previously created with different producer
|
|
Packit |
575503 |
prefixes. We are standardizing on VMSPORTS and GNV as the branding
|
|
Packit |
575503 |
prefixes. GNV will be for packages that are part of the GNV product
|
|
Packit |
575503 |
suite, and VMSPORTS will be for most other packages.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This uninstall can cause warning messages about dependencies. If you
|
|
Packit |
575503 |
are transitioning to an upwardly compatible package, you can ignore
|
|
Packit |
575503 |
those warnings.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* This package should be installed to the same volume as GNV is installed.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
If you uninstall or upgrade GNV or install a GNV from before the
|
|
Packit |
575503 |
transition is complete, you will need to reinstall all other packages
|
|
Packit |
575503 |
that install to the same GNV directory tree.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This is because at least some of the existing GNV installation procedures
|
|
Packit |
575503 |
have bugs in them were instead of just deleting the files that were
|
|
Packit |
575503 |
installed, they delete all files in the GNV directory tree.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* Because this is a transition, this package is replacing files from the
|
|
Packit |
575503 |
old GNV packages. This is a necessary issue to allow incremental
|
|
Packit |
575503 |
improvement as we can not replace the GNV package until we get all
|
|
Packit |
575503 |
the component packages done.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* The GNV 2.x through at least the 3.0.1 kits make an unusual change
|
|
Packit |
575503 |
to the disk directory structure where they are installed where
|
|
Packit |
575503 |
they use the [vms$common.gnv] as a mount point and mount the posix
|
|
Packit |
575503 |
root on it. This is a bug because it causes many problems and does
|
|
Packit |
575503 |
not offer any advantages. One of the problems is that it causes
|
|
Packit |
575503 |
problems with other PCSI installs and uninstalls to that directory.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This bug can be manually repaired such as has been done on
|
|
Packit |
575503 |
on encompasserve.org as documented in PORTING_TO_VMS notes conference.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
At this time, we do not have a scripted repair to this bug, and it
|
|
Packit |
575503 |
may not be possible to fully script a repair because this bug can
|
|
Packit |
575503 |
cause the POSIX root and [vms$common.gnv] to have different contents
|
|
Packit |
575503 |
when they should be the same directory, and it will take a manual
|
|
Packit |
575503 |
inspection to select which files go where.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* Because of the directory change bug, the gnv$startup.com in the GNV
|
|
Packit |
575503 |
kit must be run when the system boots up or the [vms$common.gnv]
|
|
Packit |
575503 |
directory will appear to be empty.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
If a PCSI kit like this one is installed when the GNV startup has not
|
|
Packit |
575503 |
been run, it will create a new directory tree under [vms$common.gnv]
|
|
Packit |
575503 |
that will not be visible to the posix root. If you uninstall this
|
|
Packit |
575503 |
PCSI kit before running the gnv$startup.com procedure then you can
|
|
Packit |
575503 |
install it after running the gnv$startup.com procedure. If you have
|
|
Packit |
575503 |
run the gnv$startup.com procedure after the install, then you have
|
|
Packit |
575503 |
a mess, and you will need to use the GNV umnt to un-mount the
|
|
Packit |
575503 |
[vms$common.gnv] directory before the uninstall of this kit will
|
|
Packit |
575503 |
work.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
An analyze/disk/repair step on the installation disk should be done after
|
|
Packit |
575503 |
installation to collect files left over from incomplete deletions into the
|
|
Packit |
575503 |
SYSLOST directory. This step should be done on a "quiet" system per HP
|
|
Packit |
575503 |
recomendations.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Bugs can be logged at the tracker with https://sourceforge.net/projects/gnv/.
|
|
Packit |
575503 |
There is no guarantee that bugs will be fixed for a hobbyist build.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
VMS specific port information:
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The logical name GNV$GNU is used to find the simulated posix root and defines
|
|
Packit |
575503 |
the logical name SYS$POSIX_ROOT in the process table in user mode for child
|
|
Packit |
575503 |
processes if needed. This is to comply with VMS logical name conventions.
|
|
Packit |
575503 |
The logical name BIN is also set in the process table in user mode to be
|
|
Packit |
575503 |
GNV$GNU:[BIN] if it is not already set.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The following DECC$Feature settings are in in effect for Gawk by default:
|
|
Packit |
575503 |
|
|
Packit |
575503 |
DECC$ACL_ACCESS_CHECK enabled.
|
|
Packit |
575503 |
DECC$ALLOW_REMOVE_OPEN_FILES enabled.
|
|
Packit |
575503 |
DECC$ARGV_PARSE_STYLE enabled.
|
|
Packit |
575503 |
DECC$EFS_CASE_PRESERVE enabled.
|
|
Packit |
575503 |
DECC$EFS_CHARSET enabled.
|
|
Packit |
575503 |
DECC$EFS_FILE_TIMESTAMPS enabled.
|
|
Packit |
575503 |
DECC$ENABLE_GETENV_CACHE enabled.
|
|
Packit |
575503 |
DECC$EXEC_FILEATTR_INHERITANCE set to 2.
|
|
Packit |
575503 |
DECC$FILE_PERMISSION_UNIX enabled.
|
|
Packit |
575503 |
DECC$FILE_SHARING enabled.
|
|
Packit |
575503 |
DECC$FILE_OWNER_UNIX enabled.
|
|
Packit |
575503 |
DECC$FILENAME_REPORT_UNIX enabled.
|
|
Packit |
575503 |
DECC$FILENAME_UNIX_NO_VERSION enabled.
|
|
Packit |
575503 |
DECC$GLOB_UNIX_STYLE enabled.
|
|
Packit |
575503 |
DECC$POSIX_SEEK_STREAM_FILE enabled.
|
|
Packit |
575503 |
DECC$READDIR_DROPDOTNOTYPE enabled.
|
|
Packit |
575503 |
DECC$RENAME_NO_INHERIT enabled.
|
|
Packit |
575503 |
DECC$STDIO_CTX_EOL enabled.
|
|
Packit |
575503 |
DECC$STRTOL_ERANGE enabled.
|
|
Packit |
575503 |
DECC$UNIX_PATH_BEFORE_LOGNAME enabled.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
While more strict UNIX compatibility feature settings can be applied by users
|
|
Packit |
575503 |
by setting feature logical names, these settings are all the Bash and most
|
|
Packit |
575503 |
ported programs need.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This port of Gawk uses the VMS CRTL to handle the Unix format pathnames
|
|
Packit |
575503 |
and as such is dependent on them. It is a known issue that directories with
|
|
Packit |
575503 |
a Unix name "file.dir/" and some symbolic links are not handled correctly.
|
|
Packit |
575503 |
This is a combination of problems with RMS and CRTL. The RMS portion is
|
|
Packit |
575503 |
fixed with the VMS84?_RMS-V0300 ECO kit. I am not aware of a CRTL kit that
|
|
Packit |
575503 |
fixes the issues.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
This kit is designed to be used with the GNV Bash 4.2.45 or later kit.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Fixes and enhancements:
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Gawk 4.1.3 ECO 1
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* The previous GAWK kits were placing the binaries in /bin instead of
|
|
Packit |
575503 |
/usr/bin, and not cleaning up the older binaries from the /bin directory
|
|
Packit |
575503 |
after an update.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* The older kits could not properly detect the VSI releases of OpenVMS.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Older kits:
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* No logical names required for proper Gawk operations other than GNV$GNU
|
|
Packit |
575503 |
for locating the simulated "/".
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* GNV$GNU is used to find the posix root and locally sets SYS$POSIX_ROOT
|
|
Packit |
575503 |
for child processes if needed. This is to comply with VMS logical
|
|
Packit |
575503 |
name conventions. The logical name BIN is also set locally to be
|
|
Packit |
575503 |
GNV$GNU:[BIN] if it is not already set.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
* config.h now generated at part of the build from a template.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The supplied GNV$GAWK_STARTUP.COM procedure is provided in
|
|
Packit |
575503 |
[VMS$COMMON.SYS$STARTUP] can be put in your VMS startup procedure to install
|
|
Packit |
575503 |
selected images as known because they need privileges. It is recommended
|
|
Packit |
575503 |
that the GNV$STARTUP.COM procedure be run first, followed by the
|
|
Packit |
575503 |
GNV$BASH_STARTUP.COM procedure before the GNV$GAWK_STARTUP.COM is
|
|
Packit |
575503 |
executed.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The names of the gawk image have been prefixed with GNV$ to prevent
|
|
Packit |
575503 |
possible naming conflicts with other programs that are on the system. The
|
|
Packit |
575503 |
GNV$ prefix has been registered with HP for this purpose.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
OpenVMS specific building and kitting instructions are after the standard
|
|
Packit |
575503 |
bash readme file below.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The source kits contains files for building Gawk using MMK.
|
|
Packit |
575503 |
MMK 4.0 was used for this build on Alpha and Itanium Itanium.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
Currently, the focus of the OpenVMS GNV porting team is to address bugs in
|
|
Packit |
575503 |
the OpenVMS port of GNV components that pose immediate barriers to running
|
|
Packit |
575503 |
configure and make scripts for Open Source Software packages targeting
|
|
Packit |
575503 |
OpenVMS environments.
|
|
Packit |
575503 |
|
|
Packit |
575503 |
The GNV development team is involved in an ongoing effort to identify and
|
|
Packit |
575503 |
document the underlying technical causes for these current limitations and (if
|
|
Packit |
575503 |
available) workarounds as well as developing code fixes to eliminate them. The
|
|
Packit |
575503 |
VMS-Ports Source Forge project at https://sourceforge.net/p/vms-ports/tickets/
|
|
Packit |
575503 |
currently documents OpenVMS CRTL bugs and limitations with respect to porting
|
|
Packit |
575503 |
Open Source Software using OpenVMS. The VMS-Ports Source Forge Project also
|
|
Packit |
575503 |
contains examples of ported packages provided by volunteer contributors as well
|
|
Packit |
575503 |
as documentation with recommendations on how to setup, modify and use the
|
|
Packit |
575503 |
OpenVMS GNV environment for the purpose of porting Open Source software
|
|
Packit |
575503 |
packages to OpenVMS. Browse to https://sourceforge.net/p/vms-ports/wiki/Home/
|
|
Packit |
575503 |
for more information.
|
|
Packit |
575503 |
|