From 04588608ccbcd40797d65c0fd01a25fb92fec9da Mon Sep 17 00:00:00 2001 From: Ryusuke SUZUKI Date: Wed, 22 Sep 2010 13:12:59 +0000 Subject: [PATCH] Rewrap line. Submitted by: Hiroo Ono Reference : [doc-jp-work 1602] --- ja_JP.eucJP/books/porters-handbook/book.sgml | 662 +++++++++---------- 1 file changed, 318 insertions(+), 344 deletions(-) diff --git a/ja_JP.eucJP/books/porters-handbook/book.sgml b/ja_JP.eucJP/books/porters-handbook/book.sgml index e642175683..f6b8e25032 100644 --- a/ja_JP.eucJP/books/porters-handbook/book.sgml +++ b/ja_JP.eucJP/books/porters-handbook/book.sgml @@ -1085,16 +1085,18 @@ PORTEPOCH= 1 <makevar>DISTNAME</makevar> - DISTNAME は製作者が決めたソフトウェアの名前です。 + DISTNAME + は製作者が決めたソフトウェアの名前です。 デフォルトでは DISTNAME${PORTNAME}-${PORTVERSION} になりますが、 必要に応じて書き換えることができます。 DISTNAME は二つの場所でしか使われません。 一つ目は配布ファイルリスト (DISTFILES) のデフォルト - ${DISTNAME}${EXTRACT_SUFX} で、 - 二つ目は配布ファイルが展開される - サブディレクトリ WRKSRC のデフォルト - work/${DISTNAME} です。 + ${DISTNAME}${EXTRACT_SUFX} + で、二つ目は配布ファイルが展開されるサブディレクトリ + WRKSRC のデフォルト + work/${DISTNAME} + です。 PKGNAMEPREFIX や @@ -1103,52 +1105,50 @@ PORTEPOCH= 1 また、元のソースアーカイブが ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} という 名前ではないのに、WRKSRC を - work/${PORTNAME}-${PORTVERSION} と - 設定している場合、おそらく DISTNAME は - そのままにしておく必要があることに注意してください — - DISTNAMEWRKSRC の - 両方を (そして おそらく EXTRACT_SUFX も) - セットするよりは、DISTFILES を - 定義する方が楽でしょう。 + work/${PORTNAME}-${PORTVERSION} + と設定している場合、おそらく DISTNAME + はそのままにしておく必要があることに注意してください — + DISTNAMEWRKSRC + の両方を (そして おそらく EXTRACT_SUFX も) + セットするよりは、DISTFILES + を定義する方が楽でしょう。 <makevar>MASTER_SITES</makevar> - 元になる配布ファイルを指し示す、FTP/HTTP の URL のファイル名を - 除いた部分を MASTER_SITES に設定します。 - 最後にスラッシュ (/) をつけることを - お忘れなく! + 元になる配布ファイルを指し示す、FTP/HTTP の URL のファイル名を除いた部分を + MASTER_SITES に設定します。 + 最後にスラッシュ (/) + をつけることをお忘れなく! このシステム上に配布ファイルが見つからなかった場合、 - make マクロは FETCH を使って - この変数に指定されたサイトから配布ファイルを取得しようとします。 + make マクロは FETCH + を使ってこの変数に指定されたサイトから配布ファイルを取得しようとします。 - このリストには、できれば異なる大陸に存在する - 複数のサイトを入れておくことが推奨されています。 - これにより、広域ネットワークのトラブルに対する - 耐性を高めることができます。 + このリストには、 + できれば異なる大陸に存在する複数のサイトを入れておくことが推奨されています。 + これにより、広域ネットワークのトラブルに対する耐性を高めることができます。 さらに私たちは、自動的に最も近いマスタサイトを判断して、 そこから取ってくるメカニズムの導入を計画しています。 - 元になる tar ファイルが X-contrib や GNU, Perl CPAN 等の - 有名なアーカイブサイトに置かれている場合には、 - MASTER_SITE_* を使って - これらのサイトを簡潔に + 元になる tar ファイルが X-contrib や GNU, Perl CPAN + 等の有名なアーカイブサイトに置かれている場合には、 + MASTER_SITE_* + を使ってこれらのサイトを簡潔に (例えば MASTER_SITE_XCONTRIB とか、 - MASTER_SITE_PERL_CPAN のように) - 指定することができます。 + MASTER_SITE_PERL_CPAN のように) 指定することができます。 MASTER_SITES を これらの変数の一つにセットし、 - サイト内でのパスを MASTER_SITE_SUBDIR に - 指定するだけです。 + サイト内でのパスを MASTER_SITE_SUBDIR + に指定するだけです。 以下に例を示します。 MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications - これらの変数は /usr/ports/Mk/bsd.sites.mk で - 定義されています。 + これらの変数は /usr/ports/Mk/bsd.sites.mk + で定義されています。 いつでも新しいアーカイブサイトが追加されますので、 port を提出する前に このファイルの最新版を チェックするように心掛けてください。 @@ -1229,34 +1229,40 @@ EXTRACT_ONLY= source.tar.gz <makevar>PATCHFILES</makevar> - その port が配布ファイルの他に FTP や HTTP で手に入る - 追加パッチを必要とする場合には、PATCHFILES には - そのパッチのファイル名を、PATCH_SITES には - そのファイルが置かれているディレクトリの URL をセットしてください。 - (書き方は MASTER_SITES と同じです。) + その port が配布ファイルの他に FTP や HTTP + で手に入る追加パッチを必要とする場合には、 + PATCHFILES にはそのパッチのファイル名を、 + PATCH_SITES + にはそのファイルが置かれているディレクトリの URL + をセットしてください。(書き方は + MASTER_SITES と同じです。) - そのパッチに記録されているファイル名に余計なパス名が - ついていて、ソースツリーのトップディレクトリ (つまり - WKRSRC) からの相対パスになっていない場合には、 + そのパッチに記録されているファイル名に余計なパス名がついていて、 + ソースツリーのトップディレクトリ + (つまり WKRSRC) + からの相対パスになっていない場合には、 それに応じた PATCH_DIST_STRIP を指定してください。 - たとえば、パッチ内のすべてのファイル名の先頭に、 - 余計な foozolix-1.0/ がついている場合には、 - PATCH_DIST_STRIP=-p1 としてください。 + たとえば、パッチ内のすべてのファイル名の先頭に、余計な + foozolix-1.0/ がついている場合には、 + PATCH_DIST_STRIP=-p1 + としてください。 これらのパッチは圧縮されていても大丈夫です。 - ファイル名が .gz.Z で - 終わる場合には、自動的に展開されるようになっています。 + ファイル名が .gz.Z + で終わる場合には、自動的に展開されるようになっています。 もしパッチが、ドキュメント等その他のファイルと一緒に - gzip された tar ファイルで配布されている場合には、 - 単に PATCHFILES を使うだけではうまくいきません。 + gzip された tar ファイルで配布されている場合には、単に + PATCHFILES を使うだけではうまくいきません。 このような場合には、このパッチの tar ファイルの名前と場所を - DISTFILESMASTER_SITES に - 追加しておきます。 - それから、EXTRA_PATCHES 変数に - それらのパッチを指定すれば、bsd.port.mk が + DISTFILES と + MASTER_SITES に追加しておきます。 + それから、EXTRA_PATCHES + 変数にそれらのパッチを指定すれば、 + bsd.port.mk が 自動的にパッチを適用してくれます。 - 特に注意が必要なのは、パッチファイルを PATCHDIR + 特に注意が必要なのは、パッチファイルを + PATCHDIR ディレクトリにコピーしてはならないことです — (訳注: port が CD-ROM 上に置かれている等の場合には、) そのディレクトリには書き込みができないかもしれません。 @@ -1265,12 +1271,12 @@ EXTRACT_ONLY= source.tar.gz それが普通の gzip か compress された tar ファイルであれば、 通常のソースファイルと一緒にパッチ適用時までに展開されていますので、 明示的に展開する必要はありません。 - もしパッチを DISTFILES に追加した場合には、 - パッチを含むファイルが展開される際に、そのディレクトリにある - 何かを上書きしないように注意してください。 + もしパッチを DISTFILES + に追加した場合には、パッチを含むファイルが展開される際に、 + そのディレクトリにある何かを上書きしないように注意してください。 さらに、コピーされたパッチファイルを削除するコマンドを - pre-clean ターゲットに追加することを - 忘れないでください。 + pre-clean + ターゲットに追加することを忘れないでください。 @@ -1395,12 +1401,12 @@ DISTFILES= source1.tar.gz:source1 \ LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg:install - と指定されていた場合、まずメジャーバージョンが 9 の jpeg 共有 - ライブラリがインストールされているかどうかを確認します。 + と指定されていた場合、まずメジャーバージョンが 9 の jpeg + 共有ライブラリがインストールされているかどうかを確認します。 インストールされていない場合には、ports ツリーの graphics/jpeg サブディレクトリに移動し、 - target のコンパイルとインストールを - 行ないます。 + target + のコンパイルとインストールを行ないます。 target の部分は、 それが DEPENDS_TARGET (デフォルトでは install) と @@ -1408,8 +1414,7 @@ DISTFILES= source1.tar.gz:source1 \ 先頭の lib の部分は - ldconfig -r | grep -wF への - 引数になります。 + ldconfig -r | grep -wF への引数になります。 この変数には正規表現を入れないようにしてください。 @@ -1431,17 +1436,17 @@ DISTFILES= source1.tar.gz:source1 \ <makevar>RUN_DEPENDS</makevar> この port の実行時に必要となるプログラム、 - またはファイルがあるときにはこの変数で指定します。 - これは path:dir:target という - 組のリストです。 + またはファイルがあるときにはこの変数で指定します。これは + path:dir:target + という組のリストです。 path がファイルまたはプログラムの名前、 - dir が それが見つからない場合に - インストールされる port のディレクトリ、 - target が そのディレクトリで呼ばれる - ターゲットです。 - path の最初の文字が - スラッシュ (/) の場合には - ファイルかディレクトリとみなし、存在するかどうか + dir + が それが見つからない場合にインストールされる port のディレクトリ、 + target + が そのディレクトリで呼ばれるターゲットです。 + path の最初の文字がスラッシュ + (/) の場合にはファイルかディレクトリとみなし、 + 存在するかどうか test -e を使ってチェックします。 そうでない場合には実行可能ファイルであると考えて、 そのプログラムがユーザのサーチパス上にあるかどうか @@ -1452,16 +1457,16 @@ DISTFILES= source1.tar.gz:source1 \ RUN_DEPENDS= ${LOCALBASE}/etc/innd:${PORTSDIR}/news/inn \ wish8.0:${PORTSDIR}/x11-toolkits/tk80 - まず、/usr/local/etc/innd という - ファイルかディレクトリが存在するか確認します。 + まず、/usr/local/etc/innd + というファイルかディレクトリが存在するか確認します。 存在しない場合には、ports ツリーの news/inn というサブディレクトリで ビルドとインストールを行ないます。 - さらに、wish8.0 というプログラムが - ユーザのサーチパス中にあるかどうか探します。 + さらに、wish8.0 + というプログラムがユーザのサーチパス中にあるかどうか探します。 ない場合には同じく ports ツリーの - x11-toolkits/tk80 というサブディレクトリで - コンパイルとインストールを行ないます。 + x11-toolkits/tk80 + というサブディレクトリでコンパイルとインストールを行ないます。 この例で、innd は実際にはプログラムです。 @@ -1470,11 +1475,10 @@ DISTFILES= source1.tar.gz:source1 \ 絶対パスで指定してください。 - この依存関係は install ターゲット中で - チェックされます。 - また、pkg_add によるインストールの際に、 - その package が依存するものがユーザのシステムに存在しない場合には - 自動的に追加インストールできるように、 + この依存関係は install + ターゲット中でチェックされます。 + また、pkg_add によるインストールの際に、その package + が依存するものがユーザのシステムに存在しない場合には自動的に追加インストールできるように、 依存するものの名前も package 中に記録されます。 target の部分が DEPENDS_TARGET と同じ場合には、 @@ -1487,27 +1491,26 @@ DISTFILES= source1.tar.gz:source1 \ この port のビルド時に必要となるプログラム、 またはファイルがあるときにはこの変数で指定します。 - RUN_DEPENDS と同様に、 - これは path:dir:target という - 組のリストです。 - たとえば、 + RUN_DEPENDS と同様に、これは + path:dir:target + という組のリストです。たとえば、 BUILD_DEPENDS=unzip:${PORTSDIR}/archivers/unzip - と指定されていた場合、まず unzip という名前の - プログラムがインストールされているかどうかを確認します。 + と指定されていた場合、まず unzip + という名前のプログラムがインストールされているかどうかを確認します。 インストールされていない場合には ports ツリーの archivers/unzip サブディレクトリに移動し、 ビルドとインストールを行ないます。 - ここで言うビルドとは、ファイルの展開から - コンパイルまでのすべての処理を意味します。 - この依存関係は、extract ターゲットの中で - チェックされます。 + ここで言うビルドとは、 + ファイルの展開からコンパイルまでのすべての処理を意味します。 + この依存関係は、extract + ターゲットの中でチェックされます。 target の部分は、 - DEPENDS_TARGET と同じ場合には - 省略することができます。 + DEPENDS_TARGET + と同じ場合には省略することができます。 @@ -1516,22 +1519,23 @@ DISTFILES= source1.tar.gz:source1 \ この port を取ってくるのに必要となるプログラム、 またはファイルがあるときにはこの変数で指定します。 - 上の二つと同様に、これは path:dir:target という - 組のリストです。たとえば、 + 上の二つと同様に、これは + path:dir:target + という組のリストです。たとえば、 FETCH_DEPENDS=ncftp2:${PORTSDIR}/net/ncftp2 - と指定されていれば、ncftp2 という名前の - プログラムを探します。 + と指定されていれば、ncftp2 + という名前のプログラムを探します。 見つからない場合には、ports ツリーの - net/ncftp2 サブディレクトリで - ビルドとインストールを行ないます。 + net/ncftp2 + サブディレクトリでビルドとインストールを行ないます。 - この依存関係は fetch ターゲット中で - チェックされます。 + この依存関係は fetch + ターゲット中でチェックされます。 target の部分は、 - DEPENDS_TARGET と同じ場合には - 省略することができます。 + DEPENDS_TARGET + と同じ場合には省略することができます。 @@ -1545,8 +1549,8 @@ DISTFILES= source1.tar.gz:source1 \ dir:target という形式のリストになります。 target の部分は - DEPENDS_TARGET と同じ場合には - 省略することができます。 + DEPENDS_TARGET + と同じ場合には省略することができます。 @@ -1554,8 +1558,8 @@ DISTFILES= source1.tar.gz:source1 \ その ports が X Window System を必要とするのであれば、 USE_XLIB=yes を定義してください - (これは USE_IMAKE が定義されていれば - 自動的に定義されます)。 + (これは USE_IMAKE + が定義されていれば自動的に定義されます)。 BSD make ではなく GNU make を必要とする場合には USE_GMAKE=yes を、 @@ -1566,17 +1570,17 @@ DISTFILES= source1.tar.gz:source1 \ perl 言語のバージョン 5 を必要とする場合には USE_PERL5=yes を定義してください (特に最後のものは重要です。 - FreeBSD のバージョンにより、基本システムに perl5 が - 含まれていたり、いなかったりします)。 + FreeBSD のバージョンにより、基本システムに perl5 + が含まれていたり、いなかったりします)。 依存関係に関する注意 - 上で述べたように、依存する ports が必要になったときに - 呼ばれるデフォルトのターゲットは - DEPENDS_TARGET で、 - そのデフォルトは install です。 + 上で述べたように、依存する ports + が必要になったときに呼ばれるデフォルトのターゲットは + DEPENDS_TARGET + で、そのデフォルトは install です。 これはユーザが使用する変数であり、 port の Makefile で定義するものではありません。 もし、その port が特別な方法で依存関係を扱う必要がある場合には、 @@ -1600,8 +1604,8 @@ DISTFILES= source1.tar.gz:source1 \ BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract - とすると、常に JPEG port のディレクトリに行って - ソースの展開を行ないます。 + とすると、常に JPEG port + のディレクトリに行ってソースの展開を行ないます。 あなたがやりたいことが他の方法ではできない場合以外には DEPENDS を使わないでください。 @@ -1616,18 +1620,18 @@ DISTFILES= source1.tar.gz:source1 \ オプション選択可能な依存ライブラリ - 巨大なアプリケーションの中には、複数のコンフィギュレーションで - ビルドすることができるものがあります。 + 巨大なアプリケーションの中には、 + 複数のコンフィギュレーションでビルドすることができるものがあります。 つまり、いくつもの外部ライブラリやアプリケーションの中の、 - あるものが利用可能な場合に、それを拡張機能として使用するように - 設定することができるということです。 - それらのライブラリやアプリケーションを、必ずしも すべてのユーザが - 必要としているわけではありませんので、ports システムでは - どのコンフィギュレーションがビルドされるべきかを port 作者が - 決めるために使えるフックを用意しています。 + あるものが利用可能な場合に、 + それを拡張機能として使用するように設定することができるということです。 + それらのライブラリやアプリケーションを、 + 必ずしも すべてのユーザが必要としているわけではありませんので、ports + システムではどのコンフィギュレーションがビルドされるべきかを + port 作者が決めるために使えるフックを用意しています。 これらを適切にサポートすることにより、ユーザをハッピーにしたり、 - port 1 つ分のコストで 2 つまたはそれ以上の port を提供するのと - 同様の効率化を行なうことが可能です。 + port 1 つ分のコストで 2 つまたはそれ以上の + port を提供するのと同様の効率化を行なうことが可能です。 これらのフックのうちで最も簡単に使えるものは WITHOUT_X11 でしょう。 @@ -1638,14 +1642,15 @@ DISTFILES= source1.tar.gz:source1 \ その時は X Window System サポートなしのバージョンが ビルドされるべきです。 - GNOME 環境の様々なパーツも、そのようなノブ (フック) を - 持っていますが、それらは幾分使いにくいものです。 + GNOME 環境の様々なパーツも、そのようなノブ (フック) + を持っていますが、それらは幾分使いにくいものです。 Makefile 中で その目的に使用される変数は WANT_*HAVE_* になります。 - そのアプリケーションが、以下に示されている依存ライブラリの - 一つについて、サポートあり、なしの両方でビルドできる場合、 - Makefile には WANT_PKG を - セットする必要があります。 + そのアプリケーションが、 + 以下に示されている依存ライブラリの一つについて、 + サポートあり、なしの両方でビルドできる場合、 + Makefile には WANT_PKG + をセットする必要があります。 そして、ビルド時に HAVE_PKG が定義されていれば PKG を使うバージョンがビルドされることになります。 @@ -1707,8 +1712,8 @@ PORTVERSION= 1.0 ビルドのメカニズム - そのソフトウェアがビルドの際に GNU make を - 使う場合には、USE_GMAKE=yes をセットしてください。 + そのソフトウェアがビルドの際に GNU make + を使う場合には、USE_GMAKE=yes をセットしてください。 configure を使う場合には、 HAS_CONFIGURE=yes をセットしてください。 GNU configure を使う場合には、 @@ -1736,14 +1741,13 @@ PORTVERSION= 1.0 もし、その port が imake を使用するけれども install.man ターゲットを持たない場合には、 NO_INSTALL_MANPAGES=yes をセットしてください。 - ついでに、そのソフトウェアの作者を探し出して八つ裂きにすると - いいでしょう。 + ついでに、そのソフトウェアの作者を探し出して八つ裂きにするといいでしょう。 (-_-#) そのソフトウェアの元々の Makefile が - all 以外のものをメインのターゲットと - している場合には、それを ALL_TARGET に - 指定してください。 + all + 以外のものをメインのターゲットとしている場合には、それを + ALL_TARGET に指定してください。 installINSTALL_TARGET も同様です。 @@ -1752,10 +1756,9 @@ PORTVERSION= 1.0 特別な配慮 - port を作成する場合、考慮しなくてはいけないことが - 他にもいくつかあります。 - このセクションでは、それらのうちでも - 特によくあることについて説明します。 + port を作成する場合、 + 考慮しなくてはいけないことが他にもいくつかあります。 + このセクションでは、それらのうちでも特によくあることについて説明します。 共有ライブラリ @@ -1763,9 +1766,9 @@ PORTVERSION= 1.0 その port が共有ライブラリのインストールを行なう場合、 make 変数 INSTALLS_SHLIB を定義してください。 これにより、bsd.port.mk が - post-install ターゲットの実行時に - 新しいライブラリがインストールされたディレクトリ (通常は - PREFIX/lib) に + post-install + ターゲットの実行時に新しいライブラリがインストールされたディレクトリ + (通常は PREFIX/lib) に ${LDCONFIG} -m を実行し、 共有ライブラリキャッシュへの登録が行なわれるようになります。 また、この変数が定義されている場合、共有ライブラリを @@ -1777,27 +1780,27 @@ PORTVERSION= 1.0 pkg-plist ファイルに 指定されているように扱われます。 - 必要であれば、共有ライブラリがインストールされるディレクトリの - リストを格納する make 変数 LDCONFIG_DIRS を - 定義することにより、新しいライブラリがインストールされる - デフォルトの位置を上書きすることも可能です。 + 必要であれば、 + 共有ライブラリがインストールされるディレクトリのリストを格納する + make 変数 LDCONFIG_DIRS を定義することにより、 + 新しいライブラリがインストールされるデフォルトの位置を上書きすることも可能です。 例えば、その port が共有ライブラリを PREFIX/lib/fooPREFIX/lib/bar に - インストールする場合、Makefile で - 以下の記述を使用することができます: + インストールする場合、Makefile + で以下の記述を使用することができます: INSTALLS_SHLIB= yes LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar pkg-plist の他の部分と同様に、 - LDCONFIG_DIRS の内容も &man.sed.1; による - 処理が行なわれるため、ここでも PLIST_SUB に - 指定した置換が行なわれることに注意してください。 + LDCONFIG_DIRS の内容も &man.sed.1; + による処理が行なわれるため、ここでも PLIST_SUB + に指定した置換が行なわれることに注意してください。 PREFIX には %%PREFIX%% を、 LOCALBASE には %%LOCALBASE%%, - X11BASE には %%X11BASE%% を - 使用することを推奨します。 + X11BASE には %%X11BASE%% + を使用することを推奨します。 @@ -2063,8 +2066,8 @@ MASTERDIR= ${.CURDIR}/../xdvi300 bsd.port.mk は、 MASTERDIR の定義から FILESDIRSCRIPTDIR 等の - 通常のサブディレクトリが xdvi300 以下に - 存在することを理解します。 + 通常のサブディレクトリが xdvi300 + 以下に存在することを理解します。 RESOLUTION=118 の行が、 xdvi300/MakefileRESOLUTION=300 の行を上書きし、 @@ -2075,17 +2078,16 @@ MASTERDIR= ${.CURDIR}/../xdvi300 共有ライブラリのバージョン まず - 共有ライブラリのバージョンについての指針を読んで、一般的に - 共有ライブラリのバージョンをどうすれば良いかを理解してください。 + 共有ライブラリのバージョンについての指針を読んで、 + 一般的に共有ライブラリのバージョンをどうすれば良いかを理解してください。 ソフトウェアの作者は自分がしていることを理解していると、 盲目的に信じていてはいけません。多くの場合は理解していないのです。 - 細部にわたって注意深く考慮することは大変重要です。 - なぜなら我々は、互換性がないかもしれない大量のソフトウェアを - 共存させようとする特殊な状況にあるからです。 - むかし、不注意な port の導入が共有ライブラリに関する重大な問題を - 引き起してしまったことがあります (なぜ jpeg-6b の - 共有ライブラリのバージョン番号が 9 なのか、今まで不思議に思ったことは - ありませんか?)。 + 細部にわたって注意深く考慮することは大変重要です。なぜなら我々は、 + 互換性がないかもしれない大量のソフトウェアを共存させようとする特殊な状況にあるからです。 + むかし、不注意な port + の導入が共有ライブラリに関する重大な問題を引き起してしまったことがあります + (なぜ jpeg-6b の共有ライブラリのバージョン番号が + 9 なのか、今まで不思議に思ったことはありませんか?)。 もし疑問があれば、&a.ports; にメールを送ってください。 ほとんどの時間は正しい共有ライブラリのバージョンを決めることと、 それを実現するためのパッチを作成することに終始します。 @@ -2118,9 +2120,9 @@ MASTERDIR= ${.CURDIR}/../xdvi300 マニュアルページ MAN[1-9LN] 変数に指定したマニュアルは - 自動的に pkg-plist に追加されます (つまり、 - マニュアルを pkg-plist に加えては - いけませんpkg-plist に追加されます + (つまり、マニュアルを pkg-plist + に加えてはいけませんpkg-plist の生成を参照してください)。 また、/etc/make.conf 中の NOMANCOMPRESS の設定に従って、インストール時に @@ -2128,50 +2130,51 @@ MASTERDIR= ${.CURDIR}/../xdvi300 その port が、シンボリックリンクやハードリンクを用いて、 複数のファイル名を持つマニュアルをインストールする場合には、 - それらを識別するために MLINKS 変数を - 使用しなければなりません。 - port によってインストールされたリンクは、意図したファイルを - きちんと指しているかどうか確認するため、 - bsd.port.mk によって - 削除されたり、再作成されたりします。 - MLINKS に指定されたマニュアルも、pkg-plist に - 含めてはいけません。 + それらを識別するために MLINKS + 変数を使用しなければなりません。 + port によってインストールされたリンクは、 + 意図したファイルをきちんと指しているかどうか確認するため、 + bsd.port.mk によって削除されたり、 + 再作成されたりします。 + MLINKS に指定されたマニュアルも、 + pkg-plist に含めてはいけません。 - マニュアルをインストール時に圧縮するかどうかを - 指定するには、MANCOMPRESSED 変数を使用します。 - この変数は yes, no そして - maybe の三つの値をとることができます、 - yes はマニュアルが既に圧縮されてインストール - されていること、no は圧縮されていないこと、 + マニュアルをインストール時に圧縮するかどうかを指定するには、 + MANCOMPRESSED 変数を使用します。 + この変数は yes, no + そして maybe の三つの値をとることができます、 + yes + はマニュアルが既に圧縮されてインストールされていること、 + no は圧縮されていないこと、 maybe は既にそのソフトウェアが NOMANCOMPRESS の値に従っていて、 - bsd.port.mk は - 特別なにもする必要がないことを意味します。 + bsd.port.mk + は特別なにもする必要がないことを意味します。 USE_IMAKE がセットされていて、 NO_INSTALL_MANPAGES がセットされていなければ、 - MANCOMPRESSED は自動的に yes に - 設定されます。 - それ以外の場合には、MANCOMPRESSED は - no に設定されます。 + MANCOMPRESSED は自動的に yes + に設定されます。それ以外の場合には、MANCOMPRESSED + は no に設定されます。 その port にとって、デフォルトの設定が適切でない場合以外には、 明示的に設定する必要はありません。 - PREFIX 以外のディレクトリの下に - マニュアルを置くような port では、そのディレクトリを - MANPREFIX で指定することができます。 + PREFIX + 以外のディレクトリの下にマニュアルを置くような port + では、そのディレクトリを MANPREFIX + で指定することができます。 さらに、いくつかの Perl モジュールの ports のように、 - 特定のセクションのマニュアルだけを非標準の場所に - インストールする場合、個々のマニュアルのパスを + 特定のセクションのマニュアルだけを非標準の場所にインストールする場合、 + 個々のマニュアルのパスを MANsectPREFIX (ここで sect1-9, - L, または N のいずれか) により - 指定することができます。 + L, または N のいずれか) + により指定することができます。 マニュアルが言語特有のサブディレクトリに置かれる場合には、 その言語名を MANLANG に設定してください。 - この変数のデフォルト値は "" に - なっています (つまり、英語のみ)。 + この変数のデフォルト値は "" + になっています (つまり、英語のみ)。 これは、全部をまとめた例です。 @@ -2183,8 +2186,8 @@ MANLANG= "" ja MAN3PREFIX= ${PREFIX}/share/foobar MANCOMPRESSED= yes - これは、この port により以下の 6 個のファイルが - インストールされることを表しています。 + これは、この port により以下の + 6 個のファイルがインストールされることを表しています。 ${PREFIX}/man/man1/foo.1.gz ${PREFIX}/man/ja/man1/foo.1.gz @@ -2194,43 +2197,41 @@ ${PREFIX}/man/man4/baz.4.gz ${PREFIX}/man/ja/man4/baz.4.gz さらに - ${PREFIX}/man/man8/alt-name.8.gz が - この port によってインストールされるかどうかわかりませんが、 - それとは無関係に foo(1) と alt-name(8) のマニュアルページを指す - シンボリックリンクが作成されます。 + ${PREFIX}/man/man8/alt-name.8.gz + がこの port によってインストールされるかどうかわかりませんが、 + それとは無関係に foo(1) と alt-name(8) + のマニュアルページを指すシンボリックリンクが作成されます。 Motif を必要とする port - コンパイルに Motif ライブラリを必要とするアプリケーションが - いくつかあります (Motif 自体は有料のものがいくつかの会社から - 手に入りますし、x11-toolkits/lesstif には - 多くのアプリケーションを動作させることが可能な - 無料の互換ライブラリもあります)。 - Motif は広く使われているツールキットですし、有料のもののライセンスでも - ライブラリを静的にリンクした実行形式の再配布が認められている場合が - 多いので、Motif を必要とするソフトウェアを簡単に + コンパイルに Motif ライブラリを必要とするアプリケーションがいくつかあります + (Motif 自体は有料のものがいくつかの会社から手に入りますし、 + x11-toolkits/lesstif + には多くのアプリケーションを動作させることが可能な無料の互換ライブラリもあります)。 + Motif は広く使われているツールキットですし、 + 有料のもののライセンスでもライブラリを静的にリンクした実行形式の再配布が認められている場合が多いので、 + Motif を必要とするソフトウェアを簡単に (port からコンパイルする人々のために) 動的にでも、 - (package を配布する人々のために) 静的にでも - リンクできるような仕組みが用意されています。 + (package を配布する人々のために) 静的にでもリンクできるような仕組みが用意されています。 <makevar>USE_MOTIF</makevar> - Motif が無いとコンパイルできない port の - Makefile では、この変数を指定してください。 - これにより、Motif を持っていない人が - この port をコンパイルしようとするのを未然に防ぎます。 + Motif が無いとコンパイルできない port + の Makefile では、この変数を指定してください。 + これにより、Motif を持っていない人がこの + port をコンパイルしようとするのを未然に防ぎます。 <makevar>MOTIFLIB</makevar> この変数は bsd.port.mk によって - Motif ライブラリの指定に置き換えられます。 - ソース内の Makefile や Imakefile で Motif ライブラリを指定している - ところを、この変数に置き換えるようにパッチを適用してください。 + Motif ライブラリの指定に置き換えられます。ソース内の Makefile や + Imakefile で Motif ライブラリを指定しているところを、 + この変数に置き換えるようにパッチを適用してください。 代表的な例としては以下の二つがあげられます: @@ -2251,8 +2252,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz - なお - MOTIFLIB は通常、 + なお MOTIFLIB は通常、 -L/usr/X11R6/lib -lXm/usr/X11R6/lib/libXm.a に置き換えられます。 @@ -2272,8 +2272,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz で新設されたものです。 もしそれが存在しなければ作成し、 ユーザに XFree86 を 3.3.3 かそれより新しいものに更新か、 - 少なくともこのディレクトリを - /etc/XF86Config + 少なくともこのディレクトリを /etc/XF86Config のフォントパスに加えるように促すメッセージを出力するようにしてください。 @@ -2282,8 +2281,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz Info ファイル 新しい版の texinfo - (2.2.2-RELEASE およびそれ以降に入っています) - には + (2.2.2-RELEASE およびそれ以降に入っています) には install-info というコマンドが含まれており、 dir ファイルに項目を追加したり削除したりすることができます。 @@ -2321,8 +2319,7 @@ Options: このプログラムは、実際には info ファイルをインストールしません。 - 単に - dir + 単に dir ファイルにエントリを挿入したり削除したりするだけです。 @@ -2366,8 +2363,7 @@ Options: 一つのファイルに対して一つの info - の項目しか書けないことに注意してください。 - これは + の項目しか書けないことに注意してください。これは install-info --delete のバグにより @direntry @@ -2385,9 +2381,8 @@ Options: @exec/@unexec: 以下参照) に重複して書く必要があるからです。 - しかし、もし日本語 - (あるいは、他のマルチバイト文字)の info - ファイルがある場合には + しかし、もし日本語 (あるいは、他のマルチバイト文字)の + info ファイルがある場合には install-info の特別な引数を使用する必要があるでしょう。 なぜなら makeinfo がこのような @@ -2400,17 +2395,18 @@ Options: portのディレクトリに戻って - make clean; make を実行し、 - info ファイルが texinfo ソースファイルから再び生成されることを確認してください。 + make clean; make を実行し、info ファイルが + texinfo ソースファイルから再び生成されることを確認してください。 texinfo ソースファイルのほうが info ファイルよりも新しいので make と入力すれば info ファイルは再構築されるはずですが、多くの Makefile には info ファイルの正しい依存関係が書かれていません。 - emacs の場合、info ファイルの再構築の際には + emacs の場合、 + info ファイルの再構築の際には man サブディレクトリに降りるように - メインの Makefile.in に - パッチを適用する必要がありました。 + メインの Makefile.in + にパッチを適用する必要がありました。 --- ./Makefile.in.org Mon Aug 19 21:12:19 1996 +++ ./Makefile.in Tue Apr 15 00:15:28 1997 @@ -2440,10 +2436,10 @@ Options: サブディレクトリでのデフォルトターゲットは info になっています。 このため、二つ目のパッチが必要になります。 - また、info info ファイルのインストールも削除しました。 + また、info info + ファイルのインストールも削除しました。 なぜなら、それは同じ名前ですでに - /usr/share/info - にあるからです + /usr/share/info にあるからです (そのパッチはここでは示しません)。 @@ -2478,8 +2474,7 @@ Options: (これは、既存のportを修正するときのみ必要です。) pkg-plist を見て、 info/dir - にパッチをあてようとするものすべてを削除します。 - これらは + にパッチをあてようとするものすべてを削除します。これらは pkg-install やその他のファイルにもあるかもしれないので、 いろいろさがしてみてください。 @@ -2568,11 +2563,9 @@ diff -u -r1.15 pkg-plist @unexec install-info --delete コマンドは info ファイル自身より先に置き、 コマンドがファイルを読めるようにしておかなければならないことに注意してください。 - また - @exec install-info コマンドは、 + また @exec install-info コマンドは、 info ファイルおよび dir - ファイルを作る - @exec + ファイルを作る @exec コマンドより後におかなければなりません。 @@ -2581,8 +2574,7 @@ diff -u -r1.15 pkg-plist テスト をして出来栄えに感服しましょう :) - 各段階の前後に - dir + 各段階の前後に dir ファイルをチェックしましょう。 @@ -2600,8 +2592,7 @@ diff -u -r1.15 pkg-plist もしインストールする人にメッセージを表示する必要がある場合には、 そのメッセージを pkg-message に置くことができます。 - この機能は - pkg_add + この機能は pkg_add の後の追加のインストール手続きを表示するときなどに重宝します。 @@ -2610,8 +2601,7 @@ diff -u -r1.15 pkg-plist pkg-plist に加える必要はありません。 また、もしユーザが package ではなく port を使用している場合には自動的には表示されませんので、 - 明示的に - post-install + 明示的に post-install で表示するようにするべきでしょう。 @@ -2619,8 +2609,7 @@ diff -u -r1.15 pkg-plist <filename>pkg-install</filename> - バイナリパッケージが - pkg_add + バイナリパッケージが pkg_add でインストールされるときに実行する必要のあるコマンドがあれば、 pkg-install スクリプトを使って実行することができます。 @@ -2650,13 +2639,12 @@ diff -u -r1.15 pkg-plist <filename>pkg-req</filename> - (訳注: 実行されるマシンの状態に応じて) その port を - インストールするべきか、そうでないかを判断する必要があるときには、 + (訳注: 実行されるマシンの状態に応じて) その port + をインストールするべきか、そうでないかを判断する必要があるときには、 要件 (requirements) スクリプト pkg-req を作ることができます。 インストールや削除を実行すべきかどうか判断するために、 - このスクリプトがインストールや削除を実行する際に自動的に - 実行されます。 + このスクリプトがインストールや削除を実行する際に自動的に実行されます。 このスクリプトはインストール時には pkg_add により pkg-req ${PKGNAME} INSTALL として実行され、 @@ -2669,17 +2657,17 @@ diff -u -r1.15 pkg-plist make の変数にあわせた <filename>pkg-plist</filename> の変更 - いくつかの port、特に p5-ports などは - configure のオプション - (あるいは、p5-ports の場合は perl のバージョン) - によって + いくつかの port、特に p5-ports などは configure のオプション + (あるいは、p5-ports の場合は perl のバージョン) によって pkg-plist を変える必要があります。 これを容易に実現するために pkg-plist 中の %%OSREL%%, %%PERL_VER%%, - %%PERL_VERSION%% は適切に置き換えられるようになっています。 - %%OSREL%% の値はオペレーティングシステムの数字で表されたリビジョンです + %%PERL_VERSION%% + は適切に置き換えられるようになっています。 + %%OSREL%% + の値はオペレーティングシステムの数字で表されたリビジョンです (たとえば 2.2.7)。 %%PERL_VERSION%% は perl のバージョン番号全体 @@ -2693,8 +2681,7 @@ diff -u -r1.15 pkg-plist VAR=VALUE という形式のペアのリストを設定することによって、 pkg-plist 中の - %%VAR%% - は + %%VAR%%VALUE に置き換えられます。 たとえばバージョンに固有のたくさんのファイルをインストールする場合には、 Makefile @@ -2717,7 +2704,8 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} post-install ターゲットの間に pkg-plist を読み TMPPLIST - (デフォルトは WRKDIR/.PLIST.mktmp) + (デフォルトは + WRKDIR/.PLIST.mktmp) に書き込むことによって行なわれます。 もし、あなたの port が PLIST を実行時に生成するのであれば、 @@ -2729,10 +2717,11 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - <filename>pkg-<replaceable>*</replaceable></filename>ファイルの名前変更 + <filename>pkg-<replaceable>*</replaceable></filename> + ファイルの名前変更 - pkg-*ファイルの - 名前はすべて変数を使用して定義されていますので、 + pkg-* + ファイルの名前はすべて変数を使用して定義されていますので、 必要であれば Makefile 中で変更可能です。 いくつかの ports で一つの @@ -3012,15 +3001,16 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} <makevar>WRKDIR</makevar> - WRKDIR の外に存在するファイルには - 何も書き込んではいけません。 + WRKDIR + の外に存在するファイルには何も書き込んではいけません。 port のビルド中に書き込み可能なことが保証されているのは - WRKDIR の中だけです (書き込み不可のツリー上での - port ビルドの例については、 + WRKDIR の中だけです + (書き込み不可のツリー上での port ビルドの例については、 CDROM からの ports のコンパイル を参照のこと)。 - pkg-* ファイルを - 変更する必要があるときには、ファイルを上書きするのではなく + pkg-* + ファイルを変更する必要があるときには、 + ファイルを上書きするのではなく 変数の再定義により 行なうようにしてください。 @@ -3029,8 +3019,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} <makevar>WRKDIRPREFIX</makevar> WRKDIRPREFIX - を尊重していることを確認してください。 - 特に、別の port の + を尊重していることを確認してください。特に、別の port の WRKDIR を参照しているときには気を付けてください。 正しい場所は、 WRKDIRPREFIXPORTSDIR/subdir/name/work @@ -3049,16 +3038,17 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} OS の種類やバージョンの識別 - どのバージョンの Unix で動かすかによって、変更や - 条件つきコンパイルが必要なコードに出くわすこともあるでしょう。 + どのバージョンの Unix で動かすかによって、 + 変更や条件つきコンパイルが必要なコードに出くわすこともあるでしょう。 そのような変更を行なう場合には、 FreeBSD 1.x システムへのバックポートや、 CSRG の 4.4BSD, BSD/386, 386BSD, NetBSD, OpenBSD 等、 他の BSD システムへの移植が可能なように、 できるだけ汎用的な変更を行なうことを心がけてください。 - 4.3BSD/Reno (1990) と、それより新しいバージョンの BSD コードを - 区別するには、<sys/param.h> で定義されている + 4.3BSD/Reno (1990) と、それより新しいバージョンの + BSD コードを区別するには、 + <sys/param.h> で定義されている BSD マクロを利用するのがよいでしょう。 このファイルがすでにインクルードされていれば良いのですが、 そうでない場合には、その .c ファイルの @@ -3132,8 +3122,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - もし - FreeBSD 1.x システムと FreeBSD 2.x、 + もし FreeBSD 1.x システムと FreeBSD 2.x、 あるいは FreeBSD 3.x システムを区別する必要があれば、 上で述べた BSD マクロを使用するのが大抵の場合において正しい答です。 @@ -3894,8 +3883,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} 2.2.5-STABLE と呼ばれることがあります。) 見てのとおりこれは年・月というフォーマットになっていましたが、 バージョン 2.2 からより直接的にメジャー/マイナー番号を使うように変更になりました。 - 並行していくつかのブランチ - (枝分かれしたバージョン) + 並行していくつかのブランチ (枝分かれしたバージョン) を開発する場合には、 リリースされた日付でそれらのリリースを分類することが不可能だからです (あなたが今 port @@ -3912,8 +3900,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} 大抵の場合は Makefile の中程のどこかで bsd.port.pre.mk をインクルードして、 - 最後に - bsd.port.pre.mk + 最後に bsd.port.pre.mk をインクルードすることによって避けることができます。 @@ -3944,39 +3931,37 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} ARCH - uname -m で返される - アーキテクチャ。(例、i386)。 + uname -m + で返されるアーキテクチャ。(例、i386)。 OPSYS - uname -s で返される - オペレーティングシステム (例、 - FreeBSD)。 + uname -s + で返されるオペレーティングシステム + (例、FreeBSD)。 OSREL - オペレーティングシステムの - リリースバージョン + オペレーティングシステムのリリースバージョン (例、2.1.5, 2.2.7)。 OSVERSION - 数字形式のオペレーティングシステム - のバージョン、 - 上記の - __FreeBSD_version + 数字形式のオペレーティングシステムのバージョン、 + 上記の __FreeBSD_version と同じです。 PORTOBJFORMAT - システムのオブジェクト - フォーマット (aout あるいは + システムのオブジェクトフォーマット + (aout あるいは elf)。 @@ -4045,8 +4030,7 @@ post-install: ファイルの他にユーザにとって有用だと思えるような文書がある場合には、 PREFIX/share/doc の下にインストールしてください。 - これは前記と同様 - post-install + これは前記と同様 post-install ターゲットの中から行なうと良いでしょう。 まず、あなたの port のために新しいディレクトリを作ります。 @@ -4078,18 +4062,15 @@ post-install: %%PORTDOCS%%share/doc/pure-ftpd/CONTACT %%PORTDOCS%%@dirrm share/doc/pure-ftpd - インストール時に - pkg-message - ファイルを利用してメッセージを表示することができます。 - 詳細は - pkg-message を使うのセクションを - 参照してください。 + インストール時に pkg-message + ファイルを利用してメッセージを表示することができます。詳細は + pkg-message を使う + のセクションを参照してください。 pkg-message - ファイルを - pkg-plist + ファイルを pkg-plist に加える必要はありません。 @@ -4175,31 +4156,26 @@ post-install: ディレクトリ構成 - インストール時には - PREFIX + インストール時には PREFIX の正しいサブディレクトリにファイルを置くように心がけてください。 ソフトウェアによっては新しいディレクトリを一つ作って、 ファイルを全部それに入れてしまうものがありますが、 それは良くありません。 また、バイナリ、ヘッダファイルとマニュアル以外のすべてを - lib - というディレクトリに入れてしまう port もありますが、 - これも BSD 的なファイルシステム構成からいうと正しくありません。 + lib というディレクトリに入れてしまう + port もありますが、これも + BSD 的なファイルシステム構成からいうと正しくありません。 これは以下のように分散すべきです。 etc にセットアップ/コンフィグレーションファイル、 - libexec - に内部で使用されるプログラム + libexec に内部で使用されるプログラム (コマンドラインから呼ばれることのないコマンド)、 - sbin - に管理者用のコマンド、 - info - に GNU Info 用の文書、 - そして - share にアーキテクチャに依存しないファイルが入ります。 + sbin に管理者用のコマンド、 + info に GNU Info 用の文書、 + そして share + にアーキテクチャに依存しないファイルが入ります。 詳細については &man.hier.7; のマニュアルページを参照してください。 - /usr - の構成方針はほとんどそのまま + /usr の構成方針はほとんどそのまま /usr/local にもあてはまります。 USENET ニュースを扱う ports は例外です。 これらはファイルのインストール先として @@ -4239,8 +4215,7 @@ lib/X11/oneko/sounds/cat.au @unexec rmdir %D/share/doc/gimp 2>/dev/null || true - - これを使えば、たとえ他の + これを使えば、たとえ他の port がファイルをインストールしていて PREFIX/share/doc/gimp が空でない場合でもエラーメッセージは表示されませんし、 @@ -4337,10 +4312,8 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin CFLAGS = -Wall -Werror - CFLAGS 変数は、 - FreeBSD システムの - /etc/make.conf - で定義されています。 + CFLAGS 変数は、FreeBSD システムの + /etc/make.conf で定義されています。 最初の例では既存の定義を保存しつつ CFLAGS 変数にオプションフラグを追加しているのに対し、 二番目の例では既存の定義をすべて無効にしてしまっています。 @@ -4359,9 +4332,9 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin によってユーザが苦労して作ったファイルが消えてしまったり、 新しくインストールする時に上書きされてしまったりします。 - かわりに見本となるファイルを - サフィックス - (filename.sample が良いでしょう) + かわりに見本となるファイルをサフィックス + (filename.sample + が良いでしょう) を付けてインストールしてメッセージを表示し、 ソフトウェアを動かす前にユーザがそのファイルをコピーして編集をしなければならないことを知らせましょう。 @@ -4386,10 +4359,11 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin <filename>README.html</filename> - - README.html というファイルを含めてはいけません。 + README.html + というファイルを含めてはいけません。 このファイルは、cvs コレクションの一部ではなく、 - make readme コマンドで生成されるファイルです。 + make readme + コマンドで生成されるファイルです。