maildrop 0.75

Maildrop 0.75 includes several bug fixes to the userdb scripts, however the main change in 0.75 is a different installation layout.

Maildrop versions 0.74 and earlier used the following installation layout. Typically, the following files were installed in the directory /usr/local/bin:

/usr/local/bin/dotlock
/usr/local/bin/maildrop
/usr/local/bin/reformail
/usr/local/bin/reformime - core maildrop binaries

/usr/local/bin/maildirmake - soft link to maildrop.maildirmake
/usr/local/bin/maildrop.maildirmake

/usr/local/bin/makedat - soft link to maildrop.makedat
/usr/local/bin/maildrop.makedat - optionally installed if GDBM/DB support is selected during configuration

/usr/local/bin/deliverquota - soft link to maildrop.deliverquota
/usr/local/bin/maildrop.deliverquota - optionally installed if maildir quota support is selected during configuration

/usr/local/bin/makeuserdb - soft link to maildrop.makeuserdb
/usr/local/bin/pw2userdb - soft link to maildrop.pw2userdb
/usr/local/bin/userdb - soft link to maildrop.userdb
/usr/local/bin/maildrop.makeuserdb
/usr/local/bin/maildrop.pw2userdb
/usr/local/bin/maildrop.userdb - optional scripts installed if userdb support is selected during configuration
/usr/local/man - various manual pages were installed underneath this directory.

There was a reason why I initially decided to use this particular installation layout. At least, I think I had one.

Although I haven't received any comments on this layout, I believe that this layout is not very convenient, and may be confusing. So I've decided to try a new installation layout starting with maildrop 0.75. My goals were:

Maildrop 0.75 and onward will use the following installation layout by default:

/usr/local/lib/maildrop/bin - all base and optional binaries will be installed here

/usr/local/lib/maildrop/man - all manual pages will be installed here

/usr/local/lib/maildrop/html - all HTML versions of manual pages, and additional documentation, will be installed here.

Soft links in /usr/local/bin. The installation script will install the following soft links in the /usr/local/bin directory. The following soft links will point to the binaries that are installed in the /usr/local/lib/maildrop/bin directory:

/usr/local/bin/maildrop
/usr/local/bin/reformail
/usr/local/bin/reformime
/usr/local/bin/dotlock
/usr/local/bin/maildirmake
/usr/local/bin/makedat
/usr/local/bin/deliverquota
/usr/local/bin/makeuserdb
/usr/local/bin/pw2userdb
/usr/local/bin/userdb

Configuration switches that select whether or not certain optional binaries are installed will remain the same.

Basically, anything that expects to find things in /usr/local/bin should continue to work.

However, when you are ready to install a later release of maildrop, you can simply move your current /usr/local/lib/maildrop directory before installing the later release. In the event that you need to back out to the previous version of maildrop, you can do that simply by removing the newly installed /usr/local/lib/maildrop directory, and moving the previous one in its place.

I think that this is a definite improvement from the previous layout.

Upgrading from maildrop 0.74 and earlier

If you compile and install maildrop 0.74 from the original source code tarball, you can proceed to configure, compile, and install maildrop as usual. You can use the --prefix option to the configure script to change the main installation directory from /usr/local/lib/maildrop to something else. If your previous version of maildrop was not installed in the default directory /usr/local/bin, you can use the --bindir option to the configure script to specify your non-default installation directory.

make install should be able to create the correct soft links. After running make install, or make install-strip, you will need to manually perform the following steps:

Upgrading binary RPMS for Red Hat Linux

I recommend that instead of using the rpm -U command to upgrade your binary RPM, you should first remove the old maildrop rpm, using rpm -e, then install the new RPM using rpm -i.

The binary RPM takes care of setting the MANPATH variable. Also, note that the binary RPM installes the HTML version of manual pages, plus additional documentation, in /usr/doc instead of /usr/local/lib/maildrop/html.