unbound 使ってでびあんの勉強 (6)

抽象化されてるナニをあえて掘るのは別途、とゆーコトでもう少し違う切り口で不明点を掘り下げてみる。今日は早めに帰れたのでがっつりイケるかどうか。

何が切り口か、というと debian/control です。例えば unbound-1.0.2 だと以下なカンジ。

# grep Package debian/control 
Package: unbound
Package: unbound-host
Package: libunbound0
Package: libunbound-dev
#

確かに debuild したら 4 つできてます。

# ls ../*.deb
../libunbound-dev_1.0.2-1_i386.deb
../libunbound0_1.0.2-1_i386.deb
../unbound-host_1.0.2-1_i386.deb
../unbound_1.0.2-1_i386.deb
#

そのまんまと言えばそのまんまなのですが、rules で制御しているワケではないようです。ただ、Makefile を見るに

all:    $(COMMON_OBJ) unbound unbound-checkconf lib unbound-host

というルールがあります。COMMON_OBJ は微妙かも。基本的には control は依存関係を定義しているだけで、パケジの作成についてはあくまでも debian/rules と Makefile なのかなぁ。
ぶっちゃけ他のパケジも見た方が良いのかな。

と言いつつ bind9-9.3.4 も

こちら、結構たくさん Package なエントリがある。ディレクトリの中を覗いてみたら Autotools なファイルが色々あるな、と言いつつ debian/rules 見たら

autofiles:

というルールがあるんですが、どこからも無視されてるように見える。変だなぁ、と言いつつディレクトリを見てみたら configure がいきなりある。仕方がないので試験。

$ cp bind9-9.3.4 bind9-9.3.4-test -r
$ cd bind9-9.3.4-test
$ ./debian/rules configure
(出力は略
$

Makefile を見てみる。sub directory な Makefile で make している模様。しかしことごとく TARGET に何もセットされてねぇ。

とりあえず

依存関係その他諸々は debian/control で、実際にそこでセットされたパケジを作るのは debian/rules で、という事でその関係というか整合性を確保するのはおそらくパケジメンテナに任されている、という事かな。

どっちかとゆーと

BTS とか見て、色々穿ってみる方が良いのかも。