EPIC4 Version 1.2.0 (VMS Edition) Release Notes and Installation Instructions ------------------------------------------- Preview Release #8: 11-DEC-2003 -------------------------- 0. Preamble and copyright notice. 0.1. Copyright and license information. The release notes and INSTALL.COM command procedure, and DESCRIP.MMS build description file distributed with the VMS edition of EPIC are Copyright 2001-2003, Edward Brocklesby. Permission is given to redistribute unmodified copies of these release notes in any form. The INSTALL.COM and DESCRIP.MMS files may be distributed under the same terms as other EPIC source code, as described below. The files VMS_TERMCAP.C and VMS_TERMCAP.H are Copyright (C) 1985, 86, 93, 94, 95, 2000, 2001 Free Software Foundation, Inc. and are distributed under the terms of the GNU General Public License. Please note that these files are linked with the EPIC object code during the build procedure and the resulting binary, EPIC.EXE, therefore falls under the terms of the GNU GPL. The file TERMCAP.SRC has no copyright. All other files (including source code, documentation, but excluding VMS specific changes to the EPIC source code) is: Copyright (c) 1990 Michael Sandroff. Copyright (c) 1991, 1992 Troy Rollo. Copyright (c) 1992-1996 Matthew Green. Copyright (c) 1993, 1997 Jeremy Nelson. Copyright (c) 1994 Jake Khuon. Copyright (c) 1995, 2000 Jeremy Nelson and others ("EPIC Software Labs"). All rights reserved. VMS specific modifications to the source code and other files are Copyright 2001-2003, Edward Brocklesby. Redistribution and use of these files in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notices, the above paragraph (the one permitting redistribution), this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The names of the author(s) may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Some files, (notably, glob.c, and compat.c) may contain some source that is covered by the original BSD 3-clause license, rather than the above license. Please refer to those files for more specific information. 1. Installation. 1.1. Distribution. This release of EPIC4 consists of one file: EPIC4-1_2_0-VMS-PR8-11-DEC-2003.AXP_EXE This file may be downloaded from: or 1.1. Installation requirements. Compilation of EPIC4 from source code requires a C compiler and either the MMK or MMS build systems. Installation from the PCSI kit does not require any existing software. This release of EPIC4 has been tested using MMK with DEC C V6.4-008 on OpenVMS Alpha V7.2. The installation requires approximately 2,300 blocks of free disk space. SYSTEM access is desirable but not required for the installation. 1.2. Installation procedure for PCSI kit. (Not applicable to PR7 release) Start the PCSI install procedure: $ PRODUCT INSTALL * When prompted to install EJB AXPVMS EPIC4 V1.20, select YES. Follow the prompts to install the product. 1.3. Installation procedure for source compilation. 1) On Alpha, run the self-extracting archive: $ RUN EPIC4-1_2_0-VMS-PR8-11-DEC-2003.AXP_EXE On VAX, extract the archive manually: $ unzip "-V" EPIC4-1_2_0-VMS-PR8-11-DEC-2003.AXP_EXE The file EPIC4-1_2_0-VMS-PR8-11-DEC-2003.BCK will be created. 3) Execute the following command to extract the source archive: $ SET FILE/ATTRIBUTES=LRL=32256 EPIC4-1_2_0-VMS-PR8-11-DEC-2003.BCK $ BACKUP/LOG EPIC4-1_2_0-VMS-PR8-11-DEC-2003.BCK/SAVE_SET [...]*.*; The directory [.EPIC4-1_2_0] will be created. 4) Change the default directory to the top-level EPIC directory: $ SET DEFAULT [.EPIC4-1_2_0] 5) Execute the following command to begin the installation: $ @INSTALL The installation procedure will ask you the following questions during the build: * Continue with build [Y/n] ? Enter 'y' to build and install EPIC, or 'n' to abort the installation procedure. * Build system [MMS/MMK] ? Enter the name of the build system (either MMS or MMK) that should be used to build the EPIC binary. * Please select your TCP/IP stack: Select the TCP/IP stack installed on this system from the list provided. Currently, the only difference this makes to EPIC is whether IPv6 support is enabled. * Location for installed file? Enter the full path to the top-level directory into which EPIC should be installed; for example DISK$SOFTWARE:[EPIC]. This directory does not have to exist. Any %CREATE-I-EXISTS messages during this part of the installation may be ignored. * Install CLD into system DCLTABLES [Y/n]? If EPIC is being installed as the SYSTEM user, it is preferable to install EPIC's Command Definition files into the system DCL tables, to enable all users to run the EPIC program without any per-user configuration. If this is the case, answer 'y' to this question. If EPIC is not being installed as the SYSTEM user, or installing EPIC's Command Defintions into the system DCL tables is not desired, answer 'n' to this question. The installation will then ask the following question: * Add these lines to SYS$LOGIN:LOGIN.COM now [Y/n]? (This question is only prompted if the previous question was answered with 'n') If EPIC should add commands required to run to the user's LOGIN.COM file, so that they will be executed on login, answer 'y' to this question. Installation of the EPIC4 client should now be complete. 2. Support. 2.1. Mailing List A mailing list for discussion of EPIC on VMS systems exists; to subscribe, visit . It is recommended that all users of EPIC subscribe to this list; it is a low traffic list, and announcements of new versions and updates are posted to it. 2.2. Author. Support for the EPIC4 client may be obtained from the author, either via email to , or via IRC (nick "larne"). It is, however, normally preferable to address questions to the mailing list, unless it is a sensitive issue (such as a security problem). 2.3. Online help. A brief summary of options may be obtained by running "EPIC/HELP". If EPIC's help files were installed, online help may be obtained with the "/help" command. PLEASE NOTE: The VMS release of the EPIC4 IRC client is NOT supported by the epicsol group, and requests for support should NOT be directed to them. 3. Known bugs, missing features and miscellaneous notes. 3.1. Unix and VMS pathnames. As of 1.0.1 PR5, EPIC for VMS includes a new configuration option, /set VMS_PATH_SYNTAX. When this is set to ON, EPIC will use VMS-style paths for all filesystem operations. When it is set to OFF, EPIC will use Unix-style paths; for example, DISK:[DIR]FILE becomes "/disk/dir/file". Many scripts designed for Unix systems will require VMS_PATH_SYNTAX to be set OFF to function correctly. Note that expansion of "~/" paths and the /HELP command (and possibly some other features) currently do not work when this is set to ON. VMS_PATH_SYNTAX defaults to OFF. 3.1. /LOAD The /SET LOAD_PATH variable has been changed to use "," as a delimiter, instead of ":" as on Unix (observe that ":" is a possible character in a VMS pathname). This is true regardless of the value of VMS_PATH_SYNTAX. 3.2. Logical names There is apparently a problem using the CRTL opendir() function on pathnames whose device name is a logical pointing to several devices. This appears to be a CRTL bug, not an EPIC bug. As a workaround, use the real device name instead of the logical in pathnames. If your home directory is on such a device, define the HOME logical before starting EPIC. (This often applies to home directory devices on cluster systems). 3.3. Other filesystem functions. No other filesystem functions have been modified; however, it is expected that most will work correctly. Any problems should be reported to the list. 3.4. Command line arguments. EPIC has been modified to use VMS-style command line arguments in favour of Unix "getopt()"-style flags. Note that because of this, EPIC may not be invoked as a DCL foreign command; its CLD *must* be installed into DCL. 3.5. Terminal type. EPIC uses its own termcap library rather than VMS's SMG routines. While VMS knows roughly the type of the terminal, this information is not always correct; for example, many PC terminal emulators identify themselves as a VT100 in response to a SET TERMINAL/INQUIRE command, but actually possess more capabilities than the VT100. Therefore, if you wish to tell EPIC the real type of yout terminal, you can define the logical name EPIC_TERM to the *lowercase* name of your terminal's entry in the termcap file (under Unix, the command "echo $TERM" will give you this information). For example, using X's xterm: $ DEFINE EPIC_TERM "xterm" ! Note that the "quotes" are required. EPIC will then use this terminal type instead of VMS's idea of it. This command may be placed in your LOGIN.COM if you wish it to take effect automatically. 3.6. /disconnect The /disconnect command, and possibly server disconnections in general, are currently broken. 4. Modification history. EPIC4 1.2.0 PR8: - IO fixes. - VAX fixes. - No other changes. EPIC4 1.2.0 PR7: - Fix VAX support. - No other changes. EPIC4 1.2.0 PR6: - Fix timers to run (this also fixes the broken clock). - Don't set mail variable on startup. - Load ircrc properly. - Fix /USERNAME option - Fix default load path to use ".", not "[]". - Apply Rumi Szabolcs' patches for VAX systems. - Don't install help files for now. - No other changes. EPIC4 1.2.0 PR5: - Enable buffered I/O to improve speed. - Compile with IPv6 support. - Strip '-' off terminal type (eg vt100-80). - No other changes. EPIC4 1.2.0 PR4: - Switch to our own termcap implementation instead of using SMG. - Catch broadcast messages and print them neatly. - Add EPIC$SCRIPT: etc. logicals rather than defining at build time. - No other changes. EPIC4 1.2.0 PR3: - Add a workaround in new_select() to prevent input hanging. - Some filesystem code fixes. - Fix compile on older CRTLs. - No other changes. EPIC4 1.2.0 PR2: - INSTALL.COM typo & bug fixes. - Fix new_select() crash. - No other changes. EPIC4 1.2.0 PR1: - Update to latest upstream EPIC beta version. - No other changes. EPIC4 1.0.1 PR5: - Possibly fix a panic when reading input under certain conditions. - Add /set VMS_PATH_SYNTAX. - Fix /HELP and add help files to distribution. - No other changes. EPIC4 1.0.1 PR4: - Fix compile on DEC C V6.5. - Redo input handling code (which was broken in all previous releases, though in different ways) to work. This has not received a large amount of testing but is believed to be functional. - No other changes. EPIC4 1.0.1 PR3: - Fix the build on DEC C V6.4 (and possibly others) which changed the meaning of the PTRMISMATCH warning. Thanks to Craig Berry of hp OpenVMS forums for a clean solution to this. - No other changes. EPIC4 1.0.1 PR2: - Apply a fix from upstream EPIC for a security vulnerability relating to CTCP handling. - Add "Known bugs" section to release notes. - No other changes. EPIC4 1.0.1 PR1: Initial release. Edward Brocklesby, 02 Dec 2003.