[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:12162] Re: historical info



岡@情報科学.高知大です。


"樽石"すなわちMasato Taruishiさんより:

樽石>      <システム>.dpkg-divert, <システム>.update-alternatives 等へのインタフェース
樽石>                                                      | 
樽石>  +--------+ <-----------------------------------+    |
樽石>  |        |         +-------------+             |    |
樽石>  |システム|   (1)   |インストール |             |<---+
樽石>  |  情報  | <------ |(必要時に (2)|             |
樽石>  |        |         |呼ぶ)--> ◯ <------+       |
樽石>  +--------+         +-------------+|    |       |  a class implementing Package
樽石> |                          +=======+ +--+-------+--------+    |
樽石> +===============+==========+         |{pre,post}{inst,rm}|<---+
樽石>                 |                    +-------------------+
樽石>              現行のdpkg
 
樽石> (1) dependency check、 展開要求、 エラー例外等の取得
樽石> (2) 他態性部インスタンス

樽石> つまり、 (2) は手続きでなくて、オブジェクトではないか
樽石> と思っているのです。

# 図は半分ぐらいしか理解できてませんが(^^;

もちろん、そう見立てるでしょう。{pre,post}{inst,rm} は XX パッ
ケージというインスタンスの  メソッドで、「パッケージ抽象クラ
ス」から継承ないしは「パッケージインタフェース」の実装という
ことですよね。

僕が言いたいのは、その {pre,post}{inst,rm} の粒度が粗すぎて
問題が多すぎる、もっとモデル化(=データフォーマット化)して簡
潔に扱えないかということです。


> 樽石さんが書いていたのにちょっと反論して書いただけで、カプセ
> ル化を意識しているわけではないです。それよりむしろ、いかにデー
> タフォーマットたり得るか、を考えています。例えて言えば、
> PostScript と PDF、DynamicHTML と XML(as Web Data) って所
> でしょうか、対極的でしょう? # 言葉少なすぎるかな...。

樽石> つまり、パッケージはデータ部のみを持つものにしようってことですね。

そういうことになります。

樽石> 僕は、パッケージはデータ部と他へのインタフェース(そしてまた、dpkg
樽石> 側もデータ部と他へのインタフェース)を持っているべきだと思って
樽石> いるのです。つまり、現状の {pre,post}{inst,rm} は、dpkg から パッケ
樽石> ージへのインタフェース、dpkg-divert 等は、dpkg へのインタフェースです。

現行の divert の問題は、多層化されていない点です。ちょうど
Z80 の裏レジスタみたいなもので、一時しのぎにしか見えません。
同名ファイルのスタック化(ML や、多くの言語での同名変数のスコー
プ規則みたいなものです)、ないしはちょっと前に述べたレイヤー
ドファイルシステムみたいなのが欲しい(でも、...ファイルシステ
ムの速度低下が致命的な問題でしょうね...)。

dpkg と外部とのモデル化されたインタフェースについては先に述
べました。menu や emacsen のようなのもそうだし、バグオブジェ
クトを登録、消化削除する操作もこれにあたります。

# あ、でも dpkg でやるか、apt レベルでやるかは、一考の余地が
# ありますね、やっぱり。
--
岡 充 (Mitsuru Oka)
高知大学理学部情報科学科4回生