Before reading this short document, please look over the Unix C-Kermit Installation Instructions page, especially Section 5.
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 Installation Instructions, 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?
For version 8.0, the "man page" was done in HTML. Since there is no tool (that I know of) for converting HTML to nroff, I did it by hand. Somebody else might want to convert it to Info (TexInfo?) for Linux, and who knows what other format we're using for documentation in Linux these days. It strikes me that HTML might be a good choice, since HTML interpreters are practically universal now, even for text sessions (Lynx), and this way you get links for free, and a wide choice of tools to access them.
Anyway, the C-Kermit man page is presently available as:
|ckuker.nr:||Traditional nroff man page source.|
|ckututor.txt:||Plain ASCII text (dumped from the HTML).|
|ckututor.pdf:||Adobe PDF format (by PDF-O-Matic).|
The remaining files are not necessary for C-Kermit's operation; they are just documentation and samples. All of this (and much more besides) can be found at the Kermit website, and the information on the website is probably more current too. Should you wish to install these files on your own computer, however, feel free to do so. If the computer is on the Internet, it might be preferable to visit the Kermit website to consult these files.
ckermit.ini Standard initialization file ckermod.ini Sample individual customization file
|ckcbwr.txt||ckcbwr.html||General C-Kermit hints and tips
||Unix-specific C-Kermit hints and tips
||Unix installation instructions
||C-Kermit program logic manual
||C-Kermit configuration options
The current text files are dumped from the HTML ones. If you put these text (.txt) files in any of the directories listed below, C-Kermit will find them and refer to them in its HELP text.
/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/
So what really needs to go into the package? Here are some suggestions for package contents:
Obviously other combinations are possible, as long as they include the binary and man page.
What directories to use? It depends on which files you want to keep and the conventions used by your OS, file system, or site. A minimal installation might put the Kermit binary in /usr/local/bin and the man page in /usr/man/man1.
At the other extreme, what if you want to install everything? Most Unix platforms don't have a natural location for storing plain-text information files. Where to put them? One example, that's used commonly at Solaris sites, would be:
/opt/kermit (Root of Kermit tree) /opt/kermit/bin/ (Binary and init file) /opt/kermit/src/ (Source code) /opt/kermit/doc/ (Text and info files)
The advantage of this scheme is that it provides a nice grouping for an application and its files. And its extensible too: you could add an html subdirectory, an examples subdirectory (for scripts), etc. The disadvantage is that the /opt/kermit/bin/ directory must be added to the PATH, but that can be fudged with symlinks from /opt/local/bin/. But in either case, the installer must take some action beyond just putting the Kermit binary in a directory that is already in everybody's PATH. Anyway, the C-Kermit makefile 'install' target lets you set up this structure or most any other kind you want: CLICK HERE for details and examples.
What about security? You can't build a secure version of C-Kermit (or any other program that embodies strong encryption) and package it for general distribution without considering USA export law. We (the Kermit Project) do not distribute secure binaries or packages, only source code, for this reason: any binaries or packages that we distribute are not built with encryption code. What you or your company does is up to you, but be aware of the issues and rules.
Finally... a small matter. "kermit" is the name for TCP service (socket) number 1649, just as "telnet" is the name for service 23, "ftp" is the name for service 21, and so on. If a "kermit" entry does not appear in your /etc/services file, please add one:
kermit 1649/tcp # Internet Kermit Service