パッケージマネージャ

RUNES Manager。
Linuxで言うところのaptとかyumとかurpmiとかsmartとかに近いもの。IKeJIさんがコレっぽいもののWindows版を作るとか作らないとか作らないか?とか…


で、作るのはRUNESのプラグインをインストールしたりアンインストールしたりするもの。

必要な機能:
1. 依存関係を自動的に解決してWebからインストール
2. 依存関係を自動的に解決してアンインストール
3. プラグインをWebから検索
4. インストールされているプラグインの状態を表示


重要なのはWeb側(リポジトリと言ってみたりする)に置くデータの構造、だと勝手に思っている。
urpmi(Mandriva)とyastSUSE)とyumFedora)の場合、rpmが1つのディレクトリにフラットに置いてあって、別のところにそのデータベースファイルが置いてある。

データベースにはrpmの依存関係やらやらが書いてある、と思う。yumの場合はこのファイルはどうもXMLらしい。

クライアント(yumとか)はそのデータベースを取ってきて、パースして、ごにょごにょやる。

yumは、yumと叩く度にこのデータベースファイルを取ってくる。なのでいちいち重い。


yastやらurpmiやらaptやらは毎回は取ってこない。ただし手元のデータベースが更新されていないのにサーバー側が更新されていると、インストールに失敗することになる。そのときは手動でデータベースを取ってくるように指示する必要がある。


aptはdebファイルがフラットではなく、頭文字ごとにディレクトリに分けて置いてある。
その他に違いがあるかは不明。



とりあえずyumのデータベースファイルはXMLらしいので、解析してみることにする。