Autotools
こんなの とか こんなのを参照しつつ、unbound-1.0.2 の debian/rules とかログを確認。
build
ログが以下。
debian/rules build dh build --before configure dh_testdir libtoolize --force You should update your `aclocal.m4' by running aclocal. aclocal autoheader autoconf dh_auto_configure -- \ --disable-rpath \ --with-chroot-dir=/var/lib/unbound \ --with-pidfile=/var/lib/unbound/unbound.pid checking for gcc... gcc (以下略
debian/rules によれば確かに上記の順でナニ。aclocal は man によると
automatically generate aclocal.m4 from configure.in
とある。その直前に実行されていると思われる libtoolize が出力していると思われるメセジが微妙に気になりますな。man で確認するに --force は
Replace existing libtool files. By default, `libtoolize' won't overwrite existing files.
との事。具体的に何をどうなのかが微妙なんですが、ヤッてみれば良いのかな。
debian/rules 確認
からナニ。
$ fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean dh_clean $
で、順に中身をナニしてみるか。こんどは一つづつ。
$ dh build --before configure dh_testdir $ ls -l total 1988 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 235502 Aug 7 07:10 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in -rwxr-xr-x 1 root root 839796 Aug 7 07:10 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 09:50 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $ libtoolize --force You should update your `aclocal.m4' by running aclocal. $ ls -l total 1988 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 235502 Aug 7 07:10 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat lrwxrwxrwx 1 root root 31 Nov 4 09:50 config.guess -> /usr/share/libtool/config.guess -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in lrwxrwxrwx 1 root root 29 Nov 4 09:50 config.sub -> /usr/share/libtool/config.sub -rwxr-xr-x 1 root root 839796 Aug 7 07:10 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 09:50 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound lrwxrwxrwx 1 root root 28 Nov 4 09:50 ltmain.sh -> /usr/share/libtool/ltmain.sh drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $
ざっくり上記のみであれば
- config.guess
- config.sub
- ltmain.sh
が libtoolize --force で作成された模様。上記を元に aclocal 以降で云々、なのでしょうか。
aclocal
という事で次は aclocal
$ aclocal $ ls -l total 1996 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 238659 Nov 4 09:55 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Nov 4 09:55 autom4te.cache drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat lrwxrwxrwx 1 root root 31 Nov 4 09:50 config.guess -> /usr/share/libtool/config.guess -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in lrwxrwxrwx 1 root root 29 Nov 4 09:50 config.sub -> /usr/share/libtool/config.sub -rwxr-xr-x 1 root root 839796 Aug 7 07:10 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 09:50 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound lrwxrwxrwx 1 root root 28 Nov 4 09:50 ltmain.sh -> /usr/share/libtool/ltmain.sh drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $
ええと、このタイミングで aclocal.m4 と autom4te.cache が更新されている模様。ちなみに libtoolize の瞬間に debian ディレクトリが touch されているらしい。
# debian の中身に変更は無い、というのが根拠なんですが ...
autoheader
次は autoheader との事。
$ autoheader $ ls -l total 1996 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 238659 Nov 4 09:55 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Nov 4 10:05 autom4te.cache drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat lrwxrwxrwx 1 root root 31 Nov 4 09:50 config.guess -> /usr/share/libtool/config.guess -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in lrwxrwxrwx 1 root root 29 Nov 4 09:50 config.sub -> /usr/share/libtool/config.sub -rwxr-xr-x 1 root root 839796 Aug 7 07:10 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 09:50 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound lrwxrwxrwx 1 root root 28 Nov 4 09:50 ltmain.sh -> /usr/share/libtool/ltmain.sh drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $
うーん。この時点で更新されたのは autom4te.cache のみ。このあたりは参照している図面と異なる状態遷移なのかなぁ。ってか、中間ファイルを云々、に見えます。
autoconf
$ autoconf $ ls -l total 2008 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 238659 Nov 4 09:55 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Nov 4 10:05 autom4te.cache drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat lrwxrwxrwx 1 root root 31 Nov 4 09:50 config.guess -> /usr/share/libtool/config.guess -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in lrwxrwxrwx 1 root root 29 Nov 4 09:50 config.sub -> /usr/share/libtool/config.sub -rwxr-xr-x 1 root root 852941 Nov 4 10:11 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 09:50 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound lrwxrwxrwx 1 root root 28 Nov 4 09:50 ltmain.sh -> /usr/share/libtool/ltmain.sh drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $
ここで configure が出力されております。
autom4te とか
微妙。m4 とか全然ワケワカだけに。
で、ここでいきなり clean
してみる。
$ fakeroot debian/rules clean (ry $ ls -l total 2004 -rw-r--r-- 1 root root 1489 Jan 3 2007 LICENSE -rw-r--r-- 1 root root 12191 Nov 1 11:01 Makefile.in -rw-r--r-- 1 root root 484 Feb 22 2008 README -rw-r--r-- 1 root root 238659 Nov 4 09:55 aclocal.m4 -rw-r--r-- 1 root root 10998 Feb 19 2007 acx_pthread.m4 drwxr-xr-x 2 root root 4096 Aug 7 07:10 compat -rw-r--r-- 1 root root 15183 Jul 17 09:00 config.h.in -rwxr-xr-x 1 root root 852941 Nov 4 10:11 configure -rw-r--r-- 1 root root 30312 Jul 17 09:00 configure.ac drwxr-xr-x 2 root root 4096 Aug 7 07:10 contrib drwxr-xr-x 2 root root 4096 Aug 7 07:10 daemon drwxr-xr-x 2 root root 4096 Nov 4 10:26 debian drwxr-xr-x 2 root root 4096 Nov 1 11:01 doc -rwxr-xr-x 1 root root 5598 Jan 3 2007 install-sh drwxr-xr-x 2 root root 4096 Aug 7 07:10 iterator -rw-r--r-- 1 root root 790211 Jul 15 15:05 ldns-src.tar.gz drwxr-xr-x 2 root root 4096 Aug 7 07:10 libunbound drwxr-xr-x 3 root root 4096 Aug 7 07:10 services drwxr-xr-x 2 root root 4096 Nov 1 11:01 smallapp drwxr-xr-x 2 root root 4096 Aug 7 07:10 testcode drwxr-xr-x 2 root root 12288 Aug 7 07:10 testdata drwxr-xr-x 4 root root 4096 Aug 7 07:10 util drwxr-xr-x 2 root root 4096 Aug 7 07:10 validator $
- debian が touch されてる
- autom4te.cache は削除
- configure はそのまま
- aclocal.m4 もそのまま
結局何をしようとしたのかワケワカになりつつあるんですが、微妙な中間ファイルで一層迷路に入りつつあるのでしょうか。