Feodraのyumリポジトリ
のメタデータの構造↓
…中略…
…hogehoge…
…fugafuga…
適当に改行を入れてみた。
yum用の情報の中に、rpmのspecファイルの情報をxmlに変換したものが内包(
で
考えるに、実際に使うプラグインバンドル↓
/hoge.bdl
start
info.xml
default.confg
resource/
をストリーミングに展開できる形式(cpio+gzとか)で固めたものをWebにずらっと並べて、これをrpmとして扱えば良いのでは無かろうか。
そこからinfo.xmlだけを取り出して、checksumやらファイル名やらやらの追加情報をくっつけてつなげたものをデータベースファイルにすれば良い。固めるときにinfo.xmlが先頭に来るようにしておけばなお良い。
なんか完全にyum+rpmのパクりだけど…ま、いっか。先人の知恵は大体優れているモンさな。
rpmのspecファイル → プラグインバンドルのinfo.xmlファイル
ディレクトリツリーをcpio+gzで固めて、ヘッダを付ける(rpm) → プラグインバンドルをcpio+gzで固める
それでもって、データベースファイルのチェックサムを、データベースファイルの隣にでも置いておく。
クライアントプログラムは、毎回データベースファイルのチェックサムを取ってきて、手元にあるチェックサムと比べる。違っていたらデータベースファイルを取ってくる。ふむ。コレですな。