ports のメンテナンスを行おうと、portversion コマンドを発行してみると、次のようなエラーが発生。
# portversion -vL= /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:118:in `block (2 levels) in fill': MOVED file format error (PortsDB::MOVEDError) from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:112:in `each' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:112:in `block in fill' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:111:in `open' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:111:in `fill' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:106:in `initialize' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:181:in `new' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:181:in `setup' from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/pkgtools.rb:242:in `init_pkgtools_global' from /usr/local/sbin/portversion:191:in `block in main' from /usr/local/lib/ruby/1.9/optparse.rb:882:in `initialize' from /usr/local/sbin/portversion:84:in `new' from /usr/local/sbin/portversion:84:in `main' from /usr/local/sbin/portversion:383:in `<main>'
バージョンが最新ではなくなったパッケージの一覧が表示されるべきところが、エラーに伴う Ruby(?)関係のエラー情報が表示されて終了。
ports ディレクトリのメンテナンスは cron で毎日行っており、昨日は問題なかったはず。突然なぜ?って気分ですが、原因の可能性としては、エラーメッセージから推測するに /usr/ports か /var/db/portsnap のいずれかが壊れた可能性が高いと考えました。
試しに、ports ディレクトリのファイルを更新し、portversion コマンドを再発行して、pkgdb を再構築してみることにしたところ、解決。
# portversion -vL= [Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 610 packages found (-1 +2) (...).. done] [Updating the portsdb <format:bdb_btree> in /usr/ports ... - 24474 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........22000.........23000.........24000.... ..... done] bash-4.3.22 < needs updating (port has 4.3.24) ffmpeg-0.7.15,1 < needs updating (port has 2.2.4_4,1) ja-jvim-3.0.j2.1b < needs updating (port has 3.0.j2.1b_1) ntp-4.2.6p5_2 < needs updating (port has 4.2.6p5_3) opencv-core-2.3.1_9 < needs updating (port has 2.4.7_1) openjdk6-b28_5 < needs updating (port has b32,1) p5-Net-DNS-0.68 < needs updating (port has 0.78) rtmpdump-2.4_1 < needs updating (port has 2.4.20130923_2) wget-1.14_2 < needs updating (port has 1.15_1)
しかし、何が悪かったのだろう?