## Notes

Everything in this page is obsolete, mandriva now comes with cyrus packages in the main distribution. I keep them here just in case they’re useful to someone.

If you’re interested in cyrus-imapd 2.2.x, you’ll find the SRPM here. You can rebuild it under 8.2/9.0/9.1/9.2. Since it needs cyrus-sasl >= 2.1.15, you’ll also find an SRPM for it that you’ll need for 8.2/9.0/9.1 (9.2 already comes with 2.1.15). Beware: this version of sasl is designed to coexist with v1 packages, and since 9.2 got rid of v1 altogether, you may experience problems when you upgrade your distribution to 9.2 or later.

Note that the database backends are now a runtime option specified in imapd.conf. The defaults are the same as the packages I provided, but you’ll have to convert your databases if you used different build options. Also if you have sieve scripts that are not in utf8 you’ll have to convert them before upgrading.

cyrus-imapd 2.1.11 fixes some potential buffer overflows in the sieve code, as well as a pre-login buffer overflow in the IMAP parsing code, so you’re advised to upgrade if you have an older version installed.

Now I can only provide packages with the skiplist backends. The startup script in the new cyrus-imapd package will check at startup if its configuration corresponds to what’s in the system, if not it will refuse to start (it will also refuse to start right after upgrading). A conversion script (by Simon Matter) is provided but, as always, backup your mail data.

Starting from mandriva 9.1, packages for cyrus-sasl v2 are provided in the main distribution, so I won’t provide them here. I will only provide updated cyrus-imapd packages. The following instructions regarding cyrus-sasl only apply to mandriva 8.2/9.0.

These packages come with no support. They work for me, they may not work for you. I’m not responsible for any damage they could cause to you, your computer, your mail or whatever. I cannot help you if you have problems with them. Sorry.

The cyrus imapd package is derived from the packages by Simon Matter modified to suit mandriva dependencies and categories. I also removed the deliver-wrapper program (you won’t need it if you follow the instructions in README.RPM in the doc directory on how to configure postfix to deliver mail to cyrus)

The cyrus sasl package is derived from Mandriva’s 1.5.27 package, and follows its naming conventions:

• The package cyrus-sasl just contains pwcheck, saslauthd and the sasldb manipulation programs. If you have installed cyrus-sasl-1.5.27, when you upgrade sasldblistusers and saslpasswd will be preserved and renamed sasldblistusers1 and saslpasswd1

• saslauthd is incompatible with previous version, pwcheck is compatible but has the fifo in a different directory (/var/lib/sasl2/pwcheck instead of /var/lib/sasl/pwcheck). If you have applications using pwcheck you can make a symbolic link. If you need saslauthd and both versions of sasl, bad luck.

• libsasl2- (sasl v.2) and libsasl7- (sasl v.1) can coexist peacefully, you can’t remove libsasl7 since there are many packages dependent on it, so use rpm -i and not rpm -U to install the various libsasl2 packages. Just keep in mind that the two versions of the libraries use two different (and incompatibles) sasl databases, so you’ll have to find a way to keep them in sync until every package has been upgraded to work with sasl v2.

• The exception is libsasl2-devel which cannot coexist with libsasl7-devel

• Each sasl plugin has its own package. You don’t need to install any plugin (just the main library) if you just intend to use cyrus-imapd with saslauthd (of course you have to install cyrus-sasl for that) . You must install the plain plugin (libsasl2-plug-plain) if you’re using timsieved (it won’t work otherwise and the message you’ll get won’t be too useful)

• I’m not using the other plugins, so I don’t know if they work.

Please backup your mail spool and configuration directory if you have a previous version of cyrus imapd installed and follow the instructions in the documentation directory. There’s no script for automatic conversion, but upgrading from my previous packages worked for me (it may not work for you though - YMMV)

## Compilation options

For cyrus-imapd you can grab the src.rpm and rebuild it specifying the backend you want to use for the various databases used (duplicate delivery suppression, mailboxes list, seen messages, subscriptions and tls connections), plus some othe options e.g.

rpm —rebuild —with idled —define=’SEEN_DB skiplist’ cyrus-imapd-x.x.x-xmdk.src.rpm

if you want to use the skiplist backend for the seen database and use the idled daemon for the imap idle command.

The available options are:

rpm variable equivalent to configure option default option available options
DUPLICATE_DB  —with-duplicate-db  db3_nosync  db3, skiplist
MBOX_DB  —with-mboxlist-db  db3  flat, db3, skiplist
SEEN_DB  —with-seen-db  flat  flat, db3, skiplist
SUBS_DB  —with-subs-db  flat  flat, db3, skiplist
TLS_DB  —with-tls-db  db3_nosync  db3, skiplist

Other miscellaneous options

—with/—without meaning default Notes
saslgroup  Create and use a special sasl group instead of mail —without saslgroup
prefork  Generate preforking default configuration —without prefork  You can always change the configuration in /etc/cyrus.conf
fulldirhash  Compile cyrus with full directory hashing. —without fulldirhash  If you change the default you’ll have to manually convert your mail spool.
idled  Compile the idled daemon to manage imap idle command. —without idled  Remember to start the idled daemon in /etc/cyrus.conf

Using the default configuration gave me problems with mozilla: messages would appear as unseen many times even if actually seen, so I’m currently using skiplist for MBOX_DB and SEEN_DB, and I’m providing precompiled binaries for this configuration, and if you rebuild the source rpm with no options this is what you’ll get.

Keep in mind that if you upgrade an existing installation with a different set of backends you have to manually convert the databases (see man cvt_cyrusdb) or use the provided script cvt_cyrusdb_all before restarting the server.

# Urpmi/Rpmdrake

Due to space limitations I had to put the actual files in another host. Please change your sources accordingly.

Now you can install my packages using urpmi/rpmdrake. Since I’m maintaining 3 sets of binaries (for 8.2, 9.0 and 9.1) there are 3 possible sources provided.

• For mandriva 8.2 issue this command:
urpmi.addmedia cyrus http://ventoso.org/luca/files/cyrus/8.2 with hdlist.cz

• For mandriva 9.0:
urpmi.addmedia cyrus http://ventoso.org/luca/files/cyrus/9.0 with hdlist.cz

• For mandriva 9.1:
urpmi.addmedia cyrus http://ventoso.org/luca/files/cyrus/9.1 with hdlist.cz

If you install under a previous version (e.g.: 8.2) and then upgrade to a later one (e.g.: 9.0) you’ll have to manually upgrade the packages using --replacepkgs --replacefiles