2005年3月30日 (水曜日)

08:27:42 # Debian 「debian/patchesというディレクトリがあって,そこにパッチがたくさんはいっているんだけど,なんだ」 「あぁ、それね、dpatchだからdpatch-list-patchコマンドうってみな」. そんな会話,Debianユーザでも頻繁には聞けない. dpatchってなんだろう.

dpatchとはDebian のソースパッケージの中で,Debianパッケージ適用しているパッチを 一つのdiff.gzとして管理するのではなく,複数のパッチとして管理するためのシステム. 特徴としては,ソースコードがdbsのようにtarでかためられた形で配付されているのではなく, Debianの標準的な形で配付されていること. debian/rules patchコマンドでパッチを適用し, debian/rules unpatchコマンドでパッチを逆に適用する.

dpatch自体はdbsより後にでてきた. tar.gz形式のファイルをtar.gzファイルの中にいれるという dbsの形が望ましくないと考えている人達には受け入れられた. ただ,問題点としては,dbsも同じなのだが,ソースディレクトリにあるファイルを直接そのまま 編集しても, dpatchのパッチの使い方がわからないとうまくビルドできない場合があるということ. Debianソースパッケージの中のソースへの変更は基本的にすべてそれぞれ一つのパッチとして扱い,管理する必要がある.

変更についてそれぞれdebian/patches/以下においたパッチファイルになり, 変更の意味についてコメントを書くため,どういう変更を適用したのか,という点がわかりやすい. どの変更を適用しなくしてみるか,という選択が,debian/patches/00listファイル を編集するだけでできるので,それもよい.

しかしながら,dpkg-source -xしただけではビルド時につかわれるソースコードが展開できないことは 変わらない. 最終的には今後の改善としては,dpkg側でサポートすることになるだろう. それまでの一時的な対応として,パッチを適用した後のインタフェースの標準化が必要なのではないだろうか.

22:47:47 # Life 発注していたDebian名刺が到着. あまりふかく考えなくて500枚注文したのだが,500枚って凄く多い. 到着した荷物をみてびっくりした.

Junichi Uekawa

$Id: dancer-diary.el,v 1.86 2005/03/13 10:09:29 dancer Exp $