QUERY
Ben Wing <ben(a)xemacs.org> wrote:
@unnumberedsubsec Q5.0.8: rmail or VM gets an error incorporating new
mail.
Quoting the XEmacs PROBLEMS file:
@quotation
rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a
program called @code{movemail}. This program interlocks with
@code{/bin/mail} using the protocol defined by @code{/bin/mail}.
There are two different protocols in general use. One of them uses the
@code{flock} system call. The other involves creating a lock file;
@code{movemail} must be able to write in @file{/usr/spool/mail} in order
to do this. You control which one is used by defining, or not defining,
the macro @code{MAIL_USE_FLOCK} in @file{config.h} or the m- or s- file
it includes.
@strong{IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
SYSTEM, YOU CAN LOSE MAIL!}
If your system uses the lock file protocol, and fascist restrictions
prevent ordinary users from writing the lock files in
@file{/usr/spool/mail}, you may need to make @code{movemail} setgid to a
suitable group such as @samp{mail}. You can use these commands (as
root):
@example
chgrp mail movemail
chmod 2755 movemail
@end example
If your system uses the lock file protocol, and fascist restrictions
prevent ordinary users from writing the lock files in
@file{/usr/spool/mail}, you may need to make @code{movemail} setgid to a
suitable group such as @code{mail}. To do this, use the following
commands (as root) after doing the make install.
@example
chgrp mail movemail
chmod 2755 movemail
@end example
Installation normally copies movemail from the build directory to an
installation directory which is usually under @file{/usr/local/lib}.
The installed copy of @code{movemail} is usually in the directory
@file{/usr/local/lib/emacs/VERSION/TARGET}. You must change the group
and mode of the installed copy; changing the group and mode of the build
directory copy is ineffective.
@end quotation
I realize that this is a quotation from PROBLEMS, but that means that
both PROBLEMS and the FAQ are out of date. For one thing, the users
should not be editing anything to set the file locking method. They
should be passing --mail-locking=<method> to configure. For another,
there are now more than the two mail locking methods identified here.
Our configure script currently supports the following:
- lockf: POSIX file locking with lockf()
- flock: BSD file locking with flock()
- dot: To manipulate mail file foo, first create file foo.lock
- locking: Microsoft's renamed flock()
- mmdf: use lk_open() and lk_close() as defined by the Multi-channel
Memo Distribution Facility, which you can't actually use, because
configure throws a usage error if you try!
- pop: which you cannot specify using --mail-locking, but which is the
default for Cygwin/MinGW.
Also, the example and the paragraph before it appear twice.
Also also, the question and first line of the quotation identify only VM
and the all-but-obsolete rmail. Do other mail packages not have this
problem, too? Perhaps the question should be generalized to something
like this:
@unnumberedsubsec Q5.0.8: My XEmacs MUA gets an error incorporating new mail.
and similarly for the start of the answer.
--
Jerry James
http://www.ittc.ku.edu/~james/