Chapter 10. パッケージ作成後に確認すること

  1. SPEC ファイルのエンコーディング等を確認する。

    $ rpm -qpi hoge.rpm

    で文字化けしないかどうか、また、バージョンなど、記述した内容にミスが無いか確認する。

    $ LANG=C rpm -qpi hoge.rpm

    として英語での出力でも確認する。

  2. Changelog の記述を確認する。

    $ rpm -qp --changelog hoge.rpm | head

    などで、追記した部分を確認する。

  3. 依存関係(Requires)を確認する。

    $ rpm -qpR hoge.rpm

    パッケージがシェルスクリプトのファイルなどを含んでいる場合、その中で利用されるコマンド(もしくはパッケージ)が Requires: で指定されているかを確かめる必要もあります。これは、実際にシェルスクリプトを実行するなどして確かめる必要があります。

  4. 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 で、依存関係のチェック等が行えて便利です。