重村法克です。

20060703:
  影響: sysutils/portupgrade の使用者
  文責: [EMAIL PROTECTED]

  portupgrade は Berkley DB version 2 以降の検出に関する問題があった
  のと, 検出したバージョンを使うためにデータベースフォーマットが設定
  されいるため,  portupgrade は古いデータベース上で動かないことになり
  かねません。応急措置としてはデータベースを削除することです。以下の
  ようにタイプしなさい:
  'rm /var/db/pkg/pkgdb.db /usr/ports/INDEX*.db'
  portupgrade は自動的にデータベースの再生成を行うでしょう。これは絶
  対的に間違いありません。

  もしデータベースを削除したくないなら, どのようなデータベースを使用
  しているのか検出し, しかるべく portupgrade のための port オプシ
  ョンを設定しなければなりません。
  以下の指示に従いなさい:

  - アップグレードする*前に* 'pkgdb -fu' を実行しなさい。そして出力
    を見ておきなさい。
    データベースフォーマットを format:XXX という形で見ることができ,
    この XXX が現在使用しているデータベースフォーマットとなります。
  - portupgrade の ports ディレクトリに行き, 'make config' コマンド
    により configure を行いなさい。もし bdb_* フォーマットなら, こ
    こでは BDB4 オプションを on にしなさい。もし bdb1_* フォーマッ
    トなら BDB4 オプションを off にし, BDB1 オプションを on にしな
    さい。もし dbd_hash フォーマットなら, 全てのオプションを off に
    しなさい。
  - portupgrade をアップグレードしなさい。
  
  注意: もし ports オプションを変更することでデータベースフォーマ
  ットを変更するなら, 必要としない ruby-bdb* ポートを削除するべき
  です。あるいは, pkgtools.conf 注にデータベースフォーマットをハー
  どコーディングすることもできます。

メールによる返信