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