2005年1月16日 (日曜日)

16:47:34 # Debian 「debhelperって魔窟だよね」.そんな言い訳がある. Debian Developerにしか通用しないそんな言い訳.どういうつもりなのか知りたい?

debhelperとは,Debian のパッケージシステムの定型的な部分をスクリプトとして分離したスクリプト集. たとえばファイルをコピーするだとか,ドキュメントをコピーするだとか, ファイルの所有者権限を設定するだとかいう処理を担当するスクリプトがたくさんある. 各スクリプトはdh_で始まる名前で, パッケージをビルドするためのスクリプトであるdebian/rulesの中から呼び出される. 例えば,dh_installmanはmanpageファイルを指定したら,結果のdebファイルをインストールしたら それっぽいディレクトリにインストールされるような場所にコピーしてくれる. このように目的に応じてスクリプトとして抽象化することの利点としては,たとえば ポリシーの変更が発生し,manpageの配置する場所が変わったとしても スクリプトだけを変更しておけばよいということになる. また小さな仕事のみをする各スクリプトが分離しているのは, 設定ファイルベースの巨大なスクリプトプログラムが動作するよりも, 単純なプログラムをdebian/rulesからメンテナが駆動するほうがメンテナンス性と複雑性が 低減するという考え. あらゆることをするスクリプトというのがdebhelperの前には存在しており,それがdebmake (debstd). debstdの失敗から学び,Debhelperを統合する形で開発がすすめられているのが cdbs. 今後は,debhelper はdebhelperとして開発が進み, 統合ビルド環境としては,cdbsが展開していくだろう. しかし,Debianのほとんどのパッケージはdebhelperを利用しているため, まだまだこれからもdebhelperはつかわれていくだろう.

dpatchなどのパッチ管理ツールを統合してくれているcdbsの今後がたのしみだ.

Junichi Uekawa

$Id: dancer-diary.el,v 1.85 2005/01/23 15:38:54 dancer Exp $