CYRUS2COURIER
============= 

  cyrus2courier is a nice tool to convert a single mailbox from
  Cyrus-Imap into the Maildir++ format used by the Courier-Imap and 
  Dovecot IMAP servers.


FEATURES
========

  * migrates the whole directory structure of a mailbox
  * migrates all mailfiles with proper CR/LF-fixing
  * retains all mailflags like "seen", "replied", "deleted" ... 
  * generates "mailfolder"-files within the subdirectories
  * generates "courierpop3dsizelist" files
  * optionally migrates quota and folder-subscription information
  * optionally outputs dovecot-compatible format
  * supports cyrus 2.0 db-style seen files


REQUIREMENTS
============

  * a working getopt/getopt_long implementation (GNU getopt, OpenBSD getopt) 
  * a C-compiler (gcc recommended)


BUILDING
========

  just type "make" in the root directory of the unpacked distribution.


KNOWN ISSUES
============

  * only mail-size quotas are migrated; mail-count quotas are ignored 

  * c2c can only convert flatlist seen files, but you can convert
    your skiplist/db3-style seen files with 

	   cvt_cyrusdb /path/to/your.seen skiplist /path/to/a/your_flat.seen  flat

	(many thanks to Adam for the hint!)


USAGE
=====

  Usage: cyrus2courier [options] cyrusdir courierdir mailbox

     -V, --Version .............. print version information
     -v, --verbose .............. be verbose / repeat to increase verbosity
     -q, --quota-dir=<dir> ...... cyrus quota-files directory
     -s, --subscribe-dir=<dir> .. cyrus subscribe-files directory
     -e, --seen-dir=<dir> ....... cyrus seen-files directory
     -x, --hashed=[s][q][e]...... cyrus hashed (s)ubscribe/(q)uota/s(e)en dirs
     -d, --dovecot .............. write Dovecot-compatible files


  Note: all directories have to be specified with absolute pathnames


  Example:

  cyrus2courier --quota-dir=/mail/conf/quota --subscribe-dir=/var/conf/user \
                 /var/spool/cymail /var/spool/couriermail mad


  For mass-conversion, try something like ... 

  for mailbox in `ls /var/spool/cymail/`; do
    echo $mailbox
    cyrus2courier --quota-dir=/mail/conf/quota --subscribe-dir=/var/conf/user \
                 /var/spool/cymail /var/spool/couriermail $mailbox 
  done

  or have a look at the shell-scripts from the scripts subdirectory.


TESTED W/
=========

  * with Cyrus-Imap 1.5.x/1.6.x/2.0/2.1.x
  * Courier-Imap 1.7.x/2.0
  * Dovecot 0.99.10

  * HPUX 11.22/ia64
  * AIX 5.1
  * Compaq Tru64 V5.1B
  * FreeBSD 4.8/5.1
  * OpenBSD 3.3/i386
  * Debian Linux 3.0
  * Solaris 9/x86
  * Windows XP/Cygwin 1.3.22

  * gcc 2.95.4, 3.2.3, 3.3, 3.4-dev
  * tcc 0.9.19 (Linux)
  * Compaq C V6.5-207
  * IBM C for AIX 6


AUTHOR
======

  * Alexander Marx <mad at madness dot at>


CREDITS
=======

  * Timo Sirainen <tss at iki dot fi>
      Dovecot support, initial Cyrus-Imap 2.0 and 2.1 support; 64Bit support
      and fixes to preserve UIDs

  * Stefan Kaltenbrunner <stefan at kaltenbrunner dot cc>  
      lots of suggestions; some cyrus-imap db-file reverse engineering;
      getopt-style commandline argument handling; lot's of cvs-breakage;
      code to generate courierpop3dsizelist files

  * Adam Shand <adam at spack dot org>
      some help with debugging earlier c2c versions; some tips on converting 
      newer cyrus mailspools and an example script for cyrus2dovecot 
      mass-migration (see scripts/convert2dovecot.sh)
	  

also many thanks to all the people who mailed and/or provided feedback.


--  
  $Id: README,v 1.31 2006/02/26 14:39:15 mad Exp $
