Making C-Kermit Install Packages for UNIX

C-Kermit is not just a executable binary but also a collection of supporting files. A C-Kermit install package should put each file in a sensible and accessible place with the appropriate permissions.

The C-Kermit Binary
Lots of C-Kermit binaries are available prebuilt, mainly for the benefit of platforms like Solaris that don't necessarily come with C compilers. However, when making a C-Kermit install package, it's usually better to build a fresh binary on the target platform, if only to make sure about the appropriate library linkages. The resulting binary should be called "kermit" and should be put in a directory that is (a) in the PATH of all the users who need to use it, and (b) not likely to be wiped out when installing an OS upgrade. A typical choice is /usr/local/bin. The binary must be given execute permission, of course, and if it is to be used for dialing out, it will need to have the same owner and group and permissions (possibly including setuid and/or setgid) as the "cu" program. If the install package is to take care of all this, then it probably needs to run as root. See the ckuins.txt (C-Kermit for UNIX Installation Instructions Text) file, especially sections 10 and 11, for details and more thorough discussion.

When the install package builds from source code, it is important to check all the dependencies. Are the C compiler, linker, header files, and libraries installed? Are the TCP/IP sockets library and headers installed? Are the curses (or ncurses) library and headers installed?

The C-Kermit Man Page
The source file for the C-Kermit man page is ckuker.cpp. This file must be run through the C preprocessor to produce the nroff source file, ckuker.nr. The C-Kermit makefile includes a "manpage" target to do this, but it does not necessarily work work on all platforms. For that reason a "generic", general-purpose, prebuilt ckuker.nr file is included in the distribution. A custom man page can be generated for HPUX, where C-Kermit is part of the base operating system so specific directories can be referenced.

Text Files
The following plain-text files should be placed in a directory where users can find them:

 COPYING.TXT   License
 READ.ME       General C-Kermit READ.ME (rename ckaaaa.txt to READ.ME)
 ckuaaa.txt    UNIX C-Kermit READ.ME
 ckermit2.txt  Documentation of features added since C-Kermit 6.0
 ckcbwr.txt    General C-Kermit "beware" file (hints and tips)
 ckubwr.txt    UNIX-specific C-Kermit "beware" file
 ckuins.txt    UNIX installation instructions
 ckcplm.txt    C-Kermit program logic manual
 ckccfg.txt    C-Kermit configuration options
 ckermit.ini   Standard initialization file
 ckermod.ini   Sample individual customization file
 ckermit.kdd   Sample dialing directory
 ckermit.knd   Sample network directory
 ckermit.ksd   Sample services directory
 telnet.txt    Documentation of C-Kermit's Telnet client
 security.txt  Documentation of security aspects of C-Kermit
 iksd.txt      Documentation for the Internet Kermit Service Daemon
 ckedemo.ksc   Demo scripts
 ckevt.ksc     Another demo script
 ckepage.ksc   Alphanumeric paging (TAP/IXO) script
If you put these files in any of the following directories, C-Kermit will find them and refer to that directory in its help messages:

 /usr/local/doc/kermit/
 /usr/share/lib/kermit/
 /usr/share/doc/kermit/
 /usr/local/lib/kermit/
 /usr/local/share/kermit/
 /usr/local/share/doc/kermit/
 /usr/local/share/lib/kermit/
 /usr/doc/kermit/
 /opt/kermit/
 /doc/kermit/
 /usr/local/doc/
 /usr/share/lib/
 /usr/share/doc/
 /usr/local/lib/
 /usr/local/share/
 /usr/local/share/doc/
 /usr/local/share/lib/
 /usr/doc/
 /opt/
 /doc/

C-Kermit / Columbia University / [email protected] / 8 Feb 2000