NAME¶
maildist, mailhelp, maillist, mailpatch - mailagent's commands
SYNOPSIS¶
maildist address system [
version ]
mailhelp [
address ]
maillist [
address ]
mailpatch address system version patchlist
DESCRIPTION¶
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 specified !!
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 3.0).
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, provided 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.
NOTE¶
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 yourself using the
mailhelp command.
FORWARDING¶
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 forward them to
the address listed in the .forward file. Now the recipient surely needs a
mailagent at the other end to deal with forwarded requests!
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.
FILES¶
- ~/.mailagent
- configuration file for mailagent.
- /usr/share/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
BUGS¶
The
proglist file ought to make a distinction between different versions
of a same system.
AUTHOR¶
Raphael Manfredi <Raphael_Manfredi@pobox.com>
SEE ALSO¶
mailagent(1),
package(1).