Greetings,
running on Gentoo I have installed (among others) the following packag-
es:
app-editors/xemacs version 21.4.24-r1
app-xemacs/vm version 8.11
Recently I installed the completely unrelated package "sys-apps/smart-
montools" which depends on "virtual/mailx" which in turn depends on at
least one of the packages "net-mail/mailutils", "mail-client/mailx",
"mail-client/nail", or "sys-freebsd/freebsd-ubin". Since neither of the
latter four packages was already installed, the first one was picked,
"net-mail/mailutils".
Later I pressed "g" in a "vm" window to get newly arrived mail and was
confronted with an error message to the effect that my crash box had an
invalid file type. And indeed, at the place where my crash box was ex-
pected there was now a directory, and in sub-directory "new/" of this
directory I found what probably was my new mail, each mail in a separate
file.
After plenty of head scratching I eventually found out that the freshly
installed package "net-mail/mailutils" provides the binary "/usr/bin/
movemail". Apparently "vm" first does a PATH search for "movemail" be-
fore it decides to use the "movemail" binary provided by XEmacs!
I do not now whether or not this would also happen using the more recent
version 21.5.34 of XEmacs which is also available on Gentoo but is still
marked "testing". But I think that not explicitly setting variable "vm-
movemail-program" should indicate to use XEmacs' version of "movemail",
even if another "movemail" programme is reachable via "PATH".
End of Bug Report or Enhancement Request. What follows is a short desc-
ription of how to cleanly recover from the damage caused, in case any-
body else is searching the web after having had the same mishap:
1. Rename the directory which is abusing the name of your crash box:
mv PathToCrashBox PathToCrashBox.off
2. Uninstall the package which pulled in package "net-mail/mailutils"
(in my case "sys-apps/smartmontools") and all its dependencies.
3. Prevent package "net-mail/mailutils" from ever being installed again.
Under Gentoo this is done by issuing:
echo net-mail/mailutils | sudo tee -a /etc/portage/package.mask
4. Again install the package you just uninstalled, and this time another
of the alternatives required by dependency "virtual/mailx" will be
pulled in.
5. Now recover the mails burried in directory "PathToCrashBox.off" (I'm
not sure how thoroughly, if at all "vm" will check the syntax of the
faked "From " headers required to indicate the beginning of each new
mail, but using exactly two blanks on either side of "Wed Jul" worked
for me. And yes, using the same "From " header over and over again
did not at all bother "vm"):
cd PathToCrashBox.off/new
for f in *
do echo 'From a(a)gmail.com Wed Jul 3 17:14:54 2013'
cat $f
echo
done >> ~/recovery
6. In "vm" enter "v" and then "~/recovery" to open this temporary folder
and start reading your almost lost mail.
Sincerely,
Rainer