[Dovecot] a <blush> build/install question

Troy Engel tengel at fluid.com
Tue Mar 20 18:42:28 EET 2007


Stewart Dean wrote:
> 
> Alas, when I actually tried to run dovecot, it was asking for its 
> resource /in the original build tree/ location, which wasn't there.  Is 
> there some way I can do what I want?

While I haven't done this specifically with Dovecot, you should be able 
to manage everything in a simple manner like you want; I currently do 
this with Exim and Courier-IMAP on the old production server solely with 
switches to ./configure. Here's how it basically works, maybe it'll help 
you get dovecot working:

Source:
/opt/build/courer-imap-1.2.3

$ ./configure --prefix=/opt/courier-imap-1.2.3 
--with-authchangepwdir=${exec_prefix}/libexec/authlib 
--with-makedatprog=${exec_prefix}/libexec/makedatprog (more and more 
switches that don't matter for this)

After building, a simple "make install" places everything in 
/opt/courier-1.2.3. Then there's a symlink like so:

/opt/courier-imap -> /opt/courier-1.2.3

...and finally the /etc/init.d/ script loads the actual courier 
processes using /opt/courier-imap, not the "standard" /usr based things 
(so you'll need to customize to fit the default dovecot init.d script).

When I upgrade (or downgrade) it's as simple as running the same 
scenario on the new code (which means a new make install does not 
overwrite the old), migrate the config files as needed, stop the old 
daemon, switch the symlink, then start the new daemon up. Users don't 
see interruption in their email experience and I'm confident of a backup 
plan in an emergency.

This has been working great for many years upgrading Courier and Exim on 
the same machine; rarely do I have to fall back but when it does happen 
it's been as simple as pie.

-te

-- 
Troy Engel | Systems Engineer
Fluid, Inc | http://www.fluid.com


More information about the dovecot mailing list