Configuring cyrus-imapd for compilation

Patrick Goetz pgoetz at mail.utexas.edu
Tue Mar 12 12:39:08 EDT 2019


I'm finally getting around to updating the Arch linux cyrus-imapd 
package, and have a question.

Looking through the configuration options, it looks like there are a 
number of functionality critical decisions to be made:


CalDAV and CardDAV

     ./configure --enable-http --enable-calalarmd

Murder

     `./configure --enable-murder

Replication

     `./configure --enable-replication


The vast majority of cyrus admins are not going to need a Murder or 
Replication, but when you need it, you need it.

The issue is the Arch build system is based on using a single PKGBUILD 
file (which includes the configuration options) and one of the design 
principles is the outcome of building a binary package from a PKGBUILD 
should be deterministic; i.e. "A PKGBUILD should never be interactive. 
This is a rule that should never be broken."

So, my options are to create a single package configured for every 
possible use case, or to create multiple packages with different 
combinations of functionality, which suffers from something of a 
combinatorial explosion problem.

So, question, given that none of the configuration options appear to be 
mutually exclusive:  what are the downsides of compiling cyrus with 
everything, including the kitchen sink?  That appears to have been the 
original packaging philosophy for the 2.5.x version of the package.

Second question.  Quoting again from the documentation for 3.0.8:

     MariaDB or MySQL development headers, to allow Cyrus IMAP to use
     it as the backend for its databases.

     Configure option: --with-mysql, --with-mysql-incdir, 
--with-mysql-libdir


The 2.5.x package did not include any configuration flags for mysql 
support.  Does this mean the older package would not have worked with 
mysql (I've never tried using this, so can't confirm), or does it mean 
that this was previously a default configuration option in 2.5.x?


More information about the Info-cyrus mailing list