更新する必要のある ports を取得 ― 2007年07月08日 11時38分58秒
更新時間を元にした依存関係の解決はやはり make が優れている。特に GNU make が群を抜いている。これを使わない手は無い。また、ports には INDEX ファイルがある。ports の make のターゲットの中には、このファイルが最新であることを条件にしているものもあるので、これに依存するには許容範囲だろう。全ての Makefile を解析してports の make pretty-print-run-depends-list を利用してもいいが、結局 INDEX から取って来る。自分で直接解析した方が速い。
インストール済のものは /var/db/pkg 以下の +CONTENTS から取って来る。書式には幾つかのバージョンがあったようだが、まずは現在の書式が最初だ。
昨日の時点での出力。
# upgrade gail-1.18.0 to gail-1.8.11_1
# upgrade linux-atk-1.2.0_3 to linux-atk-1.9.1
# upgrade linux-esound-0.2.22_4 to linux-esound-0.2.36
# upgrade linux-libaudiofile-0.1.11_5 to linux-libaudiofile-0.2.6_2
# upgrade libsoup-2.2.100 to libsoup-2.2.96
# upgrade sdl-1.2.11,2 to sdl-1.2.9_2,2
# upgrade libidn-0.6.10 to libidn-0.6.3
# upgrade kqemu-kmod-1.3.0.p11 to kqemu-kmod-1.3.0.p9_1
# upgrade linux_base-rh-7.3 to linux_base-rh-7.3_1
# upgrade linux-jpeg-6b.15_4 to linux-jpeg-6b.34
# upgrade linux-png-1.2.7_6 to linux-png-1.2.8_2
# upgrade linux-tiff-3.6.1_3 to linux-tiff-3.7.1
# upgrade ja-acroread-7.0.1_2 to ja-acroread7-7.0.8,1
# upgrade linux-sun-jdk-1.3.1.16 to linux-sun-jdk-1.3.1.18
# upgrade linux-sun-jdk-1.4.2.09 to linux-sun-jdk-1.4.2.12
# upgrade linux-sun-jdk-1.5.0.05,2 to linux-sun-jdk-1.5.0.07,2
# upgrade ruby-reference-1.0_1 to ruby18-reference-1.0_1
ports のバージョンの比較が厄介だが、取り敢えずはうまくいっている。もしかしたら、後で正しく扱えていない形式も出て来るかも知れない。この一覧を生成するのにかかった時間は Mobile Intel(R) Celeron(R) CPU 2.40GHz で十秒ぐらい。
実は現在入っている ports は全て portupgrade で更新済なのだ。portupgrade で HOLD されているものの一覧が出来た。こちらも同等の機能が必要そうだ。
まだ、実験段階で ports を更新するのに必要な作業を煮詰めている段階なので、まだ公開するには至らない。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2007/07/08/1635880/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。