.\" .\" 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. .\" .\" %FreeBSD: src/share/man/man7/ports.7,v 1.9.2.7 1999/08/29 16:47:00 peter 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 インストールされたシステムよりも新しい ports を、 FreeBSD リポジトリからダウンロードして使用できます。 ただし、最初に適切な「アップグレードキット」を http://www.FreeBSD.org/ports/ から取得してインストールすることが重要です! 新しい ports をダウンロードするときには、 .Xr portcheckout 1 スクリプト (もちろんこれも port です!) が役立つでしょう。 .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 depends , 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 pretty-print-run-depends-list pretty-print-build-depends-list コンパイル依存 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 ファイルを生成します。 これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 .Pa /usr/ports から使用可能です。 .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 WRKDIRPREFIX 一時ファイルを作成する場所です。 .Ev PORTSDIR が読み込み専用の場合 (おそらく cdrom をマウントした場合) 有用です。 .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 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/ports/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 次に示すものは ports コレクションの一部です: .Pp .Xr pib 1 , .Xr portcheckout 1 , .Xr portlint 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 で登場しました。 その後、 .Nx と .Ox にも広まりました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/ports/Mk/bsd.port.mk , ハンドブックの .Dq port コレクション のセクションと、 .Dq 既存のソフトウェアを port にする のセクション、 .Xr ports 7 の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26