まず、db を作成します。db-2.4.14/build.unix/ の下で、../dist/configure を実行した後、make を実行すればカレントディレクトリに libdb.a が出来上がり ます。システムにインストールしても構いませんが、sendmail のライブラリの指定 をすればそのままでも構いません。
次に、sendmail.8.9.1 を解凍し、sendmail-8.9.1/src の下に移り、 WIDE patch を当てます。 sendmail.8.8.x とは違い、sendmail の作成は全て Build スクリプトを通じて 行います。 但し、幾つかの設定が標準と違うので注意が必要です。8.9.x からは、 sendmail-8.9.1/BuildTools/Site/ に標準との相違を記述したファイルを用意します。 ここでは、sendmail-8.9.1 と同じディレクトリに db や bind のソースが あると仮定し、mx 用と nomx 用に2つのファイルを BuildTools/Site/ 以下に作成します。
[site.SunOS.5.5.mx.m4 ファイルの中] define(`confMAPDEF', `-DNEWDB -DNDBM -DNIS') APPENDDEF(`confLIBS', `-ldb') APPENDDEF(`confINCDIRS', `-I../../../db-2.4.14/build.unix') APPENDDEF(`confINCDIRS', `-I../../../named/') APPENDDEF(`confLIBDIRS', `-L../../../db-2.4.14/build.unix') APPENDDEF(`confLIBDIRS', `-L../../../named/')
[site.SunOS.5.5.nomx.m4 ファイルの中] define(`confMAPDEF', `-DNEWDB -DNDBM -DNIS -DNAMED_BIND=0') APPENDDEF(`confLIBS', `-ldb') APPENDDEF(`confINCDIRS', `-I../../../db-2.4.14/build.unix') APPENDDEF(`confINCDIRS', `-I../../../named/') APPENDDEF(`confLIBDIRS', `-L../../../db-2.4.14/build.unix') APPENDDEF(`confLIBDIRS', `-L../../../named/')
ここで、ファイル名の mx と nomx は環境変数 SENDMAIL_SUFFIX
に指定(mx 又は nomx)
した方が使われるという意味です。m4 ファイルの意味は、BuildTools/README を
読んで下さい。基本としては、APPENDDEF では指定したものが追加されるのに対して、
define では上書きされるという事です。
以上の準備が終わったら、環境変数 SENDMAIL_SUFFIX
に mx, nomx の
いずれかを指定して、src ディレクトリで Build を実行するだけです。
(但し、gcc は 2.7 以上のものがなければなりません。)
ほどなくすると、src/obj.SunOS.5.5.sun4.mx (obj.[architecture name].mx)
にバイナリが出来ます。
インストールは obj.SunOS.5.5.sun5.mx ディレクトリで make install を動かせば 出来ますが、これを何度も動かすと以前の sendmail が失われるので、 今回は手で行います。 インストールについては、後でもう一度解説をします。
最後に、CF を解凍して、sendmail.cf の作成に入ります。
define(`confMAPDEF', `-DNDBM -DNIS -DNAMED_BIND=0') APPENDDEF(`confINCDIRS', `-I../../../named/') APPENDDEF(`confLIBDIRS', `-L../../../named/')
として、Build すれば良いでしょう。