courier-authlibをインストールするときに,SPECファイルの設定を変えなければ,RPMファイルが作成できなかった。
次の定義をFedora7では,うまく展開できなかったようである。
Release: 10%{courier_release}
手順としては,次のようになる。
(1) /usr/src/redhat/SOURCES/に,courier-authlib-0.59.3.tar.bz2 を置く。
(2) cd /usr/src/redhat/SPECS
(3) tar jxvf ../SOURCES/courier-authlib-0.59.3.tar.bz2 courier-authlib-0.59.3/courier-authlib.spec
mv courier-authlib-0.59.3/courier-authlib.spec .
rmdir courier-authlib-0.59.3
(4) vi courier-authlib.spec
Release: 10%{courier_release}
を
Release: 1%{?dist}%{?courier_release}
に書き換える
(5) rpmbuild -ba courier-authlib.spec

これで完璧と思っていたら,Fedora7をインストールすることになり,この手順で実行。
できない。
何か見落としている。
いろいろとやってみたこと。
(1) vi courier-authlib.spec
BuildRequires: %{_includedir}/ltdl.h
を以下に書き換え。
BuildRequires: /usr/share/libtool/libltdl/ltdl.h
(2) cp /usr/share/libtool/libltdl/ltdl.h /usr/include/ltdl.h
(3) ln -s /usr/lib/libltdl.so.3.1.4 /usr/lib/libltdl.so
こんなところかなぁ。
どうも原因がよくわからない。
前回,うまくいったのは,何かパッケージをインストールしていたためか?
ともかく,不思議。
先のコメントの訂正
> (1) vi courier-authlib.spec
> (2) cp /usr/share/libtool/libltdl/ltdl.h /usr/include/ltdl.h
> (3) ln -s /usr/lib/libltdl.so.3.1.4 /usr/lib/libltdl.so
は,不要。
libtool-ltdl-devel をインストールするだけだった。
・yum install libtool-ltdl-devel
で,解決した。
参考まで。作成したSPECファイル。
courier-authlib.spec
作成された
RPM/SRPM。
Release: 10%{courier_release}
の問題の本質は,以下の条件文が,真にならないところなんだよね。
%if 0%{!?dist:1}
%define courier_release (略)
%endif
"%{!?dist:1}"が1にならない。以下のif文の2行をコメントアウトすれば,良かったな。