I'll try to dig into that. I took (how foolish) the maintainership of bdb in debian, which was orphaned by previous maintainer. So I'll have to get accustomed with bdb anyway.
Ondřej Surý On 1.4.2011, at 18:24, Bron Gondwana <br...@fastmail.fm> wrote: > On Fri, 1 Apr 2011 16:48:55 +0200 > Ondřej Surý <ond...@sury.org> wrote: > >> Hi, >> >> with recent (kinda accidental) upload of 2.4 to debian unstable the >> need for automatic conversion from older database format (2.2) to the >> new one (2.4) yet again arised. Anyone already has something written >> or is willing to help write one? > > The problem is berkeley db files - which is a big problem, because you > actually have to dump with the OLD package - regardless of what version > of Cyrus you have. It's the BDB library that's the issue. > > Otherwise, Cyrus 2.4 should automatically upgrade every other database > format on first access. > > I really, really wanted to have BDB able to handle in-place upgrades > as well, but I haven't been able to figure out a way. There is an > ->upgrade method on databases, but it says it's destructive and can > fail - so you can't just run it during the startup process and hope... > unless you take a backup first! > > Eventually my goal is that you can change the DB type in imapd.conf > and restart Cyrus, and it will just work. We're nearly there - it > will automatically convert between types (by reading the magic from > the top of the file) - but it just can't upgrade BDB. Answer that > question, and I can give you a 2.4.x release that upgrades magically! > > Bron.