|
http://svn.desktopbsd.net/trac/ticket/43
portupgrade doesn't work because it can't read portsdb
Reported by: Arabian Assigned to: peterh
Priority: major Milestone: DesktopBSD 1.6
Component: Package Management Version: 1.6-RC1
Keywords: Cc:
Description ¶
COMPAQ# portupgrade -ia ---> Session started at: Fri, 19 Jan 2007 16:08:46 +0000 [Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 241 packages found (-1 +1) (...). done] [missing key: virtual_categories] [Updating the portsdb <format:bdb_btree> in /usr/ports ... - 0 port entries found ..... done] missing key: virtual_categories: Cannot read the portsdb! ---> Session ended at: Fri, 19 Jan 2007 16:08:57 +0000 (consumed 00:00:11) /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:548:in `open_db': database file error (PortsDB:BError)
from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:702:in `port' from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:890:in `all_depends_list' from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:809:in `tsort_build' from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:801:in `each' from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:801:in `tsort_build' from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:823:in `sort_build' from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:827:in `sort_build!' from /usr/local/sbin/portupgrade:721:in `main' from /usr/local/lib/ruby/1.8/optparse.rb:755:in `initialize' from /usr/local/sbin/portupgrade:220:in `new' from /usr/local/sbin/portupgrade:220:in `main' from /usr/local/sbin/portupgrade:2084
-----------------------------------------------------------------------------------
http://www.freshports.org/sysutils/portupgrade/
2006-07-03
Affects: users of sysutils/portupgrade
Author: sem@FreeBSD.org
Reason:
Because portupgrade had a problem with detecting Berkley DB version 2
or newer, and the default database format is now set to use these
versions, you can end up with a portupgrade that does not work with
older databases. A quick fix is to remove the databases, type:
'rm /var/db/pkg/pkgdb.db /usr/ports/INDEX*.db'.
portupgrade will recreate them automatically. It does absolutely no harm.
If you do not want remove the databases, you should detect what database
type do you use, and set the port options for portupgrade accordingly.
Follow these instructions:
- run 'pkgdb -fu' *before* upgrading and take a look on the output.
You can see database format there as: format:XXX, where XXX is your
current database format.
- Go to portupgrade port directory and configure the port with
`make config' command. If you have bdb_* format, then turn on the BDB4
option. If you have bdb1_* format, then turn off BDB4 and turn on
the BDB1 option. If you have dbd_hash format, then turn off all options.
- Upgrade portupgrade.
Note: if you change database format with changing port options,
you should remove the ruby-bdb* port that you don't need anymore.
Alternatively, you can hard code database format in your pkgtools.conf. |
|