重村法克です。
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 注にデータベースフォーマットをハー
どコーディングすることもできます。