SPEC ファイルのエンコーディング等を確認する。
$ rpm -qpi hoge.rpm
で文字化けしないかどうか、また、バージョンなど、記述した内容にミスが無いか確認する。
$ LANG=C rpm -qpi hoge.rpm
として英語での出力でも確認する。
Changelog の記述を確認する。
$ rpm -qp --changelog hoge.rpm | head
などで、追記した部分を確認する。
依存関係(Requires)を確認する。
$ rpm -qpR hoge.rpm
パッケージがシェルスクリプトのファイルなどを含んでいる場合、その中で利用されるコマンド(もしくはパッケージ)が Requires: で指定されているかを確かめる必要もあります。これは、実際にシェルスクリプトを実行するなどして確かめる必要があります。
build 時の依存関係(BuildRequires)を確認する。
できあがった src.rpm を、BuildRequires で指定していない devel などのパッケージをアンインストールした状態で rebuild してみる。
*-devel というパッケージをアンインストールするのに、筆者は(bash で)次のようなコマンド(for文)を利用しています。sed や awk で処理してる部分はもう少し上手なやり方があるかもしれません。
# for i in `rpm -qa --last |grep devel |\
sed s/devel-/"devel "/ |awk '{print $1}'` ;
do echo $i ;
rpm -q $i && rpm -e $i ;
rpm -q $i && apt-get remove $i ;
done
ローカルに apt のリポジトリを作成しておくと、apt-get install や apt-get build-dep で、依存関係のチェック等が行えて便利です。