Sacha Sardo Infirri <sacha(_at_)kurims(_dot_)kyoto-u(_dot_)ac(_dot_)jp> writes:
The lines in .procmailrc which are giving the error are:
# remove duplicate mails (ie with same id number)
:0 Wh:/staff/sacha/.msgid.lock
| formail -D 8192 ~/.msgid.cache
^ This is not recognized by /bin/sh (or is it
formail after all?). If I put
/bin/sh. About the only programs in UNIX that expand variables themselves
are programming language interpreters, like awk, perl, procmail, etc.
| formail -D 8192 /staff/sacha/.msgid.cache
I would suggest using $HOME instead of hardcoding the path to your home
directory:
:0 Wh: $HOME/.msgid.lock
|formail -D 8192 $HOME/.msgid.cache
instead, then there are no problems
(apart from an inocuous
procmail: Extraneous locallockfile ignored
message, which was there before - anyone know why?)
Looking at the procmail source, this warning only occurs if you put a
locallockfile on a nested block:
:0:
* conditions go here
{
# yadah yadah yadh
}
Check your other recipes.
(Interestingly, it appears that procmail does the Right Thing if you
put a locallockfile on a nested block that has the 'c'ontinue flag, and
only allows one process to be running in the block (the lock is done in
the *parent* who then waits for the clone to exit (the block) before
unlocking). Cool. It's amazing what you can find by reading the
source.)
Philip Guenther