メニューを飛ばして本文へ


Vine Linux

検索

Google

Chapter 6. 書いたspecファイルをもとにrpmパッケージをつくる

Vine Linux 3.0以降で採用されているrpm-4.xではパッケージのビルドはrpmbuildコマンドを利用するようになりました。過去との互換性のためVine Linuxでは、rpmコマンドも利用できるようになっていますが、将来的に廃止の予定であるため今後はrpmbuildコマンドをお使いください。

specファイルを書いた後は、以下のようにして、rpmパッケージをつくります。

  • rpmとsrpmつくりたいときには、(build all)

    $ rpmbuild -ba hoge.spec
  • とりあえず、rpmだけつくりたいときは(build binary)

    $ rpmbuild -bb hoge.spec
  • srpmだけつくりたいときは(build srpm)

    $ rpmbuild -bs hoge.spec
  • rpmもsrpmもつくらずに、パッケージの展開だけしてみる (%buildの前までを実行)(build prep、%prepが実行される。)

    $ rpmbuild -bp hoge.spec

    これは、パッチをつくるときに便利です。

  • rpmもsrpmもつくらずに、ちょっとmakeがうまくいくかテスト (build compile、%prep,%buildが実行される。)

    $ rpmbuild -bc hoge.spec

    --short-circuitオプションをつけると %build 以前の部分(%prep) を省略して %buildが実行されます。

    $ rpmbuild --short-circuit -bc hoge.spec
  • rpmもsrpmもつくらずに、ちょっとinstallまでうまくいくかテスト (build install、%prep,%build,%install,%checkが実行される。)

    $ rpmbuild -bi hoge.spec

    --short-circuitオプションをつけると %install 以前の部分(%prep,%build) を省略して %install,%checkが実行されます。

    $ rpmbuild --short-circuit -bi hoge.spec

以上のコマンドを実行すると、segmentation faultを起こす時には、 Section 4.1, “環境設定”で述べたLANGの指定を再確認してください。 うまくいけば、ディレクトリRPMS/i386にrpmパッケージが、 ディレクトリSRPMSにsrpmパッケージができるはずです。

他に、 tar.gz 形式のソースの中に含まれている spec ファイルを用いて build するときには、 -b のかわりに -t を用いて、

$ rpmbuild -ta hoge.tar.gz

などとします。