^^^^ this is your problem
Whatever you specify after the second : overrides the default file name
of the dotlock file. If you want to use joge.lock just delete everything
after the second :. If you want to specify another lock file name, you
need to specify it literally (i.e. foo.lock if you want it to end in
That solved the problem. Unfortunately this does not explain everything. We
are already running another procmail on another machine:
biff:~$ /usr/local/bin/procmail -v
procmail v3.10 1994/10/31 written and created by Stephen R. van den Berg
Locking strategies: dotlocking, fcntl()
Default rcfile: $HOME/.procmailrc
System mailbox: /usr/mail/$LOGNAME
This one is working perfectly with the rule mentioned above. Here is the
output from procmail.log:
procmail: Locking "joge.lock"
procmail: Assigning "LASTFOLDER=joge"
procmail: Opening "joge"
procmail: Acquiring kernel-lock
procmail: Unlocking "joge.lock"
Now this is very strange... Why is 3.10 working well? I tried to recompile
3.10 with only dotlocking. Then it fails just like 3.11pre7. This implies
that 3.10 compiled with fcntl() wrongly appends a .lock to the lockfile
specified? I this because it cannot lock the lockfile with fcntl()? Or is
this a feature?
The problem now is that we have 1500+ users with errors in the .procmailrc.
Is there an easy way to find rules like
and remove foo1 only if it equals foo2 and at the same time leave
everything else as is?
Geir Johannessen # joge(_at_)stud(_dot_)ntnu(_dot_)no
E B Schieldropsvei 35-25 # http://www.stud.ntnu.no/~joge/
7033 TRONDHEIM # Tlf privat 73888989, jobb 73598048
"A computer program does what you tell it to do, not what you want it to do."