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
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
.\"
.\" Copyright (c) 1997 David E. O'Brien
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %Id: ports.7,v 1.8 1998/06/29 06:54:34 hoek Exp %
.\"
.\" jpman %Id: ports.7,v 1.3 1999/01/24 06:53:11 horikawa Stab %
.Dd January 25, 1998
.Dt PORTS 7
.Os FreeBSD 2.2
.Sh 名称
.Nm ports
.Nd 寄贈されたアプリケーション
.Sh 解説
.Nm FreeBSD ports コレクション
によって、ユーザや管理者は簡単にアプリケーションをインストールする
ことができます。
.Em port
はそれぞれ、オリジナルのソースコードを BSD 上でコンパイルして実行
させるために必要なパッチのすべてを含んでいます。アプリケーションの
コンパイルは、
port
のディレクトリで
.Ic make build
と入力するだけで簡単にできます。
port
の
.Ql Pa Makefile
は、ローカルディスクからもしくは ftp を使って、自動的にアプリケーションの
ソースコードを取得
.Pq fetch
して、自分のシステムでそれを展開して、
パッチを当て、コンパイルします。すべてが順調に進んだ場合、
.Ic make install
を実行することにより、アプリケーションがインストールされます。
.Pp
port の利用に関してさらに情報が必要ならば、
.Nm ports コレクション (The Ports Collection)
(原文: file:/usr/share/doc/handbook/ports.html または、
http://www.freebsd.org/handbook/ports.html。
和文: file:/usr/share/doc/ja/handbook/ports.html または、
http://www.freebsd.org/ja/handbook/ports.html)
) に目を通して下さい。
port を新規に作成するための情報については、
.Nm 自分で port を作る (Porting applications)
(原文: file:/usr/share/doc/handbook/porting.html または、
http://www.freebsd.org/handbook/porting.html、
和文: file:/usr/share/doc/ja/handbook/porting.html または
http://www.freebsd.org/ja/handbook/porting.html) に目を通して下さい。
どちらも FreeBSD ハンドブックの一部です。
.Pp
.Sh ターゲット
.Pp
ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。
これにより、例えば、biology の port すべてをインストールすることが
できます。再帰的に make を行なうターゲットは、
.Ar build , checksum , clean , configure ,
.Ar extract , fetch , install ,
.Ar package
です。
.Pp
次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に
実行されます。すなわち、
.Ar build
は、
.Pq 必要があれば、
.Ar install
によって実行されます。以下のターゲットそれぞれについて、同様のルールが
.Ar fetch
まで順次適用されます。
通常は、ターゲットとして、
.Ar install
を指定するだけでよいはずです。
.Bl -tag -width configure
.It Ar fetch
MASTER_SITES と PATCH_SITES でリストされたサイトから、
この port を構築するために必要なファイルすべてを取得
.Pq fetch
します。
.Ev FETCH_CMD
と
.Ev MASTER_SITE_OVERRIDE
とを参照して下さい。
.It Ar checksum
取得した distfile が port で動作確認されたものと一致するかどうかを検証
します。
.Ev NO_CHECKSUM
を定義することで、このステップを飛ばすことができます。
.It Ar depends
現在の port と依存関係にある port をインストール
.Pq もしくは、必要がある場合のみコンパイル
します。ターゲット
.Ar extract
もしくは
.Ar fetch
により呼び出された場合、
.Ar fetch-depends ,
.Ar build-depends
などとしてひとつずつ実行されます。
.Ev NO_DEPENDS
を定義することで、このステップを飛ばすことができます。
.It Ar extract
distfile を作業用ディレクトリに展開します。
.It Ar patch
port に必要なパッチすべてを適用します。
.It Ar configure
port を構成 (configure) します。port によっては、この段階で質問して
くるものもあります。
.Ev INTERACTIVE
と
.Ev BATCH
を参照して下さい。
.It Ar build
port を構築します。これはターゲット
.Ar all
を呼び出すことと同じです。
.It Ar install
port をインストールし、この port をインストールしたことを
パッケージシステムに登録します。このターゲットは、実際に必要なこと
すべてを行なってくれます。
.El
.Pp
次のターゲットは、通常のインストールプロセスでは実行されません。
.Bl -tag -width fetch-list
.It Ar fetch-list
この port を構築するために取得が必要なファイルのリストを表示します。
.It Ar depends-list package-depends
コンパイル依存 port リストと実行依存 port リストを表示します。
また、これらの依存 port リストが依存する port についても表示します。
.It Ar clean
展開されたソースコードを削除します。
.Ev NOCLEANDEPENDS
を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。
.It Ar distclean
その port の distfile を削除し、
.Ar clean
を実行します。
.Ev NOCLEANDEPENDS
を定義しておかない限り、
.Sq clean
の部分は依存関係にある port に再帰的に適用されます。しかし、
.Sq distclean
の部分は決して再帰的に適用されません
.Pq この挙動はひょっとするとバグかもしれません
。
.It Ar reinstall
.Ar deinstall
を使用すべきところでうっかり
.Xr pkg_delete 1
を使ってしまった場合、このターゲットを使って port を復活させて下さい。
.It Ar deinstall
.Xr pkg_delete 1
と同様に、インストールした port をシステムから削除します。
.It Ar package
この port のバイナリパッケージを作成します。まだインストールされて
いなかった場合、その port をインストールします。
パッケージは\ .tgz ファイルであり、その port を他のマシンに
.Xr pkg_add 1
を使ってインストールする際に使用することができます。
.Ev PACKAGES
で指定されたディレクトリが存在しなければ、パッケージはカレントディレクトリに
置かれます。
.Ev PKGREPOSITORY
と
.Ev PKGFILE
とを参照して下さい。
.It Ar readmes
その port の
.Pa README.html
ファイルを生成します。
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/templates/README.port
を取得
.Pq Xr fetch 1
することが必要で、ディレクトリを
.Ev TEMPLATES
に設定しておく必要があります。
これはリリースエンジニアになる人のためのターゲットです。ほとんどの人は、
.Pa pkg/COMMENT
と
.Pa pkg/DESCR
とを読むことができるだけです。
.El
.Sh 環境変数
これら環境変数のすべてを変更することができます。
.Bl -tag -width MASTER_SITES
.It Ev PORTSDIR
port ツリーの場所を指定します。これは
FreeBSD
と
OpenBSD
では
.Pa /usr/ports
で、
.\"ZZZ: .Nx
NetBSD
では
.\" .Fx
.\" .Ox ,
.Pa /usr/pkgsrc
です。
.It Ev DISTDIR
distfile を探す場所であり、取得した distfile を置く場所です。通常は
.Ev PORTSDIR
の下の
.Pa distfiles/
です。
.It Ev PACKAGES
ターゲット
.Ar package
でのみ使用されます。
パッケージツリーのベースディレクトリです。通常は、
.Ev PORTSDIR
の下の
.Pa packages/
です。
このディレクトリが存在する場合、パッケージツリーが (部分的に) 構築されます。
このディレクトリは存在する必要はありません。存在しない場合、パッケージは
カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義
することができます。
.Bl -tag -width PKGREPOSITORY
.It Ev PKGREPOSITORY
パッケージを置くディレクトリ。
.It Ev PKGFILE
そのパッケージのフルパス。
.El
.It Ev PREFIX
一般に、成果物をどこにインストールするかを指定します
.Po
通常は
.Pa /usr/local
か、
.Pa /usr/X11R6
です
.Pc
。
.It Ev MASTER_SITES
ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。
.It Ev PATCH_SITES
ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。
.It Ev MASTER_SITE_FREEBSD
これが設定されている場合、すべてのファイルを FreeBSD のマスタサイトに
取りに行きます。
.It Ev MASTER_SITE_OVERRIDE
すべてのファイルとパッチについて、まずこのサイトに行って取得を試みます。
.It Ev NOCLEANDEPENDS
これが定義されている場合、依存関係にある port に対して
.Sq clean
を再帰的に適用しません。
.It Ev FETCH_CMD
ファイルを取得する際に使用するコマンドです。通常は
.Xr fetch 1
です。
.It Ev FORCE_PKG_REGISTER
これが設定されている場合、既にシステムに存在するパッケージ登録情報を
上書きします。
.It Ev MOTIFLIB
libXm.{a,so} の位置を指定します。
.It Ev PATCH_DEBUG
これが設定されている場合、パッチを当てる際に冗長な出力を表示します。
.It Ev INTERACTIVE
これが設定されている場合、ユーザ入力が必要な port にのみ動作します。
.It Ev BATCH
これが設定されている場合、100% 自動的にインストールできる port にのみ
動作します。
.El
.Sh 関連ファイル
.Bl -tag -width /usr/ports/xxxx -compact
.It Pa /usr/ports
デフォルトの port ディレクトリ (FreeBSD と OpenBSD)。
.It Pa /usr/pkgsrc
デフォルトの port ディレクトリ (NetBSD)。
.It Pa /usr/share/mk/bsd.port.mk
.\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。
.\"kuma: だれか教えて?!
ご本尊様であらしゃいます。
.Sh 関連項目
.Xr make 1 ,
.Xr pkg_add 1 ,
.Xr pkg_create 1 ,
.Xr pkg_delete 1 ,
.Xr pkg_info 1 .
.Pp
FreeBSD ハンドブック
.Pp
http://www.FreeBSD.ORG/ports
.Pq port すべてが検索可能なインデックス
.Sh 作者
このマニュアルページは、もともとは
.An David O'Brien
によるものです。
ports コレクションは
.An Satoshi Asami
と恐るべき port チームによって維持管理されています。
.Sh 歴史
.Nm ports コレクション
は、
.Fx 1.0
で登場しました。
.Sh バグ
port に関する文書が 4 か所に分散されてしまっています。
.Pa /usr/share/mk/bsd.port.mk ,
ハンドブックの
.Dq port コレクション
のセクションと、
.Dq 既存のソフトウェアを port にする
のセクション、
.Xr ports 7
の 4 つです。
.Pp
このマニュアルページは長過ぎです。
.\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26
|