hello-debhelper パケジ (2)
再度中身を確認してみます。apt-get source した時点の状態が以下です。
$ ls -l total 604 drwxrwxr-x 12 rms rms 4096 2012-02-14 16:10 hello-debhelper-2.7 -rw-rw-r-- 1 rms rms 6175 2011-05-01 01:06 hello-debhelper_2.7-1.debian.tar.gz -rw-rw-r-- 1 rms rms 1358 2011-05-01 01:06 hello-debhelper_2.7-1.dsc -rw-rw-r-- 1 rms rms 599680 2011-05-01 01:06 hello-debhelper_2.7.orig.tar.gz $
ちなみに入門 Debian パッケージには .debian.tar.gz なファイルの記述が無いのですが、最近はこれも同梱されているのだろうと類推。中身は debian ディレクトリを固めたもののようです。
以下。
$ find debian/ debian/ debian/rules-dh debian/control debian/copyright debian/changelog debian/compat debian/source debian/source/format debian/patches debian/patches/series debian/patches/01-no-usr-share-info-dir-gz debian/rules $
rules-dh って何だよ。中身が以下。
#!/usr/bin/make -f %: dh $@
これは一体何でしょ。ちょっと色々確認してみたところ、開発ニュース寄せ集め (第 7 号) によると以下らしい。
debhelper v7 は、大胆な開発者が利用する準備ができています。このバージョンでは、cdbs からいくつかのものを学ぼうとしました。その結果できたのが、多くのパッケージでたった 3 行の debian/rules ファイルを作成するのに使える、新しい「dh」コマンドです。 これが、cdbs よりも強力で、より低い学習曲線を持つことを期待しています。 どうぞ、お試しあれ。
開発ニュース寄せ集め (第 7 号) より引用
とは言え、こうできるかも、ってことでこれについてはここで検討中断。
debian/ 配下
ええと、メンテナガイドの以下の章を見つつ確認。
debian/patches
quilt というコマンドを使って (?) パッチが作成されるらしいのですが、詳細不明。第3章 ソースコードの変更の章も確認してみます。
これ、patch を簡易に作成できるツールなのか。上流に送付する patch がさくっと作れるよ、ということなのだろうと思いますが、でびあんではパケジのソースってどうやって管理するのがデフォなのかな。とりあえず debian/patches の目的は理解できたので次。
む
cdbs な debian/rules 見てたんですがパケジ名は hello-cdbs になってますが、できあがりの .deb は hello-debhelper のママですね。これって debian/rules 限定のはずなんですがどうなんでしょ。
package = hello-cdbs
ちょっと以下のメンテナガイドにざっくり目を通しておいた方が良さげですね。
ちなみに上記 debian/rules の中に記述されてる代入式ですが、これは rules の中だけで有効な変数ですね。install/hello-cdbs なターゲットで使用されてました。
install/hello-cdbs:: $(MAKE) prefix=$(CURDIR)/debian/$(package)/usr install
基本的にパケジ名を決定するのは debian/control なようです。
Package: hello-debhelper
いやはや。