1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
|
.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2, or (at your option)
.\" any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
.\" USA.
.\"
.\" Japanese Version Copyright (C) 2003 System Design and Research
.\" Institute Co.,Ltd. All rights reserved.
.\"
.\" Translated 14 March 2003 by
.\" System Design and Research Institute Co.,Ltd. <info@sdri.co.jp>
.\"
.TH "RPMBUILD" "8" "09 June 2002" "Red Hat, Inc."
.SH 名前
rpmbuils \- RPM パッケージのビルド
.SH 書式
.SS パッケージのビルド:
\fBrpmbuild\fR {\fB-ba|-bb|-bp|-bc|-bi|-bl|-bs\fR} [\fBrpmbuild-options\fR] \fB\fISPECFILE\fB\fR\fI ...\fR
\fBrpmbuild\fR {\fB-ta|-tb|-tp|-tc|-ti|-tl|-ts\fR} [\fBrpmbuild-options\fR] \fB\fITARBALL\fB\fR\fI ...\fR
\fBrpmbuild\fR {\fB--rebuild|--recompile\fR} \fB\fISOURCEPKG\fB\fR\fI ...\fR
.SS その他:
\fBrpmbuild\fR \fB--showrc\fR
.SS rpmbuild のオプション
[\fB--buildroot \fIDIRECTORY\fB\fR] [\fB--clean\fR] [\fB--nobuild\fR]
[\fB--rmsource\fR] [\fB--rmspec\fR] [\fB--short-circuit\fR] [\fB--sign\fR]
[\fB--target \fIPLATFORM\fB\fR]
.SH 説明
.B rpmbuild
は、バイナリパッケージとソースパッケージの両方のビルド(作成)に利用される。
.B パッケージ
はファイルのアーカイブと、アーカイブされたファイルの
インストール・アンインストールに使われるメタデータから構成される。
メタデータは補助スクリプト、ファイル属性、
パッケージの説明に関する情報からなる。
.B パッケージ
には 2 種類あり、
インストールするためのソフトウェアをカプセル化するのに使われるバイナリ
パッケージと、バイナリパッケージを作成するのに必要なレシピとソースコード
からなるソースパッケージとがある。
.PP
次の基本モードからいずれか一つを選択しなければならない:
.BR パッケージのビルド 、 "tar アーカイブからのパッケージのビルド" 、
.BR パッケージの再コンパイル 、 設定の表示 。
.SS 一般的なオプション
以下のオプションはすべてのモードで使用可能である。
.TP
.BR \-? ", " \-\-help
使い方を通常よりも詳しく表示する。
.TP
\fB\-\-version\fR
使用中の
.B rpm
のバージョン番号を 1 行で表示する。
.TP
\fB\-\-quiet\fR
表示をできるだけ少なくする。
通常は、エラーメッセージだけが表示される。
.TP
\fB\-v\fR
より多くの情報を表示する。
通常は、ルーチンの進捗メッセージが表示される。
.TP
\fB\-vv\fR
沢山の汚いデバッグ情報を表示する。
.TP
.BI \-\-rcfile " FILELIST"
.B rpm
は、コロン(`:')で区切られた
.I FILELIST
の各ファイルを設定情報として読み込む。
読み込みは
.I FILELIST
に指定された順番で行われる。
.I FILELIST
のデフォルトは
.IR /usr/lib/rpm/rpmrc : /usr/lib/rpm/redhat/rpmrc : ~/.rpmrc
である。
.TP
.BI \-\-pipe " CMD"
.B rpm
コマンドの出力を
.I CMD
へパイプする。
.TP
.BI \-\-dbpath " DIRECTORY"
データベースのパスとして、デフォルトの
.I /var/lib/rpm
ではなく
.I DIRECTORY
を使う。
.TP
.BI \-\-root " DIRECTORY"
.\" motoki: after 以下が will be used for 〜 にかかるのかが不明。
.\" motoki: will be run にだけかかるのだと思いますが・・・
すべての操作において、
.I DIRECTORY
をルートとしたファイルシステムを使う。
つまり、
.I DIRECTORY
内にあるデータベースが依存性のチェックに使用され、
.I DIRECTORY
に chroot(2) した後で、すべてのスクリプト
(例えば、パッケージインストール時の
.B %post
や、パッケージビルド時の
.B %prep
など) が実行される。
.SS ビルドオプション
rpm のビルド・コマンドの一般的な形式は以下の通りである:
.RS 0.2i
.PP
.B rpmbuild
.BI \-b STAGE |\-t STAGE
.RB "[ " rpmbuild\-options " ]"
.I "FILE ..."
.RE
.PP
パッケージのビルドに spec ファイルを使用するのであれば
.B \-b
を、
.B rpmbuild
が spec ファイルを使うために (圧縮されていることもある) tar ファイルの
内部から使用する spec ファイルを探すのであれば
.B \-t
を、それぞれ引数に指定する。
最初の引数の後ろにある、次の文字
.RI ( STAGE )
はビルドとパッケージ化の段階を指定するのに使われ、
以下のいずれかが指定される
(訳注: 以下のものは spec ファイル、すなわち \-b が指定された場合であり、
tar ファイルからビルドする場合は \-ta, \-tb, ... となる)。
.TP
\fB\-ba\fR
(%prep, %build, %install を実行した後に)
バイナリパッケージとソースパッケージをビルドする。
.TP
\fB\-bb\fR
(%prep, %build, %install を実行した後に)
バイナリパッケージをビルドする。
.TP
\fB\-bp\fR
spec ファイルから "%prep" 段階を実行する。
通常、ソースを展開しパッチを適用することを意味する。
.TP
\fB\-bc\fR
(%prep を実行した後に)
spec ファイルから "%build" 段階を実行する。
一般的には "make" と等価である。
.TP
\fB\-bi\fR
(%prep, %build を実行した後に)
spec ファイルから "%install" 段階を実行する。
一般的には "make install" と等価である。
.TP
\fB\-bl\fR
"list check" を実行する。
spec ファイルの "%files" セクションのマクロが展開され、
各ファイルが存在するかの検証をするためのチェックが行われる。
.TP
\fB\-bs\fR
ソースパッケージだけをビルドする。
.PP
さらに、以下のオプションが利用可能である:
.TP
.BI \-\-buildroot " DIRECTORY"
パッケージビルド時に BuildRoot タグを
.I DIRECTORY
ディレクトリに上書きする。
.TP
\fB\-\-clean\fR
パッケージが作成された後にビルドツリーを削除する。
.TP
\fB\-\-nobuild\fR
何のビルドも実行しない。spec ファイルの検査を行う場合に便利である。
.TP
\fB\-\-rmsource\fR
ビルド後にソースを削除する
(単独で使用してもよい。例: "\fBrpmbuild \-\-rmsource foo.spec\fR")。
.TP
\fB\-\-rmspec\fR
ビルド後に spec ファイルを削除する。
(単独で使用してもよい。例: "\fBrpmbuild \-\-rmspec foo.spec\fR")。
.TP
\fB\-\-short\-circuit\fR
指定された段階へ直接すすむ(すなわち、指定された段階までの全ての段階が
飛ばされる)。
.B \-bc
と
.B \-bi
(訳注:
.B \-tc
と
.BR \-ti も)
でのみ使用できる。
.TP
\fB\-\-sign\fR
パッケージに GPG 署名を埋め込む。
この署名は、パッケージの出所と完全性を検証するのに用いることができる。
設定の詳細については
.BR rpm (8)
の「GPG 署名」の節を参照のこと。
.TP
.BI \-\-target " PLATFORM"
パッケージビルド時に
.I PLATFORM
を
.B arch-vendor-os
と解釈し、それに応じてマクロ
.BR %_target ,
.BR %_target_arch ,
.B %_target_os
を設定する。
.SS ビルドと再コンパイルのオプション
rpm を使ってビルドするには、他にも 2 つのやり方がある。
.RS 0.2i
.PP
.BI "rpmbuild \-\-rebuild|\-\-recompile" " SOURCEPKG ..."
.RE
.PP
この方法で起動された場合、
.B rpmbuild
は指定されたソースパッケージをインストールし、
準備、コンパイル、インストールを行う。
さらに、
.B \-\-rebuild
の場合、新たなバイナリパッケージをビルドする。ビルドか完了したら
ビルドディレクトリは
.RB ( \-\-clean
を指定した場合と同様に)削除され、
パッケージのソースと spec ファイルも削除される。
.SS "SHOWRC"
コマンド
.RS .02i
.PP
.B "rpmbuild \-\-showrc"
.RE
.PP
は
.B rpmbuild
が使う設定ファイル、
.I rpmrc
と
.I macros
で現在セットされているオプションすべての値を表示する。
.SH ファイル
.SS "rpmrc の設定"
.nf
\fI/usr/lib/rpm/rpmrc\fR
\fI/usr/lib/rpm/redhat/rpmrc\fR
\fI/etc/rpmrc\fR
\fI~/.rpmrc\fR
.fi
.SS マクロの設定
.nf
\fI/usr/lib/rpm/macros\fR
\fI/usr/lib/rpm/redhat/macros\fR
\fI/etc/rpm/macros\fR
\fI~/.rpmmacros\fR
.fi
.SS データベース
.nf
\fI/var/lib/rpm/Basenames\fR
\fI/var/lib/rpm/Conflictname\fR
\fI/var/lib/rpm/Dirnames\fR
\fI/var/lib/rpm/Filemd5s\fR
\fI/var/lib/rpm/Group\fR
\fI/var/lib/rpm/Installtid\fR
\fI/var/lib/rpm/Name\fR
\fI/var/lib/rpm/Packages\fR
\fI/var/lib/rpm/Providename\fR
\fI/var/lib/rpm/Provideversion\fR
\fI/var/lib/rpm/Pubkeys\fR
\fI/var/lib/rpm/Removed\fR
\fI/var/lib/rpm/Requirename\fR
\fI/var/lib/rpm/Requireversion\fR
\fI/var/lib/rpm/Sha1header\fR
\fI/var/lib/rpm/Sigmd5\fR
\fI/var/lib/rpm/Triggername\fR
.fi
.SS 一時ファイル
\fI/var/tmp/rpm*\fR
.SH 関連項目
.BR popt (3),
.BR rpm2cpio (8),
.BR gendiff (1),
.BR rpm (8),
.nf
.UR http://www.rpm.org/
.B http://www.rpm.org/
.UE
.fi
.SH 著者
.nf
Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
.fi
|