This is an update for GNV 1.6-11 on OpenVMS Alpha on OpenVMS 8.2

This provides updates to BASH, WRAPPER, and FILEUTILS and a description on
how to update TAR/VMSTAR to work better with shell scripts.

The Bash and Wrapper changes should already be in the GNV 2.x for OpenVMS 8.3
Alpha and I64.

The build procedure and the source will probably need modifications for
building on versions of OpenVMS before 8.2.


The BASH update provides virtual memory pipes for the more common pipe
operations which eliminates some hangs in buidling, some minor fixes
to the command line recall, and also a performance bug fix.

This version of bash eliminates the need for setting a larger pipe buffer
size.

There still are some pipes in bash using temporary files, and they leave
these temporary files named SYS$LOGIN:SH*.;* which will need to be manually
deleted.

The GNV make utility has a similar bug and will leave behind files with the
name SYS$LOGIN:MAKE*.;*.


The WRAPPER update provides the AR.EXE and CC.EXE images.

The AR.EXE image has been updated to preserve the case of library modules,
and to better handle unimplemented or ignored command line options.

The CC.EXE image provides a shell arround the C and C++ compilers and the
linker to translate UNIX syntax into the actual DCL commands that do the work.

The syntax parser has been updated and some new environment variables have
been provided to allow working around issue.

The CC wrapper now properly handles the source and destination files being
on a logical name search list.

The CC wrapper still needs some work, as it can not properly handle quoted
strings on the command line, and does not recognize a number of GCC options.

The other images in this WRAPPER update have not been tested by me.


The FILEUTILS update provides new LN and RM images.

The RM image fixes a bug in the handling of the "-f" option.  The "-f"
option now causes the RM proram to always exit with a success status, as
per the UNIX specification.

There still is an issue in the RM utility where it follows OpenVMS file
protection conventons instead of UNIX.  UNIX ignores the file protection
and goes by the protection of the directory where the file is.

The LN image has been updated to check the environment variable
GNV_LN_IGNORE_ERRORS.  If that environment variable is present, the LN utility
will always return a success status.

This is needed by me for building GTK+ on OpenVMS 8.2 using GNV for two
reasons.  The first is that while the symlink() call is present in the
CRTL, it returns an unimplemented status before OpenVMS 8.3.  The second is
a side effect of my build procedure which puts the original source write
protected in a separate directory tree.  The GTK 2.10.6 build procedure
is trying to modify some files in the original source from being a set of
separate files into being symbolic links.

As the separate files work fine for the building GTK+, I put in this quick
modification to LN to allow the build to continue.

The other images in this FILEUTILS update have not been tested by me.


The TAR/GNUTAR/VMSTAR issue.  For historical reasons, the TAR program in
GNV is VMSTAR and GNU tar is provided as gnutar.

This is incompatible with the expectations of many shell scripts as the vmstar
program is quite a bit behind the gnu tar program in features.

The modification that I did was to rename the tar. and TAR.EXE images to be
their original names of vmstar. and VMSTAR.EXE.  I then copied the GNUTAR.EXE
to be TAR.EXE and did a set file/enter=gnu:[bin]tar. gnu:[bin]TAR.EXE



Installing these files are done manually, and if you put them in the GNU:
directory tree, you will have to remove them manually.

If you do not have write access to the GNU: directory tree, or do not want
to mdoify it, then you can set up a new directory tree and reference it by
a concealed logical name NEW_GNU:

A concealed logical name of OLD_GNU: can be set up to reference the real
GNV directory tree.

Then a local copy of the GNU and SYS$POSIX_ROOT logical names can be set
up as a search list such as NEW_GNU:,OLD_GNU:

GNV Bash and utilities file files by referencing the GNU:, SYS$POSIX_ROOT:
and BIN: logical names.  In future releases of GNV, these name may be
GNV$GNU:, GNV$POSIX_ROOT: instead, and the need for the BIN logical name
removed.  This is because the having the original logical names defined
in the symbol table will affect other programs.


In the GNU:[BIN] directory, some of the files are hard links or alternative
directory entry points to other files.  Usually the .EXE file is the original
file and the file with a null extension is the alternate entry point.

For BASH, the same image is used for "[bin]BASH.EXE", "[bin]bash.",
"[bin]SH.EXE" and "[bin]sh.".

For CC, the same image is used for "[bin]CC.EXE", "[bin]cc.", "[bin]GCC.EXE",
"[bin]gcc.", "[bin]CXX.EXE", "[bin]cxx.", "[bin]G^+^+.EXE", [bin]g^+^+.exe",
"[bin]LD.EXE", "[bin]ld.", "[lib]CPP.EXE", and "[lib]cpp.".

A command procedure CREATE_CC_ALIASES is provided to make it easy to set
those up.

For the AR, RM, and LN programs, the images are "[bin]AR.EXE", "[bin]ar.";
"[bin]RM.EXE"