Changes between Initial Version and Version 1 of docs/making-rpm/rpmbuild


Ignore:
Timestamp:
2013/01/31 21:09:13 (11 years ago)
Author:
yasumichi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • docs/making-rpm/rpmbuild

    v1 v1  
     1[wiki:docs Vine Linux ドキュメント] / [wiki:../ RPM パッケージの作成方法] / SPEC ファイルをもとに RPM パッケージを作成する 
     2 
     3= SPEC ファイルをもとに RPM パッケージを作成する = 
     4 
     5RPM パッケージを作成するには、次のコマンドを実行します。 
     6 
     7{{{ 
     8#!sh 
     9$ rpmbuild -ba --sign hoge.spec 
     10}}} 
     11 
     12特に問題がなければ、バイナリパッケージとソースパッケージの両方が作成されます。 
     13 
     14どちらか一方のみを作成する場合は、オプション -ba(build all) の代わりに -bb(build binary) あるいは -bs(build source) を使用します。 
     15 
     16なお、オプション --sign は、パッケージに署名することを意味します。[wiki:../gpgsign パッケージ署名の設定]で ~/.popt の設定をした場合は、省略可能です。 
     17 
     18署名オプションが有効になっていれば、次の様なプロンプトが表示されるのでGnuPG鍵のパスフレーズを入力して下さい。 
     19 
     20{{{ 
     21パスフレーズの入力: 
     22}}} 
     23 
     24パッケージを作成せずに段階的にスクリプト部を検証する場合は、下の表のオプションを使用します。 この際、オプション --short-circuit を併用すると一つ前の段階の動作結果を利用できます。 
     25 
     26||=  オプション  =||=  実行内容  =|| 
     27||-bp||%prep セクションの実行(build prep)|| 
     28||-bc||%prep、%build セクションの実行(build compile)|| 
     29||-bi||%prep,%build,%install,%check セクションの実行(build install)|| 
     30 
     31== rpmbuildの推奨 == 
     32 
     33Vine Linux 3.0以降で採用されているrpm-4.xではパッケージのビルドはrpmbuildコマンドを利用するようになりました。過去との互換性のためVine Linuxでは、rpmコマンドも利用できるようになっていますが、将来的に廃止の予定であるため今後はrpmbuildコマンドをお使いください。 
     34 
     35== メッセージの記録 == 
     36 
     37次のように | (パイプ) と tee コマンドを利用して、ビルド中のメッセージをファイルに残しておくと、エラーの確認や、%files の確認、Requires の確認といった作業がやりやすくなります。 
     38 
     39{{{ 
     40#!sh 
     41$ rpmbuild -ba hoge.spec 2>&1 |tee hoge-build.log 
     42}}} 
     43 
     442>&1 はエラーメッセージ(2:標準エラー出力の内容)を(tee コマンドに渡すために)標準出力(1)にリダイレクトする(2 に流れるメッセージを 1と合流させる)というものです。これで、tee で指定したファイル hoge-build.log に、標準出力のメッセージと一緒にエラーメッセージも書き込まれるようになります。 
     45 
     46== tarball から RPM パッケージを作成する == 
     47 
     48他に、 tar.gz 形式のソースの中に含まれている SPEC ファイルを用いて build するときには、 -b のかわりに -t を用いて、 
     49{{{ 
     50#!sh 
     51$ rpmbuild -ta hoge.tar.gz 
     52}}} 
     53などとします。