procmail
[Top] [All Lists]

Re: formail: Couldn't open/bin/sh

1996-06-14 09:03:19
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

<Prev in Thread] Current Thread [Next in Thread>