Ralf
Treinen
![]() |
注 ) Ralf Treinen さ ん の 発 表 用 ス ラ イ ド を 、 簡 単 か つ 適 当 に 抄 訳 し ま し た 。 英 語 が 苦 手な方は、 発表前にざっと読んで内容を 把握しておいてください。 訳の間違いなど、 苦情は倉敷まで。
F/OSS インフラストラクチャが特に興味深いのは:
F/OSS における品質保証の現状は:
焦点:リリース管理者の観点によるディストリビューションの一貫性
質問:規定のリポジトリにあるパッケージしか使えない場合に、 ユーザが選択したパッケージはインストール可能だろ うか?
リリース管理者や品質保証チームが、 問題のある、 もしくは無用なパッケージを見つける助けになる質問
パッケージの関係について、 命題論理に基いて数学的なモデルを作ることから始めた。
定 理 :
あるパッケージp のバージョンv は、 pv を真とする真偽値が存在し、 リポジトリの記号化を満足すれば、 「インストール可 能」 である
平均的な式は 400 の定数を持つ。 KDE のインストールでは 32000
EDOS を通じていくつかのツールが開発された (OCaml で 110000 行のコード)
パッケージのインストーラビリティをチェックするコマンドラインツール
インタラクティブなコンソール環境で、 リポジトリの検査用
パッケージリストの複数フォーマットをパース/変換する
リポジトリを分割 (メディアなど) する。 この時、 i 番目のメディアに含まれているパッケージは、 i 番目まで のメディアを使えばインストール可能となる
いくつかを詳細に見てみよう……
カスタマイズされた SAT 解決器がベースになっていて、 とても高速: testing/amd64 の main にある全パッケージのインス トーラビリティのチェックにかかる時間は、 エントリーレベルのマシン上で 5 秒。
emdebian ではパッケージのアップロード前に edos-debcheck を使って、 壊れたパッケージをアーカイブに アップロードしないようにしている
Debian のパッケージ名: edos-debcheck, edos-rpmcheck
pkglab はインタラクティブな、 コンソールベースの環境で、 パッケージベースのソフトウェアディストリビューションのリポ ジトリを調査するもの
機能:
Debian のパッケージ名: dose2 (基本のライブラリ), ceve (パッケージリストのパーサ/コンバータ), pkglab (インタラク ティブ環境), edos-debcheck (debian 向けのインストーラビリティチェッカ), edos-rpmcheck (RPM 向けのインストーラビリ ティチェッカ)
Debian, Skilelinux, Debian GNU/kFreeBSD において、 毎日 edos-debcheck を使ってインストール不可能なパッケージをモ ニターしている: http://edos.debian.net/edos-debcheck
インストールできないパッケージの頻出ケース:
ユーザにこういったエラーを見せる前に取り除く。
レポート: http://edos.debian.net/missing-conflicts/
BTS:ユーザtreinen@debian.org、 タグ edos-file-overwrite
アップグレード問題 = インストールされたパッケージのローカルなステータスを変更するようメタインストーラが要求するこ と で 発 生 す る 問 題 。
アップグレード問題の解決は、 いくつかの理由で失敗し得る:
Mancoosi は 2 つの側面からアップグレード問題に取り組もうとしている:
想定外のエラー (メンテナスクリプトなど) があった場合、 事後のリカバリが唯一の解決策
メタインストーラが最新の水準を満たしていない (例えば、 不完全性: when there is one、 解決法を見つける ことができない) :我々がうまくやらねば!
アップグレード問題への解決法が存在するなら、 メタインストーラはそれを発見できなくてはならない
同等の異なる複数の解決法を区別するため、 最適化の基準を指定できる必要がある。 例えば:
依存性の解決は、 可能な限り高速でなくてはならない
我々は、 依存性解決における魔法の銀の弾丸となるアルゴリズムを探そうとしているわけではもちろんないが、 依存性解決の competition 運営につながる助けとなることができる
SAT 解決自体のような関連分野において、 同様の competition が技術水準を最新に押しあげるのに大いに寄与しています。 なぜこの分野でやらないのでしょう?
第
23 回関西 Debian 勉強会 2009 年 4 月
____________________________________________________________________________________________