Date: Sat, 01 Jul 2006 13:28:29 +0400 From: Sergey Matveychuk <sem@FreeBSD.org> To: Matthias Andree <matthias.andree@gmx.de> Cc: freebsd-ports@freebsd.org Subject: Re: HEADS-UP: portupgrade and pkgdb.db failures Message-ID: <44A6403D.8010204@FreeBSD.org> In-Reply-To: <m3d5cpg1ck.fsf@merlin.emma.line.org> References: <44A568A9.3030206@FreeBSD.org> <m3d5cpg1ck.fsf@merlin.emma.line.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthias Andree wrote: > Sergey Matveychuk <sem@freebsd.org> writes: > >> Please note: >> If you got problem with pkgdb.db (and INDEX.db) file afrer upgrade >> portupgrade, remove it (them) and restart portupgrade. >> (It was described in man page.) > > For those wondering, these are /var/db/pkg/pkgdb.db and > /usr/ports/INDEX.db, INDEX-5.db or INDEX-6.db. Yes, I meant INDEX*.db > >> It's possible you'll get *.db brackage. It'll happen if you selected >> WITH_BDB4 option and thought you have *.db in bdb2+ format. But it was >> wrong, you had bases in dbd format. Now it's fixed and you'll have > > Is that bdb 1.85 format you're referring to? No. Only if you have defined WITH_BDB4. > >> honest bdb format, but you should remove databases files first. > > Would it be possible, reasonable and not too much effort to use the > db_dump185* and db_load* utilities of the corresponding database library > to automatically convert the database to the newer format in > postinstall? (Can the proper Berkeley DB library version be queried > from the ruby database code at all?) > I don't know bdb files format. I think sleepycat provide some convertors, but it's not a point. Real problem is old versions of portupgrade fall back to dbd driver (not Berkley DB) if no bdb1 driver was found. So bdb2+ never used even if you have it installed. So if you get *.db file error it means you have dbd files instead of bdb2+. -- Dixi. Sem.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44A6403D.8010204>