MAILHELP(1) General Commands Manual MAILHELP(1)
maildist, mailhelp, maillist, mailpatch - mailagent's commands
maildist address system [ version ]
mailhelp [ address ]
maillist [ address ]
mailpatch address system version patchlist
These commands are not intended to be run directly by a user. They may appear in any mail whose subject is set to Command. Such a mail will
be processed by the mailagent(1), which will extract all lines beginning with @SH, followed by one of the above commands. The mailagent
first sets environment variables that will be used by every commands.
Maildist is used to mail a whole distribution to the given address. The version number may be ommitted if the system has no version speci-
fied !! Maildist looks for the Spool/distribs file to find where the distribution is located. If it has been archived, the file name
extension is used to guess how the archive will be restored:
.cpio archive is a cpio archive
.tar archive is in tar format
.cpio.Z compressed cpio archive
.tar.Z compressed tar archive
Note that on file systems with short file names, the final .Z extension could be dropped. Therefore, compressed archives must be
explicitely stated in the Spool/distribs file.
Once the directory is found (or extracted), maildist looks for a .package file. If one is found, then it is assumed this distribution is
under control of the dist 3.0 package, and the makedist commmand is called to actually mirror the source tree (makedist being part of dist
Otherwise, it looks for a MANIFEST file. If it finds one, only the files listed therein will be sent. Otherwise, all the files will be
sent, excepted the binary executables and object files, the RCS sub-directories or RCS files, the private U subdirectory and the .package
file, any core file or files in a bugs subdirectory.
Then, the following algorithm is used: if no RCS file is found, the file is sent as-is. Otherwise, we look for a defined 'lastpat' symbol.
If it is found, the corresponding revision is checked-out and sent. Otherwise, the last-revision on the default branch is exctracted, pro-
vided that the corresponding working file is not found.
The maildist command will not work if the system is tagged as an old one (with an o in the patches column of the distribs file). A message
will be sent back to the user, explaining that only patches are available.
Mailhelp sends help to the address (if ommitted, the return path of the mail is used). The help text is found in Spool/agenthelp. It should
have been correctly set in the installation procedure, as explained in the mailagent(1) manual page.
Maillist sends the list of available distributions, with current patchlevels if necessary. The Spool/distribs and Spool/proglist files are
both used to build the list.
Mailpatch sends one or more patches for a maintained distribution. The directory or the archive is found by scanning Spool/distribs. The
bugs sub-directory must then hold the available patches. The patches may be stored in compressed form (with the ending .Z), as mailpatch
knows about them and will uncompress the patch before sending.
Patches for old systems are kept in a separate directory, either in normal or in compressed form. If the version number of the old system
is x.y, then the directory must be named bugs-x.y and placed in the root directory of the system, just like bugs is.
Whenever the user asks for an old system, mailpatch inserts a little note giving the latest version number for that system.
For a more accurate description of these commands (user's point of vue), you may want to have a look at the help file or send help to your-
self using the mailhelp command.
When the author of a package wishes to relinquish all maintenance duty, he is most often stuck by the weight of the past: Configure scripts
have his e-mail address hardwired (see unit MailAuthor.U) and Command messages for package registration and/or patch requests will continue
to reach him.
The answer to that is to leave a .forward file at the top of the package tree and commands will automatically forge new requests and for-
ward them to the address listed in the .forward file. Now the recipient surely needs a mailagent at the other end to deal with forwarded
Only plain e-mail address(es) are allowed in the .forward. The "|command" processing hook is not supported, since it's not sendmail which
interprets that file but the command itself.
Forwarding applies to maildist, mailpatch and package commands only.
~/.mailagent configuration file for mailagent.
directory holding templates and samples.
Spool/agenthelp help file
Spool/distribs distribution list
Spool/proglist comments for available distributions
Spool/plsave records patchlevel of archived distributions
Log/agentlog mailagent's log file
The proglist file ought to make a distinction between different versions of a same system.
Raphael Manfredi <Raphael_Manfredi@pobox.com>