Welcome to part four in the series about our upgrade of wumple.com to Fedora Core 6 from Fedora Core 2. The closing of the Fedora Legacy project and thus no future security updates for FC2 spurred this upgrade.
Fedora Core 6 added some scripting to export and import some Cyrus-imapd database files in case new versions of BDB (Berkely DB, the DB library Cyrus-imapd uses) change the DB format. Unfortunately something appears to break this script.
See this email from info-cyrus for some discussion about the matter.
The following directions by langthang via Grzegorz Mucha (which I have modified for FC6 paths) worked around the problem (though I hope cyrus-imapd properly rebuilt the files these directions delete):
$ sudo /etc/rc.d/init.d/cyrus stop
$ sudo -u cyrus bash
$ cd /var/lib/imap/
$ mkdir backup
$ cp -a * backup
$ rm db/*
$ rm db.backup?/*
$ rm deliver.db
$ rm tls_sessions.db
$ /usr/lib/cyrus-imapd/ctl_mboxlist -d > mailboxes.txt
$ mv mailboxes.db mailboxes.db.old
$ /usr/lib/cyrus-imapd/ctl_mboxlist -u < mailboxes.txt
$ diff mailboxes.db*
Files mailboxes.db and mailboxes.db.old differ
$ sudo /etc/rc.d/init.d/cyrus start
I used to have to recompile the cyrus-imapd src rpm to enable IMAP IDLE support, but it appears that this option is now enabled by default in the pre-built rpm package.