[pkg-kolab] r209 - trunk/kolab-cyrus-imapd/debian
Steffen Joeris
white-guest at costa.debian.org
Tue Jan 24 12:23:35 UTC 2006
Author: white-guest
Date: 2006-01-24 12:23:34 +0000 (Tue, 24 Jan 2006)
New Revision: 209
Added:
trunk/kolab-cyrus-imapd/debian/README.Debian.database
Modified:
trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postinst
trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postrm
trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.prerm
trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.templates
Log:
* various path fixes
* we want to provide this README for the debconf templates
Added: trunk/kolab-cyrus-imapd/debian/README.Debian.database
===================================================================
--- trunk/kolab-cyrus-imapd/debian/README.Debian.database 2006-01-24 12:18:26 UTC (rev 208)
+++ trunk/kolab-cyrus-imapd/debian/README.Debian.database 2006-01-24 12:23:34 UTC (rev 209)
@@ -0,0 +1,122 @@
+Cyrus IMAP for Debian: Database backend conversion
+$Id: README.Debian.database 5 2005-03-12 23:19:45Z sven $
+--------------------------------------------------
+
+ "All systems administrators have their horror stories. For me, it was
+ setting up a HP Color Bubblejet under Linux using ghostscript before
+ linuxprinting.org was alive. Well that was a piece of cake compared
+ to what I am about to describe in this document."
+ -- "Hosting email for virtual domains using Postfix and Cyrus"
+ Haim Dimermanas, 2001-08-01
+
+ "I warned you to read all the documentation first, didn't I?"
+ -- Henrique M. Holschuh, 2002-10-01
+
+For more information, please consult http://asg.web.cmu.edu/cyrus/imapd/.
+There is also Cyrus-HOWTO (Cyrus-IMAP.txt) available as part of the LDP HOWTO
+collection. Upgrade hints are in UPGRADE.Debian. Outdated documentation will
+cause you much grief, so beware of that when hunting anywhere else than the
+Cyrus mailinglist for information.
+
+
+Database backends
+-----------------
+
+Cyrus can be compiled to use different types of database backends for each of
+its databases. The package will warn you if you try to start Cyrus and the
+database backends seem to have changed since the last active version.
+
+After converting all the mail stores and /var/lib/cyrus to use the proper
+database backends using cvt_cyrusdb(8), remove
+/usr/lib/cyrus/cyrus-db-types.active and run "dpkg-reconfigure cyrus22-common"
+once to reset the error trigger, and start cyrmaster.
+
+If cvt-cyrusdb locks up just at the beginning of the conversion, your databases
+might be locked. Unlock them (i.e. REALLY stop Cyrus if it is still running,
+use the db3* utilities to clean any stray locks, or try a reboot).
+
+Step-by-step conversion guide:
+
+1. Stop the Cyrus system
+ /etc/init.d/cyrus22 stop
+
+2. Find out which databases to convert:
+ diff -u /usr/lib/cyrus/cyrus-db-types.active \
+ /usr/lib/cyrus/cyrus-db-types.txt
+
+ The databases are these in the default install:
+ DUPLICATE /var/lib/cyrus/deliver.db
+ MBOX /var/lib/cyrus/mailboxes.db
+ TLS /var/lib/cyrus/tls_sessions.db
+
+ Don't bother upgrading the TLS database, just delete it: the information
+ there is not reused when you stop Cyrus.
+
+ If the BerkeleyDB version is what was changed, you need to use the
+ Berkeley DB upgrade utility in all db* databases. See the manpages for
+ db*_upgrade.
+
+ The SUBS and SEEN databases are different: there are many of them (one
+ for every mail folder of every user for SEEN; one for every user for
+ SUBS) and you need to convert every single one of them.
+
+ SUBS /var/lib/cyrus/...../*.subs
+ SEEN /var/lib/cyrus/...../*.seen
+
+ SUBS contains the subscribed folders, and SEEN contains the seen state
+ of every mail in a folder.
+
+ Types db3_nosync and db3 are the same for database conversion matters.
+
+2.1 Converting from DB* to SKIPLIST
+
+ As user cyrus, do the following:
+
+ cd /
+ /usr/sbin/cvt_cyrusdb <fullpath to database> db3 \
+ /var/lib/cyrus/temp.db flat
+ rm -f <fullpath to database>
+ /usr/sbin/cvt_cyrusdb /var/lib/cyrus/temp.db flat \
+ <fullpath to database> skiplist
+ chown cyrus:mail <fullpath to database>
+ rm -f /var/lib/cyrus/temp.db
+
+2.2 Converting from FLAT to SKIPLIST
+
+ As user cyrus, do the following:
+
+ cd /
+ mv <fullpath to database> <fullpath to database>.old
+ /usr/sbin/cvt_cyrusdb <fullpath to database>.old flat \
+ <fullpath to database> skiplist
+ chown cyrus:mail <fullpath to database>
+ rm -f <fullpath to database>.old
+
+2.3 SUBS and SEEN databases
+
+ I suggest using a small shell script and using "find" to mass-convert
+ the SEEN databases:
+ find /var/lib/cyrus -type f -name '*.seen' -exec myshellscript {} \;
+
+ The "find" command above you give you the name of the database as "$1"
+ inside your shell script.
+
+3. Reset the database backend change system
+ rm /usr/lib/cyrus/cyrus-db-types.active
+ dpkg-reconfigure cyrus22-common
+
+4. Start Cyrus, if not started by step 3
+ /etc/init.d/cyrus22 start
+
+WHY THERE IS NO AUTOMATED UPGRADE SCRIPT: Because I dislike people who do not
+read docs, and one Debian user asked me exactly the wrong thing (about
+cyrus21-imapd) while I was in the middle of writing said script AND I am quite
+short on time lately: it is much faster to write a doc than to write and test
+the script. So, now everyone will need to read the docs to get Cyrus working
+again. I am not holding back the skiplist change for that script anymore.
+
+Maybe someday I will finish the upgrade script. Maybe someone else will write
+one (I will certainly include it in the package, if it is good enough). Don't
+hold your breath, though.
+
+ -- Henrique de Moraes Holschuh <hmh at debian.org>
Modified: trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postinst
===================================================================
--- trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postinst 2006-01-24 12:18:26 UTC (rev 208)
+++ trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postinst 2006-01-24 12:23:34 UTC (rev 209)
@@ -1,8 +1,8 @@
#! /bin/sh
-# postinst script for cyrus22-common
+# postinst script for kolab-cyrus-common
# Copyright (c) 2002 by Henrique de Moraes Holschuh
# Distributed under the GNU General Public License version 2
-# $Id: cyrus22-common.postinst 5 2005-03-12 23:19:45Z sven $
+# $Id: kolab-cyrus-common.postinst 5 2005-03-12 23:19:45Z sven $
#
# see: dh_installdeb(1)
Modified: trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postrm
===================================================================
--- trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postrm 2006-01-24 12:18:26 UTC (rev 208)
+++ trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.postrm 2006-01-24 12:23:34 UTC (rev 209)
@@ -1,8 +1,8 @@
#! /bin/sh
-# postrm script for cyrus22-common
+# postrm script for kolab-cyrus-common
# Copyright (c) 2002 by Henrique de Moraes Holschuh
# Distributed under the GNU General Public License version 2
-# $Id: cyrus22-common.postrm 5 2005-03-12 23:19:45Z sven $
+# $Id: kolab-cyrus-common.postrm 5 2005-03-12 23:19:45Z sven $
#
# see: dh_installdeb(1)
Modified: trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.prerm
===================================================================
--- trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.prerm 2006-01-24 12:18:26 UTC (rev 208)
+++ trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.prerm 2006-01-24 12:23:34 UTC (rev 209)
@@ -1,8 +1,8 @@
#! /bin/sh
-# prerm script for cyrus22-common
+# prerm script for kolab-cyrus-common
# Copyright (c) 2002 by Henrique de Moraes Holschuh
# Distributed under the GNU General Public License version 2
-# $Id: cyrus22-common.prerm 5 2005-03-12 23:19:45Z sven $
+# $Id: kolab-cyrus-common.prerm 5 2005-03-12 23:19:45Z sven $
#
# see: dh_installdeb(1)
Modified: trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.templates
===================================================================
--- trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.templates 2006-01-24 12:18:26 UTC (rev 208)
+++ trunk/kolab-cyrus-imapd/debian/kolab-cyrus-common.templates 2006-01-24 12:23:34 UTC (rev 209)
@@ -9,7 +9,7 @@
might need to be converted manually to the new format, using the
cvt_cyrusdb(8) utility.
.
- Please refer to /usr/share/doc/cyrus22-common/README.Debian.database
+ Please refer to /usr/share/doc/kolab-cyrus-common/README.Debian.database
for more information. Do not start cyrmaster until you have converted
the databases to the new format.
More information about the pkg-kolab-devel
mailing list