[Dovecot] a <blush> build/install question

Stewart Dean sdean at bard.edu
Tue Mar 20 16:48:20 EET 2007


This is probably an idiot (and certainly so basic as to be non-Dovecot) 
question, but I have been chasing my tail for a day or so on it, so I 
will, with humiliation, ask for guidance on it.

Some time back I had asked if dovecot had to have a whole build tree of 
stuff to run or if any upgrade could be limited to just the executable 
and some libraries.  I was told the latter, and given this list:
dovecot (the executable)
dovecot.conf
libexec/imap
libexec/imap-login
libexec/dovecot-auth

I had wanted to structure my build and install work so that, when update 
came out, I could build into a directory that was stamped with the time 
and version and ssl inclusion status.  Every time I built I would create 
a new directory, and I would be able to everything to fall back with, in 
the old directories.  Being that this is production, I wanted to be able 
to uplevel (or fall back) quickly.  I should say I build on a build 
machine, since I don't want to have a compiler on the production 
machines; I specified the stamped unique name of this build directory du 
jour using the --prefix confiigure parm

The configure, make and make install steps all go fine.  Now I have to 
transfer those five files over to the target production machine, where I 
had planned to reference these essential DC files, dovecot itself, 
dovecot.conf, etc through links, like this:
(while resident in the build directory which has been NFS imported onto 
the production target machine)

> cp -p ./sbin/dovecot /usr/sbin/$buildver.dovecot
> ln -sf /usr/sbin/$buildver.dovecot /usr/sbin/dovecot
>
> cp -p ./etc/dovecot-example.conf /etc/dovecot-example.$buildver.conf
>
> cp -p ./libexec/dovecot/imap /usr/libexec/$buildver.imap
> ln -sf /usr/libexec/$buildver.imap /usr/libexec/imap
>
> cp -p ./libexec/dovecot/imap-login /usr/libexec/$buildver.imap-login
> ln -sf /usr/libexec/$buildver.imap-login /usr/libexec/imap-login
>
> cp -p ./libexec/dovecot/dovecot-auth /usr/libexec/$buildver.dovecot-auth
> ln -sf /usr/libexec/$buildver.dovecot-au

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? 

It seems like I could run the configure without the --prefix parm and 
have these five files end up in the standard place, but then you would 
always be building in the same place.  I would rather have them in a 
sheaf of unique build trees so there was never any confusion as to where 
an edition of them came from...one could always reference back to the 
unique build tree and do a sum on them.

 


-- 
====
Stewart Dean, Unix System Admin, Henderson Computer Resources 
Center of Bard College, Annandale-on-Hudson, New York  12504  
sdean at bard.edu  voice: 845-758-7475, fax: 845-758-7035



More information about the dovecot mailing list