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/compat

上記ドキュメントでは 7 に、ってことですが hello-debhelper の debian/compat は 8 ですね。版数が上がっている模様。

debian/patches

quilt というコマンドを使って (?) パッチが作成されるらしいのですが、詳細不明。第3章 ソースコードの変更の章も確認してみます。
これ、patch を簡易に作成できるツールなのか。上流に送付する patch がさくっと作れるよ、ということなのだろうと思いますが、でびあんではパケジのソースってどうやって管理するのがデフォなのかな。とりあえず debian/patches の目的は理解できたので次。

debian/source/format

これも上記ドキュメントに書いてあるままですね。でびあんネイティブでなければ

3.0 (quilt)

と書いとけ、ってことで上記な記述になっております。

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

いやはや。