Holger Weiss a écrit :
- Mathieu Kretchner <mathieu.kretchner@sophia.inria.fr> [2008-09-22 16:11]:
I would like to do a conversion of my imap accounts (and keep all theirs characteristics) from cyrus-imapd-2.2.12 in cyrus format to dovecot 1.1.3 in courrier format.
I've tried those 3 tools :
cyrus2courrier.1.5.ts cyrus2courier-1.3z4 imapsync (works well but very slow and should not be a true solution)
But nothing is working to keep the seen/unseen flag (expect imapsync) ! I know my cyrus version is too "recent" but do you have any idea how could I do this migration ?
cyrus2courier 1.5.ts should work with Cyrus 2.2.12 if the seen (and subscription) states are available in flat text files; otherwise, they must first be converted using cvt_cyrusdb(8).
My last try has nothing good :
cyrus2courier-1.5-dev : segfault cyrus2courier-1.5-ts : segfault
I don"t understand why ? But it's happening only with -e my_seen_dir option!
However, for our conversion, we've written our own "cyrus2dovecot" which also supports skiplist databases (amongst another few features not provided by the other tools):
I've tried this one too and I'm stuck too :
[root@test testimap]# ./cyrus2dovecot -C /root/Mail/%u -D dovecot-mail/ mketchn
cyrus2dovecot [mketchn]: (error) No Cyrus INBOX at: /root/Mail/mketchn
I've red the perl code and found this :
if (-e "$boxpath/cyrus.header" and -e "$boxpath/cyrus.index") {
//code } else { # # The folder we're in is not in a Cyrus mailbox. However, we # don't simply return here because this folder might contain # other folders which might be Cyrus mailboxes (unless we're in # the INBOX, in which case something is going wrong). # error('No Cyrus INBOX at:', $boxpath) if $box eq 'INBOX'; debug("Skipping $boxpath as it's not a Cyrus mailbox."); $mailfolder = 0; }
But I'm sure cyrus.header and cyrus.index exist.
Any idea (maybe this is a format problem because even cyrus2courier is doing segfault)
Holger