From d4fd173b74aaa3b484f1d3c8be0c8b56d9ad9737 Mon Sep 17 00:00:00 2001 From: Ryusuke SUZUKI Date: Thu, 27 May 2010 13:47:50 +0000 Subject: [PATCH] - Change Japanese punctuation. - Fix indenting (8 spaces -> tab). Submitted by: Hiroo Ono Refereces: [doc-jp-work 1259, 2065] --- ja_JP.eucJP/books/porters-handbook/book.sgml | 6974 +++++++++--------- 1 file changed, 3487 insertions(+), 3487 deletions(-) diff --git a/ja_JP.eucJP/books/porters-handbook/book.sgml b/ja_JP.eucJP/books/porters-handbook/book.sgml index ab6b1f79d3..d3448fb7d9 100644 --- a/ja_JP.eucJP/books/porters-handbook/book.sgml +++ b/ja_JP.eucJP/books/porters-handbook/book.sgml @@ -24,22 +24,22 @@ 2000 The FreeBSD Documentation - Project + Project - このハンドブックは FreeBSD の port 作成者 (porter) 向けに, - 具体的な port の作成方法や注意点などをまとめたものです. + このハンドブックは FreeBSD の port 作成者 (porter) 向けに、 + 具体的な port の作成方法や注意点などをまとめたものです。 日本語版の作成は FreeBSD 日本語ドキュメンテーション - プロジェクト (FreeBSD doc-jp) が行なっています. - 日本語訳および, 日本語版のみに関することは FreeBSD &a.jp.doc-jp; に - おいて日本語で議論されています. + プロジェクト (FreeBSD doc-jp) が行なっています。 + 日本語訳および、日本語版のみに関することは FreeBSD &a.jp.doc-jp; に + おいて日本語で議論されています。 - 文書の日本語訳に関するお問い合わせや, - 文書の原文に関する問い合わせをしたいが英語が得意でないという方は, - FreeBSD &a.jp.doc-jp; まで日本語でコメントをお寄せください. + 文書の日本語訳に関するお問い合わせや、 + 文書の原文に関する問い合わせをしたいが英語が得意でないという方は、 + FreeBSD &a.jp.doc-jp; まで日本語でコメントをお寄せください。 &bookinfo.legalnotice; @@ -48,63 +48,63 @@ 自分で port を作成するには - 自分で port を作ることや, 既存の port の - 更新作業に興味があるのですか. それはすばらしい! + 自分で port を作ることや、既存の port の + 更新作業に興味があるのですか。それはすばらしい! ここでは FreeBSD 用の port を作る際の - ガイドラインをいくつか示します. - 既存の port を更新したいと考えている場合であっても, - まずこの章を読んでから, 次に - を読むようにしてください. + ガイドラインをいくつか示します。 + 既存の port を更新したいと考えている場合であっても、 + まずこの章を読んでから、次に + を読むようにしてください。 - この文書では充分に詳細がわからない場合には, - /usr/ports/Mk/bsd.port.mk を参照してください. - このファイルは, port の Makefile が例外なくインクルードしているものです. - これには細かくコメントが書かれていますので, Makefile を読むのに - あまり慣れていない人でも, たくさんの情報を得ることができるでしょう. - それでも解決できないような質問は, &a.ports; にポストしてみるのも - 良いでしょう. + この文書では充分に詳細がわからない場合には、 + /usr/ports/Mk/bsd.port.mk を参照してください。 + このファイルは、port の Makefile が例外なくインクルードしているものです。 + これには細かくコメントが書かれていますので、Makefile を読むのに + あまり慣れていない人でも、たくさんの情報を得ることができるでしょう。 + それでも解決できないような質問は、&a.ports; にポストしてみるのも + 良いでしょう。 - この文書では, 上書き可能な - 変数 (VAR) のうち - 一部のものについてだけ述べています. - (すべてでは無いかもしれませんが,) ほとんどの変数は - bsd.port.mk の先頭部分に記述されています. - なお, このファイルは非標準のタブ設定を使用しています. - EmacsVim は, - この設定をファイルの読み込み時に認識するはずです. - viex では, - 一旦ファイルを読み込んでから :set tabstop=4 と - タイプすることで, 正しい値に設定することができます. + この文書では、上書き可能な + 変数 (VAR) のうち + 一部のものについてだけ述べています。 + (すべてでは無いかもしれませんが、) ほとんどの変数は + bsd.port.mk の先頭部分に記述されています。 + なお、このファイルは非標準のタブ設定を使用しています。 + EmacsVim は、 + この設定をファイルの読み込み時に認識するはずです。 + viex では、 + 一旦ファイルを読み込んでから :set tabstop=4 と + タイプすることで、正しい値に設定することができます。 3 分間 porting - このセクションでは, 簡単な port の作り方について説明します. - 多くの場合, これだけでは不充分ですが, - まあ うまくいくかどうか試してみて損はないでしょう. + このセクションでは、簡単な port の作り方について説明します。 + 多くの場合、これだけでは不充分ですが、 + まあ うまくいくかどうか試してみて損はないでしょう。 - まず, 元の tar ファイルを - DISTDIR に置きます. この変数の - デフォルト値は /usr/ports/distfiles です. + まず、元の tar ファイルを + DISTDIR に置きます。この変数の + デフォルト値は /usr/ports/distfiles です。 - 以下の例では, そのソフトウェアが - そのままコンパイル可能なものと仮定しています. - つまり, FreeBSD マシンで動かすために, - 変更がまったく必要ないという意味です. - もし何か変更が必要な場合には, 次のセクションも - 参照する必要があるでしょう. + 以下の例では、そのソフトウェアが + そのままコンパイル可能なものと仮定しています。 + つまり、FreeBSD マシンで動かすために、 + 変更がまったく必要ないという意味です。 + もし何か変更が必要な場合には、次のセクションも + 参照する必要があるでしょう。 <filename>Makefile</filename> の作成 最小限の Makefile は - 次のようなものになります. + 次のようなものになります。 # New ports collection makefile for: oneko # Date created: 5 December 1994 @@ -126,66 +126,66 @@ USE_IMAKE= yes .include <bsd.port.mk> - おわかりでしょうか. $FreeBSD$ を - 含む行の内容については, 気にする必要はありません. - この行は, このファイルが FreeBSD の ports ツリーに - 取り込まれる際に, CVS によって自動的に書き込まれます. - もっと詳しい例が見たい場合には, - Makefile のサンプルの - セクションをご覧ください. + おわかりでしょうか。$FreeBSD$ を + 含む行の内容については、気にする必要はありません。 + この行は、このファイルが FreeBSD の ports ツリーに + 取り込まれる際に、CVS によって自動的に書き込まれます。 + もっと詳しい例が見たい場合には、 + Makefile のサンプルの + セクションをご覧ください。 package 記述ファイルの作成 - package にするしないに関わらず, どのような port でも - 三つの記述ファイルが必要です. それは - pkg-comment, - pkg-descr, と - pkg-plist の3つで, ファイル名が - pkg- で始まっていることで - 他のファイルと区別できるようになっています. + package にするしないに関わらず、どのような port でも + 三つの記述ファイルが必要です。それは + pkg-comment, + pkg-descr, と + pkg-plist の3つで、ファイル名が + pkg- で始まっていることで + 他のファイルと区別できるようになっています。 - <filename>pkg-comment</filename> + <filename>pkg-comment</filename> - このファイルには, その port についての説明を一行で書きます. - package の名前だとか, バージョン番号などを - 含めてはいけません. - 説明は大文字で始め, 最後にピリオドは付けないでください. - たとえば, こんな具合です. + このファイルには、その port についての説明を一行で書きます。 + package の名前だとか、バージョン番号などを + 含めてはいけません。 + 説明は大文字で始め、最後にピリオドは付けないでください。 + たとえば、こんな具合です。 - A cat chasing a mouse all over the screen + A cat chasing a mouse all over the screen - <filename>pkg-descr</filename> + <filename>pkg-descr</filename> - このファイルには, その port についての少し長い説明を書きます. - その port が何をするのかについての, - 数段落程度の簡潔な解説があれば充分です. + このファイルには、その port についての少し長い説明を書きます。 + その port が何をするのかについての、 + 数段落程度の簡潔な解説があれば充分です。 - - これはマニュアルでもなければ, 使用方法やコンパイル方法に - ついての細かい説明書でもありません. - README ファイルや - マニュアルを引用するつもりなら注意が必要です. - これらは多くの場合, その port の簡潔な説明になっていなかったり, - 扱いにくい形式になっていたりします. - (マニュアルの場合, 行を揃えるために空白が調整されていたりします.) - このソフトウェアに公式のウェブサイトがあるのなら, - ここに書いてください. その際自動化ツールが正しく動作するように, - ウェブサイトのうちの一つには, - 先頭に WWW: をつけておいてください. - + + これはマニュアルでもなければ、使用方法やコンパイル方法に + ついての細かい説明書でもありません。 + README ファイルや + マニュアルを引用するつもりなら注意が必要です。 + これらは多くの場合、その port の簡潔な説明になっていなかったり、 + 扱いにくい形式になっていたりします。 + (マニュアルの場合、行を揃えるために空白が調整されていたりします。) + このソフトウェアに公式のウェブサイトがあるのなら、 + ここに書いてください。その際自動化ツールが正しく動作するように、 + ウェブサイトのうちの一つには、 + 先頭に WWW: をつけておいてください。 + - このファイルの最後に, あなたの名前を書くことが推奨されています. - たとえば, こんな具合です. + このファイルの最後に、あなたの名前を書くことが推奨されています。 + たとえば、こんな具合です。 - This is a port of oneko, in which a cat chases a poor mouse all over + This is a port of oneko, in which a cat chases a poor mouse all over the screen. : -(うんぬん.) +(うんぬん。) WWW: http://www.oneko.org/ @@ -194,213 +194,213 @@ asami@cs.berkeley.edu - <filename>pkg-plist</filename> + <filename>pkg-plist</filename> - このファイルには, その port によってインストールされる - すべてのファイルを列挙します. - このファイルは package を作る際のリストとして使われるため, - パッキングリスト (packing list) とも呼ばれます. - ここに書くパス名は, インストール時のプレフィックス - (通常 /usr/local または - /usr/X11R6) からの相対パスです. - MANn 変数を - 使用している場合 (使用することが推奨されています), このリストに - マニュアルは入れないようにしてください. + このファイルには、その port によってインストールされる + すべてのファイルを列挙します。 + このファイルは package を作る際のリストとして使われるため、 + パッキングリスト (packing list) とも呼ばれます。 + ここに書くパス名は、インストール時のプレフィックス + (通常 /usr/local または + /usr/X11R6) からの相対パスです。 + MANn 変数を + 使用している場合 (使用することが推奨されています)、このリストに + マニュアルは入れないようにしてください。 - 簡単な例を載せておきましょう. + 簡単な例を載せておきましょう。 - bin/oneko + bin/oneko lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm lib/X11/oneko/mouse.xpm @dirrm lib/X11/oneko - パッキングリストの詳細については, - &man.pkg.create.1; のマニュアルを参照してください. + パッキングリストの詳細については、 + &man.pkg.create.1; のマニュアルを参照してください。 - - このリストには, すべてのファイルを列挙しなければ - なりませんが, ディレクトリそのものは列挙する必要がありません. - また, この port がインストール時に独自のディレクトリを - 作成する場合には, この port が削除されるときに - そのディレクトリも削除されるよう, @dirrm の行を - 追加しておくのを忘れないでください. + + このリストには、すべてのファイルを列挙しなければ + なりませんが、ディレクトリそのものは列挙する必要がありません。 + また、この port がインストール時に独自のディレクトリを + 作成する場合には、この port が削除されるときに + そのディレクトリも削除されるよう、@dirrm の行を + 追加しておくのを忘れないでください。 - このファイルでは, すべてのファイル名を - アルファベット順にソートしておくことを推奨します. - そうすることで, port を更新する際の - 変更点の確認が楽になります. + このファイルでは、すべてのファイル名を + アルファベット順にソートしておくことを推奨します。 + そうすることで、port を更新する際の + 変更点の確認が楽になります。 - パッキングリストを手作業で作成するのは, - 時にとても退屈な作業になります. - その port が非常に多数のファイルをインストールするとしたら, - パッキングリストの - 自動生成を行なえば, 時間の節約になるかもしれません. - + パッキングリストを手作業で作成するのは、 + 時にとても退屈な作業になります。 + その port が非常に多数のファイルをインストールするとしたら、 + パッキングリストの + 自動生成を行なえば、時間の節約になるかもしれません。 + チェックサムファイルの作成 - make makesum と入力するだけで, - (訳注: bsd.port.mk に書かれている) - port 生成ルールに従い, - 自動的に distinfo ファイルが生成されます. + make makesum と入力するだけで、 + (訳注: bsd.port.mk に書かれている) + port 生成ルールに従い、 + 自動的に distinfo ファイルが生成されます。 port のテスト - package 化も含め, その port が思った通りに - 動くことを確認してください. - 確認の必要な重要ポイントは以下の通りです. + package 化も含め、その port が思った通りに + 動くことを確認してください。 + 確認の必要な重要ポイントは以下の通りです。 - - その port がインストールしないものが - pkg-plist に含まれていないこと. - + + その port がインストールしないものが + pkg-plist に含まれていないこと。 + - - その port がインストールする, すべてのものが - pkg-plist に含まれていること. - + + その port がインストールする、すべてのものが + pkg-plist に含まれていること。 + - - reinstall - ターゲットを使うことで, その port が - 何度でもインストール可能なこと. - + + reinstall + ターゲットを使うことで、その port が + 何度でもインストール可能なこと。 + - - その port が deintall される際には - 後片付けをすること. - + + その port が deintall される際には + 後片付けをすること。 + - 推奨されるテストの手順 + 推奨されるテストの手順 - - make install - + + make install + - - make package - + + make package + - - make deinstall - + + make deinstall + - - pkg_add package 名 - - + + pkg_add package 名 + + - - make deinstall - + + make deinstall + - - make reinstall - + + make reinstall + - - make package - + + make package + package および - deinstall の段階で, - どんな警告 (warning) も出力されないことを確認してください. - ステップ 3 の後, (訳注: その port が作成した) すべての新しい - ディレクトリが正しく消去されていることを確認してください. - また, ステップ 4 の後にそのソフトウェアを使用してみて, - package からインストールされた場合にも正しく動作することを - 確認してください. + deinstall の段階で、 + どんな警告 (warning) も出力されないことを確認してください。 + ステップ 3 の後、(訳注: その port が作成した) すべての新しい + ディレクトリが正しく消去されていることを確認してください。 + また、ステップ 4 の後にそのソフトウェアを使用してみて、 + package からインストールされた場合にも正しく動作することを + 確認してください。 <command>portlint</command> によるチェック - portlint を使い, その port が FreeBSD の - ガイドラインに沿っているかどうかを確認してください. - portlint プログラムは ports collection に - 含まれています. - 特に, Makefile が - 正しい形式になっているか, - package の - 名前が正しいかどうかをチェックするのに良いでしょう. + portlint を使い、その port が FreeBSD の + ガイドラインに沿っているかどうかを確認してください。 + portlint プログラムは ports collection に + 含まれています。 + 特に、Makefile が + 正しい形式になっているか、 + package の + 名前が正しいかどうかをチェックするのに良いでしょう。 port の提出 - まず, やって良いこと悪いことの - セクションを読んでください. + まず、 やって良いこと悪いことの + セクションを読んでください。 - さて, 満足のいく port が完成したら, 残るは - それを FreeBSD のメインの ports ツリーに置いて, - 他の人にも使ってもらうだけです. - work ディレクトリや - pkgname.tgz といった package は - 必要ありませんから, まずこれらを消去してください. - あとは shar `find port_dir` の出力を - バグレポートに入れ, &man.send-pr.1; プログラムを使用して - 送ってください (&man.send-pr.1; についての詳細はさて、満足のいく port が完成したら、残るは + それを FreeBSD のメインの ports ツリーに置いて、 + 他の人にも使ってもらうだけです。 + work ディレクトリや + pkgname.tgz といった package は + 必要ありませんから、まずこれらを消去してください。 + あとは shar `find port_dir` の出力を + バグレポートに入れ、&man.send-pr.1; プログラムを使用して + 送ってください (&man.send-pr.1; についての詳細は - バグ報告と一般的な論評を参照してください). - もし, 圧縮していない状態で 20KB 以上あるような port であれば, - それを ひとつの tar ファイルにまとめて圧縮し, - バグレポートに入れる前に &man.uuencode.1; を使用してください - (20KB 以下のものを tar ファイルにして送っても良いのですが, - あまり歓迎されません). - バクレポートの category は必ず ports, - class は change-request としてください - (レポートを confidential (機密) 指定には - しないでください!). - また, port 化したプログラムの短い説明文を - バグレポートの Description フィールドに追加して, - Fix フィールドには shar したファイル, - もしくは uuencode した tar ファイルを追加するようにしてください. - 後者は, ports 管理の作業をスクリプトで行なっている - コミッターの助けとなります. + バグ報告と一般的な論評を参照してください)。 + もし、圧縮していない状態で 20KB 以上あるような port であれば、 + それを ひとつの tar ファイルにまとめて圧縮し、 + バグレポートに入れる前に &man.uuencode.1; を使用してください + (20KB 以下のものを tar ファイルにして送っても良いのですが、 + あまり歓迎されません)。 + バクレポートの category は必ず ports, + class は change-request としてください + (レポートを confidential (機密) 指定には + しないでください!)。 + また、port 化したプログラムの短い説明文を + バグレポートの Description フィールドに追加して、 + Fix フィールドには shar したファイル、 + もしくは uuencode した tar ファイルを追加するようにしてください。 + 後者は、ports 管理の作業をスクリプトで行なっている + コミッターの助けとなります。 - もう一度, オリジナルのソースファイルや - work ディレクトリ, - make package で作成した package が - 含まれていないことを確認してください. + もう一度、オリジナルのソースファイルや + work ディレクトリ、 + make package で作成した package が + 含まれていないことを確認してください。 - 以前には, 新しい port を提出する際に FreeBSD の FTP サイト - (ftp.FreeBSD.org) に - アップロードするように お願いしていたことがあります. - 現在このサイトの incoming ディレクトリは - 読み出し不可になっており, アップロードは推奨されていません. - たくさんの海賊版ソフトウェアがそこに置かれたためです. + 以前には、新しい port を提出する際に FreeBSD の FTP サイト + (ftp.FreeBSD.org) に + アップロードするように お願いしていたことがあります。 + 現在このサイトの incoming ディレクトリは + 読み出し不可になっており、アップロードは推奨されていません。 + たくさんの海賊版ソフトウェアがそこに置かれたためです。 - わたしたちはその port をチェックし, 必要なら - あなたに確認して, それをツリーへ置きます. - あなたの名前は FreeBSD ハンドブックやその他のファイルの - Additional FreeBSD contributors の - リストにも載るでしょう. - う〜ん, 素晴らしい. :-) + わたしたちはその port をチェックし、必要なら + あなたに確認して、それをツリーへ置きます。 + あなたの名前は FreeBSD ハンドブックやその他のファイルの + Additional FreeBSD contributors の + リストにも載るでしょう。 + う〜ん、素晴らしい。:-) - わたしたちが作業しやすいように, - 障害報告の概要 (synopsis) は適切に記述してください. - たとえば新しい port の提出なら - New port: <port の簡単な説明>, - port の更新なら - Update port: <カテゴリ>/<port 名> <更新内容の簡単な説明> - といった形式が歓迎されます. - こういう方法で報告するように心がけていれば, あなたの報告 (PR) が - すぐに誰かの目にとまる確率が ぐっと高くなるのです. + わたしたちが作業しやすいように、 + 障害報告の概要 (synopsis) は適切に記述してください。 + たとえば新しい port の提出なら + New port: <port の簡単な説明>、 + port の更新なら + Update port: <カテゴリ>/<port 名> <更新内容の簡単な説明> + といった形式が歓迎されます。 + こういう方法で報告するように心がけていれば、あなたの報告 (PR) が + すぐに誰かの目にとまる確率が ぐっと高くなるのです。 @@ -408,301 +408,301 @@ lib/X11/oneko/mouse.xpm 本格的な port - 残念ながら移植がそう簡単ではなく, それを動かすために - 多少の変更が必要になる場合もあるでしょう. - このセクションでは, 模範的な ports の作法に従い, + 残念ながら移植がそう簡単ではなく、それを動かすために + 多少の変更が必要になる場合もあるでしょう。 + このセクションでは、模範的な ports の作法に従い、 どのように変更を行なって動くようにするのかを - 順を追って説明します. + 順を追って説明します。 port 構築の詳細 - まず, あなたが port のディレクトリで - make と - 入力してから起こる一連の出来事について, - 順を追って説明します. - ここを読むときには, 別のウィンドウに - bsd.port.mk を表示しておくと - 理解の助けになるかもしれません. + まず、あなたが port のディレクトリで + make と + 入力してから起こる一連の出来事について、 + 順を追って説明します。 + ここを読むときには、別のウィンドウに + bsd.port.mk を表示しておくと + 理解の助けになるかもしれません。 - しかし, bsd.port.mk が何をしているのか - 完全に理解できなくても 心配する必要はありません. - それほど多くの人が理解している というわけでは ありませんから... - f(^_^;) + しかし、bsd.port.mk が何をしているのか + 完全に理解できなくても 心配する必要はありません。 + それほど多くの人が理解している というわけでは ありませんから…。 + f(^_^;) - - まず, fetch という - ターゲットが実行されます. - この fetch ターゲットは, - 配布ファイルがローカルの DISTDIR に - 存在することを保証する役目を持っています. - もし必要なファイルが DISTDIR に - 存在しなければ, fetch ターゲットは - Makefile で指定された - MASTER_SITES 中の URL や, - FreeBSD のメイン FTP サイト - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ - (ここにはバックアップとして, われわれ ports 管理者が確認した - 配布ファイルを置いてあります) を探しにいきます. - make を実行するマシンがインターネットに - 接続されていて, 目的のファイルを FETCH で - 取ってこれた場合には, それを DISTDIR に - 保存します. - + + まず、fetch という + ターゲットが実行されます。 + この fetch ターゲットは、 + 配布ファイルがローカルの DISTDIR に + 存在することを保証する役目を持っています。 + もし必要なファイルが DISTDIR に + 存在しなければ、fetch ターゲットは + Makefile で指定された + MASTER_SITES 中の URL や、 + FreeBSD のメイン FTP サイト + ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ + (ここにはバックアップとして、われわれ ports 管理者が確認した + 配布ファイルを置いてあります) を探しにいきます。 + make を実行するマシンがインターネットに + 接続されていて、目的のファイルを FETCH で + 取ってこれた場合には、それを DISTDIR に + 保存します。 + - - 次に extract ターゲットが実行されます. - このターゲットは DISTDIR から - 配布ファイル (普通は gzip された tar ファイル) を読み込み, - その内容を作業ディレクトリ WRKDIR - (デフォルトでは work) に展開します. - + + 次に extract ターゲットが実行されます。 + このターゲットは DISTDIR から + 配布ファイル (普通は gzip された tar ファイル) を読み込み、 + その内容を作業ディレクトリ WRKDIR + (デフォルトでは work) に展開します。 + - - 次に patch ターゲットが実行されます. - まず, PATCHFILES にパッチファイルが - 指定されていれば, そのパッチを適用します. + + 次に patch ターゲットが実行されます。 + まず、PATCHFILES にパッチファイルが + 指定されていれば、そのパッチを適用します。 - 次に, PATCHDIR ディレクトリ - (デフォルトでは files サブディレクトリ) に - patch-* という - 名前のパッチファイルが存在すれば, - これらをアルファベット順に適用します. - + 次に、PATCHDIR ディレクトリ + (デフォルトでは files サブディレクトリ) に + patch-* という + 名前のパッチファイルが存在すれば、 + これらをアルファベット順に適用します。 + - - 次に configure ターゲットが - 実行されます. - これには, いろいろな場合があります. + + 次に configure ターゲットが + 実行されます。 + これには、いろいろな場合があります。 - - - scripts/configure が - 存在する場合には, そのスクリプトが実行されます. - + + + scripts/configure が + 存在する場合には、そのスクリプトが実行されます。 + - - HAS_CONFIGURE または - GNU_CONFIGURE がセットされていれば, - WRKSRC/configure が - 実行されます. - + + HAS_CONFIGURE または + GNU_CONFIGURE がセットされていれば、 + WRKSRC/configure が + 実行されます。 + - - USE_IMAKE がセットされていれば, - XMKMF - (デフォルトでは xmkmf -a) が - 実行されます. - - - + + USE_IMAKE がセットされていれば、 + XMKMF + (デフォルトでは xmkmf -a) が + 実行されます。 + + + - - 最後に build ターゲットが実行されます. - これは作業ディレクトリ (WRKSRC) に降りていき, - ビルド (コンパイル) を実行するのが役目です. - USE_GMAKE がセットされていれば - GNU make が使用され, - セットされていなければ FreeBSD の make が - 使用されます. - + + 最後に build ターゲットが実行されます。 + これは作業ディレクトリ (WRKSRC) に降りていき、 + ビルド (コンパイル) を実行するのが役目です。 + USE_GMAKE がセットされていれば + GNU make が使用され、 + セットされていなければ FreeBSD の make が + 使用されます。 + - 上記はデフォルトの動作です. これに加えて - pre- 何とかや - post- 何とかという - ターゲットを定義したり, そのような名前のスクリプトを - scripts サブディレクトリに置くことも可能で, - それぞれデフォルトの動作の前や後に実行されます. + 上記はデフォルトの動作です。これに加えて + pre- 何とかや + post- 何とかという + ターゲットを定義したり、そのような名前のスクリプトを + scripts サブディレクトリに置くことも可能で、 + それぞれデフォルトの動作の前や後に実行されます。 - たとえば, post-extract ターゲットが - Makefile に定義されていて, - scripts サブディレクトリに - pre-build というファイルが置かれている場合, - post-extract ターゲットは - 通常の展開動作の後に呼び出され, - pre-build スクリプトは - デフォルトのコンパイル動作の前に実行されます. - 実行する動作が簡単であれば, スクリプトよりも - Makefile のターゲットを使用することが - 推奨されています. - なぜなら, その port では どのような非標準の動作が必要とされるのか, - 一箇所にまとめて書いてあった方が他の人に理解しやすいからです. + たとえば、post-extract ターゲットが + Makefile に定義されていて、 + scripts サブディレクトリに + pre-build というファイルが置かれている場合、 + post-extract ターゲットは + 通常の展開動作の後に呼び出され、 + pre-build スクリプトは + デフォルトのコンパイル動作の前に実行されます。 + 実行する動作が簡単であれば、スクリプトよりも + Makefile のターゲットを使用することが + 推奨されています。 + なぜなら、その port では どのような非標準の動作が必要とされるのか、 + 一箇所にまとめて書いてあった方が他の人に理解しやすいからです。 デフォルトの動作は bsd.port.mk の - do- 何とかという - ターゲットで実行されます. - たとえば port を展開するコマンドは - do-extract ターゲットに書かれています. - もしデフォルトのターゲットに不満があれば, - Makefile 中で - do- 何とかという - ターゲットを再定義することにより, - 好きなように変更することができます. + do- 何とかという + ターゲットで実行されます。 + たとえば port を展開するコマンドは + do-extract ターゲットに書かれています。 + もしデフォルトのターゲットに不満があれば、 + Makefile 中で + do- 何とかという + ターゲットを再定義することにより、 + 好きなように変更することができます。 - メインのターゲット - (たとえば extract, - configure, その他) は, - すべての前段階が実行されていることを確認してから, - 実際のターゲットやスクリプトを呼び出す以外のことは - 行ないませんし, これらが変更されることも想定されていません. - もし展開の方法を変更したいときには - do-extract の変更によって実現し, - 絶対に extract には - 手を触れないでください. + メインのターゲット + (たとえば extract, + configure、その他) は、 + すべての前段階が実行されていることを確認してから、 + 実際のターゲットやスクリプトを呼び出す以外のことは + 行ないませんし、これらが変更されることも想定されていません。 + もし展開の方法を変更したいときには + do-extract の変更によって実現し、 + 絶対に extract には + 手を触れないでください。 - これで, ユーザが make と - 入力したときに何が起こるのかが理解できたと思います. - では, 完璧な port を作成するための推奨手順を - 順に見ていきましょう. + これで、ユーザが make と + 入力したときに何が起こるのかが理解できたと思います。 + では、完璧な port を作成するための推奨手順を + 順に見ていきましょう。 オリジナルのソースの入手 - (通常の場合,) 圧縮された tar ファイルの形 - (foo.tar.gz あるいは - foo.tar.Z) で - オリジナルのソースを入手して, - それを DISTDIR にコピーします. - できる限り, 主流のソースを - 使用するようにしてください. + (通常の場合、) 圧縮された tar ファイルの形 + (foo.tar.gz あるいは + foo.tar.Z) で + オリジナルのソースを入手して、 + それを DISTDIR にコピーします。 + できる限り、主流のソースを + 使用するようにしてください。 ネットワークへの接続の良好な FTP/HTTP サイトを - 見つけることができなかったり, 頭にくるような非標準的な形式しか - 置いていないサイトしか見つけられないときには, - 自分の管理下にあり信頼できる FTP サーバや http サーバ - (たとえば, あなた自身のホームページ) に置くこともできます. - あなたが選んだサーバが MASTER_SITES に - 正しく反映されていることを確認してください. + 見つけることができなかったり、頭にくるような非標準的な形式しか + 置いていないサイトしか見つけられないときには、 + 自分の管理下にあり信頼できる FTP サーバや http サーバ + (たとえば、あなた自身のホームページ) に置くこともできます。 + あなたが選んだサーバが MASTER_SITES に + 正しく反映されていることを確認してください。 - そのような便利かつ信頼のおける置き場所が見つからない場合, - 我々が ftp.FreeBSD.org に - 置き場所を提供することもできます. - 配布ファイルは, 誰かの freefall アカウントの - ~/public_distfiles/ に置かれることでしょう. - その port をコミットする人に, 置いてもらえるように頼んでください. - その人は配布ファイルを置いて, MASTER_SITES を - MASTER_SITE_LOCAL にセットし, - MASTER_SITE_SUBDIR には - 自分の freefall ユーザ名を - 入れておいてくれるでしょう. + そのような便利かつ信頼のおける置き場所が見つからない場合、 + 我々が ftp.FreeBSD.org に + 置き場所を提供することもできます。 + 配布ファイルは、誰かの freefall アカウントの + ~/public_distfiles/ に置かれることでしょう。 + その port をコミットする人に、置いてもらえるように頼んでください。 + その人は配布ファイルを置いて、MASTER_SITES を + MASTER_SITE_LOCAL にセットし、 + MASTER_SITE_SUBDIR には + 自分の freefall ユーザ名を + 入れておいてくれるでしょう。 その port の配布ファイルが特に理由もなく - しょっちゅう変わる場合には, その配布ファイルを - あなたのホームページに置いて, MASTER_SITES の - 最初に指定することも考えてみてください. - そうすれば, ユーザが checksum mismatch エラーに - 悩まされることもなくなりますし, FreeBSD の FTP サイトの - 保守担当者の負担も減らすこともできます. - また, その port にマスターサイトが一つしか存在しない場合には, - あなたのサイトにバックアップを置き, - それを MASTER_SITES の 2 番目に - 指定すると良いでしょう. + しょっちゅう変わる場合には、その配布ファイルを + あなたのホームページに置いて、MASTER_SITES の + 最初に指定することも考えてみてください。 + そうすれば、ユーザが checksum mismatch エラーに + 悩まされることもなくなりますし、FreeBSD の FTP サイトの + 保守担当者の負担も減らすこともできます。 + また、その port にマスターサイトが一つしか存在しない場合には、 + あなたのサイトにバックアップを置き、 + それを MASTER_SITES の 2 番目に + 指定すると良いでしょう。 その port がインターネット上で入手できる追加パッチを - 必要とするのなら, それも取ってきて - DISTDIR に置いてください. - それらがメインのソースの tar ファイルとは別のサイトに - あったとしても, 心配する必要はありません. - そのような状況にも ちゃんと対応できるようになっています - (後述の PATCHFILES の記述を - ご覧ください). + 必要とするのなら、それも取ってきて + DISTDIR に置いてください。 + それらがメインのソースの tar ファイルとは別のサイトに + あったとしても、心配する必要はありません。 + そのような状況にも ちゃんと対応できるようになっています + (後述の PATCHFILES の記述を + ご覧ください)。 port の修正 - 作業用のディレクトリに tar ファイルを展開し, - 最新バージョンの FreeBSD 上で正しくコンパイルするために必要な, - あらゆる変更を行ないます. - この処理は最終的に自動化するわけですから, - 何を行なったかを注意深く記録しておきましょう. - この port が完成した暁には, ファイルの削除, 追加, - 修正を含むすべての処理が自動化されたスクリプトや - パッチファイルで行なえるようになっていなければなりません. + 作業用のディレクトリに tar ファイルを展開し、 + 最新バージョンの FreeBSD 上で正しくコンパイルするために必要な、 + あらゆる変更を行ないます。 + この処理は最終的に自動化するわけですから、 + 何を行なったかを注意深く記録しておきましょう。 + この port が完成した暁には、ファイルの削除、追加、 + 修正を含むすべての処理が自動化されたスクリプトや + パッチファイルで行なえるようになっていなければなりません。 その port のコンパイルやインストールのために必要な手作業が - あまりに多いようならば, Larry Wall の芸術的な - Configure スクリプトを - 参考にしたほうが良いかもしれません. - 新しい ports collection は, エンドユーザにとって個々の port が - 可能な限りプラグ & プレイかつ - 最小のディスク消費で make できることを目指しています. + あまりに多いようならば、Larry Wall の芸術的な + Configure スクリプトを + 参考にしたほうが良いかもしれません。 + 新しい ports collection は、エンドユーザにとって個々の port が + 可能な限りプラグ & プレイかつ + 最小のディスク消費で make できることを目指しています。 - 明示的に記述されている場合を除き, あなたが作成して - FreeBSD の ports collection に寄付したパッチファイル, - スクリプトおよびその他のファイルは, 標準的な BSD の - 著作権条件によりカバーされているものと見なされます. + 明示的に記述されている場合を除き、あなたが作成して + FreeBSD の ports collection に寄付したパッチファイル、 + スクリプトおよびその他のファイルは、標準的な BSD の + 著作権条件によりカバーされているものと見なされます。 パッチの適用 - port の準備段階で追加されたり変更されたりしたファイルは, - 再帰的 diff によりパッチファイル化することができます. - パッチは適当にまとめて - patch-* - という名前のファイルに入れてください. - * は - パッチが適用される順番を示します — これらは - アルファベット順, - つまり aa が最初, - ab が その次といった順番で処理されます. - お望みなら, patch-Imakefile とか - patch-src-config.h のように, - パッチ対象のファイルのパス名を示す名前を使うこともできます. - これらのファイルは PATCHDIR に置いてください. - そうすれば自動的に適用されるようになっています. - すべてのパッチは WRKSRC からの相対パスにする - べきです (通常, WRKSRC は port の tar ファイルが - 展開されるディレクトリで, make が実行されるところと同じです). - 修正やアップグレードを容易にするため, 複数のパッチで - 同じファイルを修正するのは避けてください - (たとえば, patch-aa と - patch-ab が共に - WRKSRC/foobar.c を - 修正するなど). + port の準備段階で追加されたり変更されたりしたファイルは、 + 再帰的 diff によりパッチファイル化することができます。 + パッチは適当にまとめて + patch-* + という名前のファイルに入れてください。 + * は + パッチが適用される順番を示します — これらは + アルファベット順、 + つまり aa が最初、 + ab が その次といった順番で処理されます。 + お望みなら、patch-Imakefile とか + patch-src-config.h のように、 + パッチ対象のファイルのパス名を示す名前を使うこともできます。 + これらのファイルは PATCHDIR に置いてください。 + そうすれば自動的に適用されるようになっています。 + すべてのパッチは WRKSRC からの相対パスにする + べきです (通常、WRKSRC は port の tar ファイルが + 展開されるディレクトリで、make が実行されるところと同じです)。 + 修正やアップグレードを容易にするため、複数のパッチで + 同じファイルを修正するのは避けてください + (たとえば、patch-aa と + patch-ab が共に + WRKSRC/foobar.c を + 修正するなど)。 コンフィグレーション - カスタマイズのために追加したいコマンドがあれば, - configure という名前のスクリプトに入れて - scripts サブディレクトリに置いてください. - 上で述べたように, pre-configure - あるいは post-configure という - Makefile ターゲットや, - スクリプトで処理することもできます. + カスタマイズのために追加したいコマンドがあれば、 + configure という名前のスクリプトに入れて + scripts サブディレクトリに置いてください。 + 上で述べたように、pre-configure + あるいは post-configure という + Makefile ターゲットや、 + スクリプトで処理することもできます。 ユーザからの入力の扱い - もし, その port がビルド, コンフィグレーション, または - インストールの際にユーザからの入力を必要とするならば, - Makefile 中で - IS_INTERACTIVE をセットしてください. - これにより, ユーザが環境変数 BATCH を - セットしている場合には, この port の処理がスキップされるので - 夜間の無人ビルド が実行可能になります. - (逆に環境変数 INTERACTIVE がセットされていると, - ユーザからの入力を必要とする port だけが - コンパイルされます). + もし、その port がビルド、コンフィグレーション、または + インストールの際にユーザからの入力を必要とするならば、 + Makefile 中で + IS_INTERACTIVE をセットしてください。 + これにより、ユーザが環境変数 BATCH を + セットしている場合には、この port の処理がスキップされるので + 夜間の無人ビルド が実行可能になります。 + (逆に環境変数 INTERACTIVE がセットされていると、 + ユーザからの入力を必要とする port だけが + コンパイルされます)。 - もし, 適切なデフォルト設定が存在するのであれば, - PACKAGE_BUILDING 変数をチェックして, - それが設定されている場合には - ユーザ入力のスクリプトを起動しないようにしてください. - こうすることによって, 我々 ports 管理者が - CDROM や FTP に 置く package を作成することができます. + もし、適切なデフォルト設定が存在するのであれば、 + PACKAGE_BUILDING 変数をチェックして、 + それが設定されている場合には + ユーザ入力のスクリプトを起動しないようにしてください。 + こうすることによって、我々 ports 管理者が + CDROM や FTP に 置く package を作成することができます。 @@ -710,322 +710,322 @@ lib/X11/oneko/mouse.xpm <filename>Makefile</filename> の作成 - Makefile の作成は非常に単純です. - 繰り返しますが, 始めるまえに既存の例を見ておくことを推奨します. - また, このハンドブックには Makefile のサンプルがあります. - それを見て, Makefile 内の変数の順番や - 空行を入れるところなどの参考にしてください. - そうすると他の人々にも読みやすいものとなります. + Makefile の作成は非常に単純です。 + 繰り返しますが、始めるまえに既存の例を見ておくことを推奨します。 + また、このハンドブックには Makefile のサンプルがあります。 + それを見て、Makefile 内の変数の順番や + 空行を入れるところなどの参考にしてください。 + そうすると他の人々にも読みやすいものとなります。 - では, Makefile を設計するときに - 問題となるところを順に追って見てみましょう. + では、Makefile を設計するときに + 問題となるところを順に追って見てみましょう。 オリジナルのソース ソースは foozolix-1.2.tar.gz といった名前の - 標準的な gzip された tar ファイルの形式で - DISTDIR に置かれていますか? - そうなっていれば, 次のステップに進めます. - 異なっている場合には, 変数 DISTNAME, - EXTRACT_CMD, - EXTRACT_BEFORE_ARGS, - EXTRACT_AFTER_ARGS, - EXTRACT_SUFX, - DISTFILES のうち - いくつかを書き換える必要があります. - どれだけ変更しないといけないかは, その port の配布ファイルが - どの程度標準からかけはなれているかによります - (最もよくあるのは gzip ではなく普通の compress コマンドで - tar ファイルが圧縮されている場合で, そのときは - EXTRACT_SUFX=.tar.Z とするだけです). + 標準的な gzip された tar ファイルの形式で + DISTDIR に置かれていますか? + そうなっていれば、次のステップに進めます。 + 異なっている場合には、変数 DISTNAME, + EXTRACT_CMD, + EXTRACT_BEFORE_ARGS, + EXTRACT_AFTER_ARGS, + EXTRACT_SUFX, + DISTFILES のうち + いくつかを書き換える必要があります。 + どれだけ変更しないといけないかは、その port の配布ファイルが + どの程度標準からかけはなれているかによります + (最もよくあるのは gzip ではなく普通の compress コマンドで + tar ファイルが圧縮されている場合で、そのときは + EXTRACT_SUFX=.tar.Z とするだけです)。 - 最悪の場合には, 自分で - do-extract ターゲットを作成して, - デフォルトを上書きすることもできます. - しかし, そこまでする必要があることはめったにないでしょう. + 最悪の場合には、自分で + do-extract ターゲットを作成して、 + デフォルトを上書きすることもできます。 + しかし、そこまでする必要があることはめったにないでしょう。 <makevar>PORTNAME</makevar> および - <makevar>PORTVERSION</makevar> + PORTVERSION DISTNAME には - port の名前の基幹部分を入れ, - PORTVERSION - には port のバージョン番号を入れます. + port の名前の基幹部分を入れ、 + PORTVERSION + には port のバージョン番号を入れます。 <makevar>PORTREVISION</makevar> および - <makevar>PORTEPOCH</makevar> + PORTEPOCH - <makevar>PORTREVISION</makevar> + <makevar>PORTREVISION</makevar> - PORTREVISION 変数は単調増加する値です. - PORTVERSION が増加した時 (つまり, - 新しいオフィシャルベンダーリリースが行なわれた時) には - いつでも 0 にリセットされます. - また, その値が 0 でない場合には package 名に追加されます. - その port から作られる package の内容や構造に - 大きな影響を与える変更を行なった時には, - PORTREVISION を増やしてください. + PORTREVISION 変数は単調増加する値です。 + PORTVERSION が増加した時 (つまり、 + 新しいオフィシャルベンダーリリースが行なわれた時) には + いつでも 0 にリセットされます。 + また、その値が 0 でない場合には package 名に追加されます。 + その port から作られる package の内容や構造に + 大きな影響を与える変更を行なった時には、 + PORTREVISION を増やしてください。 - PORTREVISION を上げる必要がある変更の例: + PORTREVISION を上げる必要がある変更の例: - - - セキュリティ上の脆弱性やバグを修正するため, または - その port に新しい機能性を追加するためのパッチの追加. - + + + セキュリティ上の脆弱性やバグを修正するため、または + その port に新しい機能性を追加するためのパッチの追加。 + - - package のコンパイル時オプションの有効化や - 無効化のための Makefile の変更. - + + package のコンパイル時オプションの有効化や + 無効化のための Makefile の変更。 + - - パッキングリストの変更や, package のインストール時の - 挙動の変更 (たとえば, ssh のホストキーのような package の - 初期データを生成するスクリプトの変更など). - + + パッキングリストの変更や、package のインストール時の + 挙動の変更 (たとえば、ssh のホストキーのような package の + 初期データを生成するスクリプトの変更など)。 + - - その port が依存する共有ライブラリのバージョンを - 上げる場合 (新しいバージョンの共有ライブラリが - インストールされた後に, そのライブラリに依存していた - 古い package をインストールを試みる場合, - その package は新しい libfoo.(x+1) ではなく - 古い libfoo.x を探そうとするため, インストールに失敗します. - (訳注: そのため, PORTREVISION を上げた package を - 作成する必要があるわけです)). - + + その port が依存する共有ライブラリのバージョンを + 上げる場合 (新しいバージョンの共有ライブラリが + インストールされた後に、そのライブラリに依存していた + 古い package をインストールを試みる場合、 + その package は新しい libfoo.(x+1) ではなく + 古い libfoo.x を探そうとするため、インストールに失敗します。 + (訳注: そのため、PORTREVISION を上げた package を + 作成する必要があるわけです))。 + - - ひそかに port 配布ファイルの変更が行なわれ, - その機能に大きな変化があった場合. - つまり, distinfo の修正を - 必要とするような配布ファイルの変更が行なわれ, - 新旧のバージョンの diff -ru を取ると - 些細とは言えない変更が認められるにもかかわらず, - オリジナルのバージョン番号が変更されていないことから - PORTVERSION の変更は難しい場合. - - + + ひそかに port 配布ファイルの変更が行なわれ、 + その機能に大きな変化があった場合。 + つまり、distinfo の修正を + 必要とするような配布ファイルの変更が行なわれ、 + 新旧のバージョンの diff -ru を取ると + 些細とは言えない変更が認められるにもかかわらず、 + オリジナルのバージョン番号が変更されていないことから + PORTVERSION の変更は難しい場合。 + + - PORTREVISION を上げる必要の無い変更の例: + PORTREVISION を上げる必要の無い変更の例: - - - 生成される package に機能の変化が起らないような - port スケルトンのスタイル変更. - + + + 生成される package に機能の変化が起らないような + port スケルトンのスタイル変更。 + - - 生成される package に影響しないような - MASTER_SITES その他の - port に対する機能変更. - + + 生成される package に影響しないような + MASTER_SITES その他の + port に対する機能変更。 + - - 誤植の修正などの些細な変更で, その package のユーザが - アップグレードを必要とするほどには重要でないパッチ. - + + 誤植の修正などの些細な変更で、その package のユーザが + アップグレードを必要とするほどには重要でないパッチ。 + - - 以前にはコンパイルが通らなかった package を - ビルド可能にするための修正 (その port が以前にビルド可能だった - プラットフォームにおいて, その変更により何らかの機能的な - 違いが発生しない場合に限ります). - PORTREVISION は package の内容を - 反映したものなので, その package が以前にビルド可能でなければ - 内容の変更も無いため, PORTREVISION を - 増やす必要はありません. - - + + 以前にはコンパイルが通らなかった package を + ビルド可能にするための修正 (その port が以前にビルド可能だった + プラットフォームにおいて、その変更により何らかの機能的な + 違いが発生しない場合に限ります)。 + PORTREVISION は package の内容を + 反映したものなので、その package が以前にビルド可能でなければ + 内容の変更も無いため、PORTREVISION を + 増やす必要はありません。 + + - 経験的な判断方法としては, ある port にコミットされた変更が - (それが強化や修正によるものであれ, 新しい package による - 実質的な効能であれ), アップデートすることにより誰かがどこかで - 利益を受けるような何か かどうか自問してみることです. + 経験的な判断方法としては、ある port にコミットされた変更が + (それが強化や修正によるものであれ、新しい package による + 実質的な効能であれ)、アップデートすることにより誰かがどこかで + 利益を受けるような何か かどうか自問してみることです。 - もし答がイエスであれば, 新しい package が利用可能になった事実を - (例えば pkg_version 等の) 自動化ツールが - 強調することができるように, PORTREVISION を - 上げるべきでしょう. + もし答がイエスであれば、新しい package が利用可能になった事実を + (例えば pkg_version 等の) 自動化ツールが + 強調することができるように、PORTREVISION を + 上げるべきでしょう。 - <makevar>PORTEPOCH</makevar> + <makevar>PORTEPOCH</makevar> - ソフトウェアのベンダや FreeBSD の port 作成者は, - 以前のものよりも小さい数字のバージョン番号をつけたソフトウェアを - リリースするといった, 何か馬鹿げたことをすることが時々あります. - 例をあげると, ある port が foo-20000801 から foo-1.0 になる - といった具合です (数字として見ると 20000801 は 1 よりも大きいため, - 間違って前者の方が新しいバージョンとして扱われてしまいます). + ソフトウェアのベンダや FreeBSD の port 作成者は、 + 以前のものよりも小さい数字のバージョン番号をつけたソフトウェアを + リリースするといった、何か馬鹿げたことをすることが時々あります。 + 例をあげると、ある port が foo-20000801 から foo-1.0 になる + といった具合です (数字として見ると 20000801 は 1 よりも大きいため、 + 間違って前者の方が新しいバージョンとして扱われてしまいます)。 - このような場合には PORTEPOCH バージョンを - 増やしてください. - 上のセクション 0 で説明したように, - PORTEPOCH がゼロでない場合には, - それがパッケージ名の後ろにつけられます. - PORTEPOCH は減らされたり, ゼロに - リセットされることはありません. - さもないと, 以前に作成された package との比較に失敗する - (つまり, その package が古くなっていることがわからない) ためです: - 新しいバージョン番号 (上の例では1.0,1) は - 依然として前のバージョン番号 (20000801) よりも - 数字としては小さいのですが, 自動化ツールが - サフィックス ,1 を特別扱いすることで, - 以前の package には明示されていないサフィックス ",0" よりも - 新しいことがわかります. + このような場合には PORTEPOCH バージョンを + 増やしてください。 + 上のセクション 0 で説明したように、 + PORTEPOCH がゼロでない場合には、 + それがパッケージ名の後ろにつけられます。 + PORTEPOCH は減らされたり、ゼロに + リセットされることはありません。 + さもないと、以前に作成された package との比較に失敗する + (つまり、その package が古くなっていることがわからない) ためです: + 新しいバージョン番号 (上の例では1.0,1) は + 依然として前のバージョン番号 (20000801) よりも + 数字としては小さいのですが、自動化ツールが + サフィックス ,1 を特別扱いすることで、 + 以前の package には明示されていないサフィックス ",0" よりも + 新しいことがわかります。 - 大多数の ports では, PORTEPOCH が - 必要になることは まず無いものと考えられています. - また, 注意深く PORTVERSION を - 使用することで, そのソフトウェアの将来のリリースが - バージョン構造を変更する必要が出てきた場合にも, 多くの場合 - 前もって対応しておくことができるでしょう. - しかし, 「スナップショット」リリースのように, オフィシャルな - バージョン番号を持たないベンダーリリースが行なわれた時には, - FreeBSD 版の port 作者によるケアが必要になります. - そういったリリースに対し, リリース日付を使ったラベルを - 付けたいという誘惑にかられることがあるでしょうが, - そうすると新しい「オフィシャル」リリースが行なわれた時に, - 上の例で示したような問題が起きることでしょう. + 大多数の ports では、PORTEPOCH が + 必要になることは まず無いものと考えられています。 + また、注意深く PORTVERSION を + 使用することで、そのソフトウェアの将来のリリースが + バージョン構造を変更する必要が出てきた場合にも、多くの場合 + 前もって対応しておくことができるでしょう。 + しかし、「スナップショット」リリースのように、オフィシャルな + バージョン番号を持たないベンダーリリースが行なわれた時には、 + FreeBSD 版の port 作者によるケアが必要になります。 + そういったリリースに対し、リリース日付を使ったラベルを + 付けたいという誘惑にかられることがあるでしょうが、 + そうすると新しい「オフィシャル」リリースが行なわれた時に、 + 上の例で示したような問題が起きることでしょう。 - 例えば, あるソフトウェアのスナップショットリリースが - 20000917 に行なわれ, 以前のバージョン番号が 1.2 だったとすると, - そのスナップショットの PORTVERSION には - 20000917 ではなく 1.2.20000917 か何か, そのような番号を - 指定するのが良いでしょう. - そうしておけば, 例えばバージョン番号 1.3 として後続のリリースが - 行なわれた場合にも, 大小関係が崩されずにすむわけです. + 例えば、あるソフトウェアのスナップショットリリースが + 20000917 に行なわれ、以前のバージョン番号が 1.2 だったとすると、 + そのスナップショットの PORTVERSION には + 20000917 ではなく 1.2.20000917 か何か、そのような番号を + 指定するのが良いでしょう。 + そうしておけば、例えばバージョン番号 1.3 として後続のリリースが + 行なわれた場合にも、大小関係が崩されずにすむわけです。 - <makevar>PORTREVISION</makevar> と - <makevar>PORTEPOCH</makevar> の使い方の例 + <makevar>PORTREVISION</makevar> と + <makevar>PORTEPOCH</makevar> の使い方の例 - gtkmumble の port, バージョン 0.10 が - ports collection にコミットされます. + gtkmumble の port, バージョン 0.10 が + ports collection にコミットされます。 - PORTNAME= gtkmumble + PORTNAME= gtkmumble PORTVERSION= 0.10 - PKGNAME は - gtkmumble-0.10 になります. + PKGNAME は + gtkmumble-0.10 になります。 - ローカルな FreeBSD パッチを必要とする - セキュリティホールが発見されました. - それに合わせて PORTREVISION を増やします. + ローカルな FreeBSD パッチを必要とする + セキュリティホールが発見されました。 + それに合わせて PORTREVISION を増やします。 - PORTNAME= gtkmumble + PORTNAME= gtkmumble PORTVERSION= 0.10 PORTREVISION= 1 - PKGNAME は - gtkmumble-0.10_1 になります. + PKGNAME は + gtkmumble-0.10_1 になります。 - ベンダから 0.2 という番号が振られた - 新バージョンがリリースされます (これにより, - 作者は 0.10 という番号を - 0.9 の次という意味ではなく, - 実際には 0.1.0 のつもりで - 使用していたことがわかります - あらら, 今さら遅すぎる). - 新しいマイナーバージョン 2 は数字として - 以前のバージョン番号 10 より小さいので, - 強制的に新しい package の方を「より新しい」と認識させるため - PORTEPOCH を増やす必要があります. - これは新しいベンダーリリースなので, - PORTREVISION は 0 にリセット - (または Makefile から削除) されます. + ベンダから 0.2 という番号が振られた + 新バージョンがリリースされます (これにより、 + 作者は 0.10 という番号を + 0.9 の次という意味ではなく、 + 実際には 0.1.0 のつもりで + 使用していたことがわかります - あらら、今さら遅すぎる)。 + 新しいマイナーバージョン 2 は数字として + 以前のバージョン番号 10 より小さいので、 + 強制的に新しい package の方を「より新しい」と認識させるため + PORTEPOCH を増やす必要があります。 + これは新しいベンダーリリースなので、 + PORTREVISION は 0 にリセット + (または Makefile から削除) されます。 - PORTNAME= gtkmumble + PORTNAME= gtkmumble PORTVERSION= 0.2 PORTEPOCH= 1 - PKGNAME は - gtkmumble-0.2,1 になります. + PKGNAME は + gtkmumble-0.2,1 になります。 - 次のリリースは 0.3 です. - PORTEPOCH は減少することが無いため, - 今度のバージョン変数は次のようになります: + 次のリリースは 0.3 です。 + PORTEPOCH は減少することが無いため、 + 今度のバージョン変数は次のようになります: - PORTNAME= gtkmumble + PORTNAME= gtkmumble PORTVERSION= 0.3 PORTEPOCH= 1 - PKGNAME は - gtkmumble-0.3,1 になります. + PKGNAME は + gtkmumble-0.3,1 になります。 - - もし, このアップグレードによって - PORTEPOCH0 に - リセットされたとすると, 3 は数字として - 10 よりも小さいため, - gtkmumble-0.10_1 の package をインストールした誰かは - gtkmumble-0.3 の package の方が新しいことに - 気がつかないことになるでしょう. - + + もし、このアップグレードによって + PORTEPOCH0 に + リセットされたとすると、3 は数字として + 10 よりも小さいため、 + gtkmumble-0.10_1 の package をインストールした誰かは + gtkmumble-0.3 の package の方が新しいことに + 気がつかないことになるでしょう。 + <makevar>PKGNAMEPREFIX</makevar> および - <makevar>PKGNAMESUFFIX</makevar> + PKGNAMESUFFIX 二つのオプション変数 PKGNAMEPREFIX と - PKGNAMESUFFIX は, - PORTNAME および - PORTVERSION と結合され, - PKGNAME を - ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} - として定義します. - この時, 適切な package 名を選ぶための - ガイドラインに沿っているかどうかを確認してください. - 特に, PORTVERSION 中に - ハイフン (-) を使用することは禁止されています. - また, package 名に - language- もしくは - compiled.specifics 部分が - 含まれる場合, それぞれ PKGNAMEPREFIX と - PKGNAMESUFFIX を使用してください. - これらを PORTNAME の一部としてはいけません. + PKGNAMESUFFIX は、 + PORTNAME および + PORTVERSION と結合され、 + PKGNAME を + ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} + として定義します。 + この時、適切な package 名を選ぶための + ガイドラインに沿っているかどうかを確認してください。 + 特に、PORTVERSION 中に + ハイフン (-) を使用することは禁止されています。 + また、package 名に + language- もしくは + compiled.specifics 部分が + 含まれる場合、それぞれ PKGNAMEPREFIX と + PKGNAMESUFFIX を使用してください。 + これらを PORTNAME の一部としてはいけません。 <makevar>DISTNAME</makevar> - DISTNAME は製作者が決めたソフトウェアの名前です. - デフォルトでは DISTNAME は - ${PORTNAME}-${PORTVERSION} になりますが, - 必要に応じて書き換えることができます. - DISTNAME は二つの場所でしか使われません. - 一つ目は配布ファイルリスト (DISTFILES) のデフォルト - ${DISTNAME}${EXTRACT_SUFX} で, - 二つ目は配布ファイルが展開される - サブディレクトリ WRKSRC のデフォルト - work/${DISTNAME} です. + DISTNAME は製作者が決めたソフトウェアの名前です。 + デフォルトでは DISTNAME は + ${PORTNAME}-${PORTVERSION} になりますが、 + 必要に応じて書き換えることができます。 + DISTNAME は二つの場所でしか使われません。 + 一つ目は配布ファイルリスト (DISTFILES) のデフォルト + ${DISTNAME}${EXTRACT_SUFX} で、 + 二つ目は配布ファイルが展開される + サブディレクトリ WRKSRC のデフォルト + work/${DISTNAME} です。 - PKGNAMEPREFIX や - PKGNAMESUFFIX は - DISTNAME に影響を与えません. - また, 元のソースアーカイブが - ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} という - 名前ではないのに, WRKSRC を - work/${PORTNAME}-${PORTVERSION} と - 設定している場合, おそらく DISTNAME は - そのままにしておく必要があることに注意してください — - DISTNAMEWRKSRC の - 両方を (そして おそらく EXTRACT_SUFX も) - セットするよりは, DISTFILES を - 定義する方が楽でしょう. + PKGNAMEPREFIX や + PKGNAMESUFFIX は + DISTNAME に影響を与えません。 + また、元のソースアーカイブが + ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} という + 名前ではないのに、WRKSRC を + work/${PORTNAME}-${PORTVERSION} と + 設定している場合、おそらく DISTNAME は + そのままにしておく必要があることに注意してください — + DISTNAMEWRKSRC の + 両方を (そして おそらく EXTRACT_SUFX も) + セットするよりは、DISTFILES を + 定義する方が楽でしょう。 @@ -1033,519 +1033,519 @@ PORTEPOCH= 1 <makevar>CATEGORIES</makevar> 完成した package の実体は - /usr/ports/packages/All に置かれ, - 一つかそれ以上の /usr/ports/packages の - サブディレクトリからのシンボリックリンクが作られます. - これらのサブディレクトリの名前は CATEGORIES という - 変数によって指定されます. - これは, ユーザが FTP サイトや CDROM 上の package の山を - 渡り歩くことを容易にするためのものです. - 既存のカテゴリを見て, - その port に適したものを選んでください. + /usr/ports/packages/All に置かれ、 + 一つかそれ以上の /usr/ports/packages の + サブディレクトリからのシンボリックリンクが作られます。 + これらのサブディレクトリの名前は CATEGORIES という + 変数によって指定されます。 + これは、ユーザが FTP サイトや CDROM 上の package の山を + 渡り歩くことを容易にするためのものです。 + 既存のカテゴリを見て、 + その port に適したものを選んでください。 - このリストは, この port が port ツリーの - どこに取り込まれるかも決定します. - 二つ以上のカテゴリを指定した場合には, - 最初のカテゴリで指定されるサブディレクトリに置かれることになります. - 適切なカテゴリを選ぶ方法については, - カテゴリのセクションを - 参照してください. + このリストは、この port が port ツリーの + どこに取り込まれるかも決定します。 + 二つ以上のカテゴリを指定した場合には、 + 最初のカテゴリで指定されるサブディレクトリに置かれることになります。 + 適切なカテゴリを選ぶ方法については、 + カテゴリのセクションを + 参照してください。 本当にその port が現存するカテゴリのいずれにも - 当てはまらない場合には, 新しいカテゴリ名を作ることもできます. - その場合, 新しいカテゴリ名を提案するメールを &a.ports; あてに - 送ってください. + 当てはまらない場合には、新しいカテゴリ名を作ることもできます。 + その場合、新しいカテゴリ名を提案するメールを &a.ports; あてに + 送ってください。 <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_* を使って - これらのサイトを簡潔に - (例えば MASTER_SITE_XCONTRIB とか, - MASTER_SITE_PERL_CPAN のように) - 指定することができます. - MASTER_SITES を これらの変数の一つにセットし, - サイト内でのパスを MASTER_SITE_SUBDIR に - 指定するだけです. - 以下に例を示します. + 有名なアーカイブサイトに置かれている場合には、 + MASTER_SITE_* を使って + これらのサイトを簡潔に + (例えば MASTER_SITE_XCONTRIB とか、 + MASTER_SITE_PERL_CPAN のように) + 指定することができます。 + MASTER_SITES を これらの変数の一つにセットし、 + サイト内でのパスを MASTER_SITE_SUBDIR に + 指定するだけです。 + 以下に例を示します。 MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications これらの変数は /usr/ports/Mk/bsd.sites.mk で - 定義されています. - いつでも新しいアーカイブサイトが追加されますので, - port を提出する前に このファイルの最新版を - チェックするように心掛けてください. + 定義されています。 + いつでも新しいアーカイブサイトが追加されますので、 + port を提出する前に このファイルの最新版を + チェックするように心掛けてください。 ユーザは /etc/make.conf 中で - MASTER_SITE_* 変数を上書きすることもできます. - そうすることで, これらの有名なアーカイブそのものではなく, - 好みのミラーサイトを使用することができます. + MASTER_SITE_* 変数を上書きすることもできます。 + そうすることで、これらの有名なアーカイブそのものではなく、 + 好みのミラーサイトを使用することができます。 <makevar>PATCHFILES</makevar> その port が配布ファイルの他に FTP や HTTP で手に入る - 追加パッチを必要とする場合には, PATCHFILES には - そのパッチのファイル名を, PATCH_SITES には - そのファイルが置かれているディレクトリの URL をセットしてください. - (書き方は MASTER_SITES と同じです.) + 追加パッチを必要とする場合には、PATCHFILES には + そのパッチのファイル名を、PATCH_SITES には + そのファイルが置かれているディレクトリの URL をセットしてください。 + (書き方は MASTER_SITES と同じです。) そのパッチに記録されているファイル名に余計なパス名が - ついていて, ソースツリーのトップディレクトリ (つまり - WKRSRC) からの相対パスになっていない場合には, - それに応じた PATCH_DIST_STRIP を指定してください. - たとえば, パッチ内のすべてのファイル名の先頭に, - 余計な foozolix-1.0/ がついている場合には, - PATCH_DIST_STRIP=-p1 としてください. + ついていて、ソースツリーのトップディレクトリ (つまり + WKRSRC) からの相対パスになっていない場合には、 + それに応じた PATCH_DIST_STRIP を指定してください。 + たとえば、パッチ内のすべてのファイル名の先頭に、 + 余計な foozolix-1.0/ がついている場合には、 + PATCH_DIST_STRIP=-p1 としてください。 - これらのパッチは圧縮されていても大丈夫です. - ファイル名が .gz.Z で - 終わる場合には, 自動的に展開されるようになっています. + これらのパッチは圧縮されていても大丈夫です。 + ファイル名が .gz.Z で + 終わる場合には、自動的に展開されるようになっています。 - もしパッチが, ドキュメント等その他のファイルと一緒に - gzip された tar ファイルで配布されている場合には, - 単に PATCHFILES を使うだけではうまくいきません. - このような場合には, このパッチの tar ファイルの名前と場所を - DISTFILESMASTER_SITES に - 追加しておきます. - それから, EXTRA_PATCHES 変数に - それらのパッチを指定すれば, bsd.port.mk が - 自動的にパッチを適用してくれます. - 特に注意が必要なのは, パッチファイルを PATCHDIR - ディレクトリにコピーしてはならないことです - — (訳注: port が CD-ROM 上に置かれている等の場合には,) - そのディレクトリには書き込みができないかもしれません. + もしパッチが、ドキュメント等その他のファイルと一緒に + gzip された tar ファイルで配布されている場合には、 + 単に PATCHFILES を使うだけではうまくいきません。 + このような場合には、このパッチの tar ファイルの名前と場所を + DISTFILESMASTER_SITES に + 追加しておきます。 + それから、EXTRA_PATCHES 変数に + それらのパッチを指定すれば、bsd.port.mk が + 自動的にパッチを適用してくれます。 + 特に注意が必要なのは、パッチファイルを PATCHDIR + ディレクトリにコピーしてはならないことです + — (訳注: port が CD-ROM 上に置かれている等の場合には、) + そのディレクトリには書き込みができないかもしれません。 - それが普通の gzip か compress された tar ファイルであれば, - 通常のソースファイルと一緒にパッチ適用時までに展開されていますので, - 明示的に展開する必要はないことに注意してください. - もしパッチを DISTFILES に追加した場合には, - パッチを含むファイルが展開される際に, そのディレクトリにある - 何かを上書きしないように注意してください. - さらに, コピーされたパッチファイルを削除するコマンドを - pre-clean ターゲットに追加することを - 忘れないでください. + それが普通の gzip か compress された tar ファイルであれば、 + 通常のソースファイルと一緒にパッチ適用時までに展開されていますので、 + 明示的に展開する必要はないことに注意してください。 + もしパッチを DISTFILES に追加した場合には、 + パッチを含むファイルが展開される際に、そのディレクトリにある + 何かを上書きしないように注意してください。 + さらに、コピーされたパッチファイルを削除するコマンドを + pre-clean ターゲットに追加することを + 忘れないでください。 <makevar>MAINTAINER</makevar> - あなたのメールアドレスをここに入れてください. - お願いします. - :-) + あなたのメールアドレスをここに入れてください。 + お願いします。 + :-) - 保守担当者 (maintainer) の責任に関する詳細説明は, + 保守担当者 (maintainer) の責任に関する詳細説明は、 - Makefile 中の MAINTAINER の - セクションを参照してください. + Makefile 中の MAINTAINER の + セクションを参照してください。 依存関係 - 多くの port は他の port に依存しています. - 必要なものすべてがユーザのマシン上に存在することを - 保証するために使用可能な, 5 つの変数が用意されています. - よくあるケースのためにあらかじめ設定された依存変数に加え, - いくつかの依存関係の制御のための変数があります. + 多くの port は他の port に依存しています。 + 必要なものすべてがユーザのマシン上に存在することを + 保証するために使用可能な、5 つの変数が用意されています。 + よくあるケースのためにあらかじめ設定された依存変数に加え、 + いくつかの依存関係の制御のための変数があります。 - <makevar>LIB_DEPENDS</makevar> + <makevar>LIB_DEPENDS</makevar> - その port が必要とする共有ライブラリを, この変数で指定します. - (訳注: libc 等, 標準のライブラリは指定する必要がありません.) - これは lib:dir:target という - 組のリストです. - lib が共有ライブラリの名前, - dir が - そのライブラリが見つからない場合に - インストールされる port のディレクトリ, - targetが - そのディレクトリで呼ばれるターゲットです. - たとえば, + その port が必要とする共有ライブラリを、この変数で指定します。 + (訳注: libc 等、標準のライブラリは指定する必要がありません。) + これは lib:dir:target という + 組のリストです。 + lib が共有ライブラリの名前、 + dir が + そのライブラリが見つからない場合に + インストールされる port のディレクトリ、 + targetが + そのディレクトリで呼ばれるターゲットです。 + たとえば、 - LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg:install + LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg:install - と指定されていた場合, まずメジャーバージョンが 9 の jpeg 共有 - ライブラリがインストールされているかどうかを確認します. - インストールされていない場合には, ports ツリーの - graphics/jpeg サブディレクトリに移動し, - target のコンパイルとインストールを - 行ないます. - target の部分は, - それが DEPENDS_TARGET - (デフォルトでは install) と - 等しいときには省略することができます. + と指定されていた場合、まずメジャーバージョンが 9 の jpeg 共有 + ライブラリがインストールされているかどうかを確認します。 + インストールされていない場合には、ports ツリーの + graphics/jpeg サブディレクトリに移動し、 + target のコンパイルとインストールを + 行ないます。 + target の部分は、 + それが DEPENDS_TARGET + (デフォルトでは install) と + 等しいときには省略することができます。 - - 先頭の lib の部分は - ldconfig -r | grep -wF への - 引数になります. - この変数には正規表現を入れないようにしてください. - - + + 先頭の lib の部分は + ldconfig -r | grep -wF への + 引数になります。 + この変数には正規表現を入れないようにしてください。 + + - - この依存関係のチェックは, - extract ターゲットと - install ターゲットの中で, 2 回行なわれます. - (訳注: これは, その port をビルドするマシンと - インストールされるマシンが違う場合, どちらのマシンでも - そのライブラリが利用できることを確認するためです.) - 同様に, 依存するライブラリの名前は package 中にも書き込まれていて, - pkg_add 実行時に そのライブラリが - ユーザのシステムに存在していなければ, 自動的にインストールされます. - + + この依存関係のチェックは、 + extract ターゲットと + install ターゲットの中で、2 回行なわれます。 + (訳注: これは、その port をビルドするマシンと + インストールされるマシンが違う場合、どちらのマシンでも + そのライブラリが利用できることを確認するためです。) + 同様に、依存するライブラリの名前は package 中にも書き込まれていて、 + pkg_add 実行時に そのライブラリが + ユーザのシステムに存在していなければ、自動的にインストールされます。 + - <makevar>RUN_DEPENDS</makevar> + <makevar>RUN_DEPENDS</makevar> - この port の実行時に必要となるプログラム, - またはファイルがあるときにはこの変数で指定します. - これは path:dir:target という - 組のリストです. - path がファイルまたはプログラムの名前, - dir が それが見つからない場合に - インストールされる port のディレクトリ, - target が そのディレクトリで呼ばれる - ターゲットです. - path の最初の文字が - スラッシュ (/) の場合には - ファイルかディレクトリとみなし, 存在するかどうか - test -e を使ってチェックします. - そうでない場合には実行可能ファイルであると考えて, - そのプログラムがユーザのサーチパス上にあるかどうか - which -s を使って確認します. + この port の実行時に必要となるプログラム、 + またはファイルがあるときにはこの変数で指定します。 + これは path:dir:target という + 組のリストです。 + path がファイルまたはプログラムの名前、 + dir が それが見つからない場合に + インストールされる port のディレクトリ、 + target が そのディレクトリで呼ばれる + ターゲットです。 + path の最初の文字が + スラッシュ (/) の場合には + ファイルかディレクトリとみなし、存在するかどうか + test -e を使ってチェックします。 + そうでない場合には実行可能ファイルであると考えて、 + そのプログラムがユーザのサーチパス上にあるかどうか + which -s を使って確認します。 - たとえば Makefile に以下のように書いてあるとします. + たとえば Makefile に以下のように書いてあるとします。 - RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \ + RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \ wish8.0:${PORTSDIR}/x11-toolkits/tk80 - まず, /usr/local/etc/innd という - ファイルかディレクトリが存在するか確認します. - 存在しない場合には, ports ツリーの - news/inn というサブディレクトリで - ビルドとインストールを行ないます. - さらに, wish8.0 というプログラムが - ユーザのサーチパス中にあるかどうか探します. - ない場合には同じく ports ツリーの - x11-toolkits/tk80 というサブディレクトリで - コンパイルとインストールを行ないます. + まず、/usr/local/etc/innd という + ファイルかディレクトリが存在するか確認します。 + 存在しない場合には、ports ツリーの + news/inn というサブディレクトリで + ビルドとインストールを行ないます。 + さらに、wish8.0 というプログラムが + ユーザのサーチパス中にあるかどうか探します。 + ない場合には同じく ports ツリーの + x11-toolkits/tk80 というサブディレクトリで + コンパイルとインストールを行ないます。 - - この例で, innd は実際にはプログラムです. - このように, プログラムであっても一般ユーザのサーチパスに - 含まれているとは考えにくいところに置かれているものの場合には, - 絶対パスで指定してください. - + + この例で、innd は実際にはプログラムです。 + このように、プログラムであっても一般ユーザのサーチパスに + 含まれているとは考えにくいところに置かれているものの場合には、 + 絶対パスで指定してください。 + - この依存関係は install ターゲット中で - チェックされます. - また, pkg_add によるインストールの際に, - その package が依存するものがユーザのシステムに存在しない場合には - 自動的に追加インストールできるように, - 依存するものの名前も package 中に記録されます. - target の部分が - DEPENDS_TARGET と同じ場合には, - target の部分を省略することができます. - + この依存関係は install ターゲット中で + チェックされます。 + また、pkg_add によるインストールの際に、 + その package が依存するものがユーザのシステムに存在しない場合には + 自動的に追加インストールできるように、 + 依存するものの名前も package 中に記録されます。 + target の部分が + DEPENDS_TARGET と同じ場合には、 + target の部分を省略することができます。 + - <makevar>BUILD_DEPENDS</makevar> + <makevar>BUILD_DEPENDS</makevar> - この port のビルド時に必要となるプログラム, - またはファイルがあるときにはこの変数で指定します. - RUN_DEPENDS と同様に, - これは path:dir:target という - 組のリストです. - たとえば, + この port のビルド時に必要となるプログラム、 + またはファイルがあるときにはこの変数で指定します。 + RUN_DEPENDS と同様に、 + これは path:dir:target という + 組のリストです。 + たとえば、 - BUILD_DEPENDS=unzip:${PORTSDIR}/archivers/unzip + BUILD_DEPENDS=unzip:${PORTSDIR}/archivers/unzip - と指定されていた場合, まず unzip という名前の - プログラムがインストールされているかどうかを確認します. - インストールされていない場合には ports ツリーの - archivers/unzip サブディレクトリに移動し, - ビルドとインストールを行ないます. + と指定されていた場合、まず unzip という名前の + プログラムがインストールされているかどうかを確認します。 + インストールされていない場合には ports ツリーの + archivers/unzip サブディレクトリに移動し、 + ビルドとインストールを行ないます。 - - ここで言うビルドとは, ファイルの展開から - コンパイルまでのすべての処理を意味します. - この依存関係は, extract ターゲットの中で - チェックされます. - target の部分は, - DEPENDS_TARGET と同じ場合には - 省略することができます. - + + ここで言うビルドとは、ファイルの展開から + コンパイルまでのすべての処理を意味します。 + この依存関係は、extract ターゲットの中で + チェックされます。 + target の部分は、 + DEPENDS_TARGET と同じ場合には + 省略することができます。 + - <makevar>FETCH_DEPENDS</makevar> + <makevar>FETCH_DEPENDS</makevar> - この port を取ってくるのに必要となるプログラム, - またはファイルがあるときにはこの変数で指定します. - 上の二つと同様に, これは path:dir:target という - 組のリストです. たとえば, + この port を取ってくるのに必要となるプログラム、 + またはファイルがあるときにはこの変数で指定します。 + 上の二つと同様に、これは path:dir:target という + 組のリストです。たとえば、 - FETCH_DEPENDS=ncftp2:${PORTSDIR}/net/ncftp2 + FETCH_DEPENDS=ncftp2:${PORTSDIR}/net/ncftp2 - と指定されていれば, ncftp2 という名前の - プログラムを探します. - 見つからない場合には, ports ツリーの - net/ncftp2 サブディレクトリで - ビルドとインストールを行ないます. + と指定されていれば、ncftp2 という名前の + プログラムを探します。 + 見つからない場合には、ports ツリーの + net/ncftp2 サブディレクトリで + ビルドとインストールを行ないます。 - この依存関係は fetch ターゲット中で - チェックされます. - target の部分は, - DEPENDS_TARGET と同じ場合には - 省略することができます. + この依存関係は fetch ターゲット中で + チェックされます。 + target の部分は、 + DEPENDS_TARGET と同じ場合には + 省略することができます。 - <makevar>DEPENDS</makevar> + <makevar>DEPENDS</makevar> - 上記の四つのいずれにもあてはまらないような依存関係がある場合, - または他の port がインストールされているだけではなく - ソースが展開されている必要がある場合には, この変数を使います. - これは上記の四つと違い, 特に確認するものが - ありませんので, - dir:target - という形式のリストになります. - target の部分は - DEPENDS_TARGET と同じ場合には - 省略することができます. + 上記の四つのいずれにもあてはまらないような依存関係がある場合、 + または他の port がインストールされているだけではなく + ソースが展開されている必要がある場合には、この変数を使います。 + これは上記の四つと違い、特に確認するものが + ありませんので、 + dir:target + という形式のリストになります。 + target の部分は + DEPENDS_TARGET と同じ場合には + 省略することができます。 - よくある依存関係を表す変数 + よくある依存関係を表す変数 - その ports が X Window System を必要とするのであれば, - USE_XLIB=yes を定義してください - (これは USE_IMAKE が定義されていれば - 自動的に定義されます). - BSD make ではなく - GNU make を必要とする場合には - USE_GMAKE=yes を, - GNU autoconf を実行する必要がある場合には - USE_AUTOCONF=yes を, - 最新の qt toolkit を使用する場合には - USE_QT=yes を, - perl 言語のバージョン 5 を必要とする場合には - USE_PERL5=yes を定義してください - (特に最後のものは重要です. - FreeBSD のバージョンにより, 基本システムに perl5 が - 含まれていたり, いなかったりします). + その ports が X Window System を必要とするのであれば、 + USE_XLIB=yes を定義してください + (これは USE_IMAKE が定義されていれば + 自動的に定義されます)。 + BSD make ではなく + GNU make を必要とする場合には + USE_GMAKE=yes を、 + GNU autoconf を実行する必要がある場合には + USE_AUTOCONF=yes を、 + 最新の qt toolkit を使用する場合には + USE_QT=yes を、 + perl 言語のバージョン 5 を必要とする場合には + USE_PERL5=yes を定義してください + (特に最後のものは重要です。 + FreeBSD のバージョンにより、基本システムに perl5 が + 含まれていたり、いなかったりします)。 - 依存関係に関する注意 + 依存関係に関する注意 - 上で述べたように, 依存する ports が必要になったときに - 呼ばれるデフォルトのターゲットは - DEPENDS_TARGET で, - そのデフォルトは install です. - これはユーザが使用する変数であり, - port の Makefile で定義するものではありません. - もし, その port が特別な方法で依存関係を扱う必要がある場合には, - DEPENDS_TARGET を再定義するのではなく - *_DEPENDS 変数の - :target 部分を使用してください. + 上で述べたように、依存する ports が必要になったときに + 呼ばれるデフォルトのターゲットは + DEPENDS_TARGET で、 + そのデフォルトは install です。 + これはユーザが使用する変数であり、 + port の Makefile で定義するものではありません。 + もし、その port が特別な方法で依存関係を扱う必要がある場合には、 + DEPENDS_TARGET を再定義するのではなく + *_DEPENDS 変数の + :target 部分を使用してください。 - make clean と入力したときには, - その port が依存する port も自動的に clean されます. - そうならないようにしたい場合には, - 環境変数 NOCLEANDEPENDS を設定してください. + make clean と入力したときには、 + その port が依存する port も自動的に clean されます。 + そうならないようにしたい場合には、 + 環境変数 NOCLEANDEPENDS を設定してください。 - 無条件に他の port に依存させるには, - BUILD_DEPENDS や - RUN_DEPENDS の最初のフィールドに - ${NONEXISTENT} という変数を指定してください. - これは, 他の port のソースが必要なときのみ使用してください. - ターゲットも指定することで, - コンパイルの時間を節約できる場合もあります. - たとえば + 無条件に他の port に依存させるには、 + BUILD_DEPENDS や + RUN_DEPENDS の最初のフィールドに + ${NONEXISTENT} という変数を指定してください。 + これは、他の port のソースが必要なときのみ使用してください。 + ターゲットも指定することで、 + コンパイルの時間を節約できる場合もあります。 + たとえば - BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract + BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract - とすると, 常に JPEG port のディレクトリに行って - ソースの展開を行ないます. + とすると、常に JPEG port のディレクトリに行って + ソースの展開を行ないます。 - あなたがやりたいことが他の方法ではできない場合以外には - DEPENDS を使わないでください. - これは常に他の port の作成を行ない (さらにデフォルトでは - インストールも行ない), package まで作成します. - この動作が本当に所望のものでしたら, - それを BUILD_DEPENDS と - RUN_DEPENDS に書くべきでしょう - — 少なくとも意図を明確にすることができます. + あなたがやりたいことが他の方法ではできない場合以外には + DEPENDS を使わないでください。 + これは常に他の port の作成を行ない (さらにデフォルトでは + インストールも行ない)、package まで作成します。 + この動作が本当に所望のものでしたら、 + それを BUILD_DEPENDS と + RUN_DEPENDS に書くべきでしょう + — 少なくとも意図を明確にすることができます。 オプション選択可能な依存ライブラリ - 巨大なアプリケーションの中には, 複数のコンフィギュレーションで - ビルドすることができるものがあります. - つまり, いくつもの外部ライブラリやアプリケーションの中の, - あるものが利用可能な場合に, それを拡張機能として使用するように - 設定することができるということです. - それらのライブラリやアプリケーションを, 必ずしも すべてのユーザが - 必要としているわけではありませんので, ports システムでは - どのコンフィギュレーションがビルドされるべきかを port 作者が - 決めるために使えるフックを用意しています. - これらを適切にサポートすることにより, ユーザをハッピーにしたり, - port 1 つ分のコストで 2 つまたはそれ以上の port を提供するのと - 同様の効率化を行なうことが可能です. + 巨大なアプリケーションの中には、複数のコンフィギュレーションで + ビルドすることができるものがあります。 + つまり、いくつもの外部ライブラリやアプリケーションの中の、 + あるものが利用可能な場合に、それを拡張機能として使用するように + 設定することができるということです。 + それらのライブラリやアプリケーションを、必ずしも すべてのユーザが + 必要としているわけではありませんので、ports システムでは + どのコンフィギュレーションがビルドされるべきかを port 作者が + 決めるために使えるフックを用意しています。 + これらを適切にサポートすることにより、ユーザをハッピーにしたり、 + port 1 つ分のコストで 2 つまたはそれ以上の port を提供するのと + 同様の効率化を行なうことが可能です。 これらのフックのうちで最も簡単に使えるものは - WITHOUT_X11 でしょう. - その port が X Window System のサポートありと, - サポートなしの設定でビルドできるのであれば, - 通常は X Window System サポートありでビルドするべきでしょう. - ビルド時に WITHOUT_X11 が定義されていれば, - その時は X Window System サポートなしのバージョンが - ビルドされるべきです. + WITHOUT_X11 でしょう。 + その port が X Window System のサポートありと、 + サポートなしの設定でビルドできるのであれば、 + 通常は X Window System サポートありでビルドするべきでしょう。 + ビルド時に WITHOUT_X11 が定義されていれば、 + その時は X Window System サポートなしのバージョンが + ビルドされるべきです。 - GNOME 環境の様々なパーツも, そのようなノブ (フック) を - 持っていますが, それらは幾分使いにくいものです. - Makefile 中で その目的に使用される変数は - WANT_*HAVE_* になります. - そのアプリケーションが, 以下に示されている依存ライブラリの - 一つについて, サポートあり, なしの両方でビルドできる場合, - Makefile には WANT_PKG を - セットする必要があります. - そして, ビルド時に HAVE_PKG が定義されていれば - PKG を使うバージョンがビルドされることになります. + GNOME 環境の様々なパーツも、そのようなノブ (フック) を + 持っていますが、それらは幾分使いにくいものです。 + Makefile 中で その目的に使用される変数は + WANT_*HAVE_* になります。 + そのアプリケーションが、以下に示されている依存ライブラリの + 一つについて、サポートあり、なしの両方でビルドできる場合、 + Makefile には WANT_PKG を + セットする必要があります。 + そして、ビルド時に HAVE_PKG が定義されていれば + PKG を使うバージョンがビルドされることになります。 - 現在, このような形でサポートされている - WANT_* 変数は, - WANT_GLIB, WANT_GTK, - WANT_ESOUND, WANT_IMLIB, - そして WANT_GNOME です. + 現在、このような形でサポートされている + WANT_* 変数は、 + WANT_GLIB, WANT_GTK, + WANT_ESOUND, WANT_IMLIB, + そして WANT_GNOME です。 ビルドのメカニズム そのソフトウェアがビルドの際に GNU make を - 使う場合には, USE_GMAKE=yes をセットしてください. - configure を使う場合には, - HAS_CONFIGURE=yes をセットしてください. - GNU configure を使う場合には, - GNU_CONFIGURE=yes をセットしてください (これにより - HAS_CONFIGURE もセットされます). - configure に追加の引数を渡したい場合には, - 追加部分を CONFIGURE_ARGS に指定してください. - (デフォルトの引数リストは, GNU configure では - --prefix=${PREFIX} に, - GNU でない configure では空リストになります.) - GNU autoconf を使う場合には, - USE_AUTOCONF=yes をセットしてください. - これにより GNU_CONFIGURE もセットされ, - configure を実行する前に - autoconf が実行されます. + 使う場合には、USE_GMAKE=yes をセットしてください。 + configure を使う場合には、 + HAS_CONFIGURE=yes をセットしてください。 + GNU configure を使う場合には、 + GNU_CONFIGURE=yes をセットしてください (これにより + HAS_CONFIGURE もセットされます)。 + configure に追加の引数を渡したい場合には、 + 追加部分を CONFIGURE_ARGS に指定してください。 + (デフォルトの引数リストは、GNU configure では + --prefix=${PREFIX} に、 + GNU でない configure では空リストになります。) + GNU autoconf を使う場合には、 + USE_AUTOCONF=yes をセットしてください。 + これにより GNU_CONFIGURE もセットされ、 + configure を実行する前に + autoconf が実行されます。 - そのソフトウェアが X Window System のアプリケーションなどで, - imake を使って Imakefile から - Makefile を作成する場合には, - USE_IMAKE=yes を指定してください. - そうするとコンフィグレーションステージで自動的に - xmkmf -a が実行されます. - もし フラグが問題を引き起こすなら, - さらに XMKMF=xmkmf をセットしてください. - もし, その port が imake を使用するけれども - install.man ターゲットを持たない場合には, - NO_INSTALL_MANPAGES=yes をセットしてください. - ついでに, そのソフトウェアの作者を探し出して八つ裂きにすると - いいでしょう. - (-_-#) + そのソフトウェアが X Window System のアプリケーションなどで、 + imake を使って Imakefile から + Makefile を作成する場合には、 + USE_IMAKE=yes を指定してください。 + そうするとコンフィグレーションステージで自動的に + xmkmf -a が実行されます。 + もし フラグが問題を引き起こすなら、 + さらに XMKMF=xmkmf をセットしてください。 + もし、その port が imake を使用するけれども + install.man ターゲットを持たない場合には、 + NO_INSTALL_MANPAGES=yes をセットしてください。 + ついでに、そのソフトウェアの作者を探し出して八つ裂きにすると + いいでしょう。 + (-_-#) そのソフトウェアの元々の Makefile が - all 以外のものをメインのターゲットと - している場合には, それを ALL_TARGET に - 指定してください. - install と - INSTALL_TARGET も同様です. + all 以外のものをメインのターゲットと + している場合には、それを ALL_TARGET に + 指定してください。 + install と + INSTALL_TARGET も同様です。 特別な配慮 - port を作成する場合, 考慮しなくてはいけないことが - 他にもいくつかあります. - このセクションでは, それらのうちでも - 特によくあることについて説明します. + port を作成する場合、考慮しなくてはいけないことが + 他にもいくつかあります。 + このセクションでは、それらのうちでも + 特によくあることについて説明します。 共有ライブラリ - その port が共有ライブラリのインストールを行なう場合, - make 変数 INSTALLS_SHLIB を定義してください. - これにより, bsd.port.mk が - post-install ターゲットの実行時に - 新しいライブラリがインストールされたディレクトリ (通常は - PREFIX/lib) に - ${LDCONFIG} -m を実行し, - 共有ライブラリキャッシュへの登録が行なわれるようになります. - また, この変数が定義されている場合, 共有ライブラリを - インストールしたユーザが それをすぐに使い始められるように, - また, 削除の際には そのライブラリが まだ存在していると - システムに誤認されないように, - 適切な @exec /sbin/ldconfig -m と - @unexec /sbin/ldconfig -R のペアが - pkg-plist ファイルに - 指定されているように扱われます. + その port が共有ライブラリのインストールを行なう場合、 + make 変数 INSTALLS_SHLIB を定義してください。 + これにより、bsd.port.mk が + post-install ターゲットの実行時に + 新しいライブラリがインストールされたディレクトリ (通常は + PREFIX/lib) に + ${LDCONFIG} -m を実行し、 + 共有ライブラリキャッシュへの登録が行なわれるようになります。 + また、この変数が定義されている場合、共有ライブラリを + インストールしたユーザが それをすぐに使い始められるように、 + また、削除の際には そのライブラリが まだ存在していると + システムに誤認されないように、 + 適切な @exec /sbin/ldconfig -m と + @unexec /sbin/ldconfig -R のペアが + pkg-plist ファイルに + 指定されているように扱われます。 - 必要であれば, 共有ライブラリがインストールされるディレクトリの - リストを格納する make 変数 LDCONFIG_DIRS を - 定義することにより, 新しいライブラリがインストールされる - デフォルトの位置を上書きすることも可能です. - 例えば, その port が共有ライブラリを - PREFIX/lib/foo と - PREFIX/lib/bar に - インストールする場合, Makefile で - 以下の記述を使用することができます: + 必要であれば、共有ライブラリがインストールされるディレクトリの + リストを格納する make 変数 LDCONFIG_DIRS を + 定義することにより、新しいライブラリがインストールされる + デフォルトの位置を上書きすることも可能です。 + 例えば、その port が共有ライブラリを + PREFIX/lib/foo と + PREFIX/lib/bar に + インストールする場合、Makefile で + 以下の記述を使用することができます: INSTALLS_SHLIB= yes LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar - pkg-plist の他の部分と同様に, - LDCONFIG_DIRS の内容も &man.sed.1; による - 処理が行なわれるため, ここでも PLIST_SUB に - 指定した置換が行なわれることに注意してください. - PREFIX には %%PREFIX%% を, - LOCALBASE には %%LOCALBASE%%, - X11BASE には %%X11BASE%% を - 使用することを推奨します. + pkg-plist の他の部分と同様に、 + LDCONFIG_DIRS の内容も &man.sed.1; による + 処理が行なわれるため、ここでも PLIST_SUB に + 指定した置換が行なわれることに注意してください。 + PREFIX には %%PREFIX%% を、 + LOCALBASE には %%LOCALBASE%%, + X11BASE には %%X11BASE%% を + 使用することを推奨します。 @@ -1555,56 +1555,56 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar ELF 対応 - FreeBSD は 3.0-RELEASE で ELF に移行しましたので, + FreeBSD は 3.0-RELEASE で ELF に移行しましたので、 共有ライブラリを作成するたくさんの port を - ELF 対応にする必要があります. - 3.0 システムは ELF としても a.out としても動作しますし, - わたしたちは非公式ではありますが, + ELF 対応にする必要があります。 + 3.0 システムは ELF としても a.out としても動作しますし、 + わたしたちは非公式ではありますが、 できるだけ長い間 2.2 - システムのサポートをしたいと思っていますので状況は複雑です. + システムのサポートをしたいと思っていますので状況は複雑です。 以下は a.out のみに対応している port - をどのように a.out と ELF 両方に対応させるかのガイドラインです. + をどのように a.out と ELF 両方に対応させるかのガイドラインです。 - このリストの一部は移行時にしかあてはまらないものもありますが, - 古い port をアップグレードしたい場合に参考になるようにしばらくのあいだは残しておきます. + このリストの一部は移行時にしかあてはまらないものもありますが、 + 古い port をアップグレードしたい場合に参考になるようにしばらくのあいだは残しておきます。 a.out ライブラリの退避 すべての a.out ライブラリは - /usr/local/lib から - aout サブディレクトリに移動しなくはなりません - (もし移動しないと, ELF ports - がそれらをあっさり上書きしてしまいます). - 3.0-CURRENT の src/Makefile にある - move-aout-libs ターゲット - (aout-to-elf から呼ばれます) - がその移動をしてくれます. - a.out ライブラリを移動するだけなので, - ELF と a.out の両方のライブラリが標準的なディレクトリにあるシステムでは, - このターゲットを実行しても安全です. + /usr/local/lib から + aout サブディレクトリに移動しなくはなりません + (もし移動しないと、ELF ports + がそれらをあっさり上書きしてしまいます)。 + 3.0-CURRENT の src/Makefile にある + move-aout-libs ターゲット + (aout-to-elf から呼ばれます) + がその移動をしてくれます。 + a.out ライブラリを移動するだけなので、 + ELF と a.out の両方のライブラリが標準的なディレクトリにあるシステムでは、 + このターゲットを実行しても安全です。 フォーマット - ports ツリーは, そのマシンの (訳注: オブジェクト) フォーマットで - package を作成します. - つまり, 2.2 のマシンでは a.out で作成され, - 3.0 のマシンでは `objformat` の結果によって - a.out か ELF で作成されるということです. - また, いったん a.out ライブラリをサブディレクトリに移動すると - a.out ライブラリの作成はサポート外となります. - (つまり, 自分が何をやっているのかを理解していれば, 移動後にも - うまく作成できる可能性もあるけれど, 自力でやらなければならない - ということです.) + ports ツリーは、そのマシンの (訳注: オブジェクト) フォーマットで + package を作成します。 + つまり、2.2 のマシンでは a.out で作成され、 + 3.0 のマシンでは `objformat` の結果によって + a.out か ELF で作成されるということです。 + また、いったん a.out ライブラリをサブディレクトリに移動すると + a.out ライブラリの作成はサポート外となります。 + (つまり、自分が何をやっているのかを理解していれば、移動後にも + うまく作成できる可能性もあるけれど、自力でやらなければならない + ということです。) - もし port が a.out でしか動作しないのなら, - BROKEN_ELF - に原因を説明する文字列を設定してください. - この変数が設定された port は, ELF - システム上でのビルドの際スキップされます. + もし port が a.out でしか動作しないのなら、 + BROKEN_ELF + に原因を説明する文字列を設定してください。 + この変数が設定された port は、ELF + システム上でのビルドの際スキップされます。 @@ -1612,124 +1612,124 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar PORTOBJFORMAT bsd.port.mk において - PORTOBJFORMAT は - aout か - elf に設定され, 環境変数 - CONFIGURE_ENV, - SCRIPTS_ENV, - MAKE_ENV の中で export されます - (2.2-STABLE - では常に aout になります). - また, - PORTOBJFORMAT=${PORTOBJFORMAT} として - PLIST_SUB に渡されます - (以下にある - ldconfig - に関するコメントを参照してください). + PORTOBJFORMAT は + aout か + elf に設定され、環境変数 + CONFIGURE_ENV, + SCRIPTS_ENV, + MAKE_ENV の中で export されます + (2.2-STABLE + では常に aout になります)。 + また、 + PORTOBJFORMAT=${PORTOBJFORMAT} として + PLIST_SUB に渡されます + (以下にある + ldconfig + に関するコメントを参照してください)。 - この変数は, 以下のようにして - bsd.port.mk 中で設定されます. + この変数は、以下のようにして + bsd.port.mk 中で設定されます。 PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout - この変数を使って, port の make - の過程で何をすべきかを決定すべきですが, - もし port の configure スクリプトが元々 - ELF システムを自動的に検出するのであれば, - PORTOBJFORMAT - を参照する必要はありません. + この変数を使って、port の make + の過程で何をすべきかを決定すべきですが、 + もし port の configure スクリプトが元々 + ELF システムを自動的に検出するのであれば、 + PORTOBJFORMAT + を参照する必要はありません。 共有ライブラリの作成 - 以下は, a.out と ELF - での共有ライブラリの扱いの違いです. + 以下は、a.out と ELF + での共有ライブラリの扱いの違いです。 - - 共有ライブラリのバージョン + + 共有ライブラリのバージョン - ELF の共有ライブラリは - libfoo.so.M - という名前になっていなければなりません. - ここで M - は単一のバージョン番号を表します. - 一方 a.out のライブラリは - libfoo.so.M.N - という名前で, - M はメジャーバージョン番号, - N - はマイナーバージョン番号になっている必要があります. - これらを混同しないでください. - libfoo.so.N.M - という名の ELF 共有ライブラリや - libfoo.so.N - という名の a.out 共有ライブラリ - (あるいはシンボリックリンク) - は絶対にインストールしないでください. - + ELF の共有ライブラリは + libfoo.so.M + という名前になっていなければなりません。 + ここで M + は単一のバージョン番号を表します。 + 一方 a.out のライブラリは + libfoo.so.M.N + という名前で、 + M はメジャーバージョン番号、 + N + はマイナーバージョン番号になっている必要があります。 + これらを混同しないでください。 + libfoo.so.N.M + という名の ELF 共有ライブラリや + libfoo.so.N + という名の a.out 共有ライブラリ + (あるいはシンボリックリンク) + は絶対にインストールしないでください + - - リンカコマンドライン + + リンカコマンドライン - 直接 ld を使用せずに - cc -shared を使用してください. - たった一つの違いは, ELF には, - - コマンドラインにを加える必要があることです. - < ! - - kuriyama - strange Japanese representation - - > - + 直接 ld を使用せずに + cc -shared を使用してください。 + たった一つの違いは、ELF には、 + + コマンドラインにを加える必要があることです。 + < ! - - kuriyama - strange Japanese representation - - > + - ELF のリンカを満足させるためには, - libfoo.so から - libfoo.so.N - へのシンボリックリンクを作る必要があります. - これは pkg-plist にも加えなくてはいけませんし, - a.out の場合でも害にはならないので - (一部の port - ではダイナミックリンクローディングのために必要でもあります), - PORTOBJFORMAT - の設定を気にせずに, ただ単純にリンクを作成してください. + ELF のリンカを満足させるためには、 + libfoo.so から + libfoo.so.N + へのシンボリックリンクを作る必要があります。 + これは pkg-plist にも加えなくてはいけませんし、 + a.out の場合でも害にはならないので + (一部の port + ではダイナミックリンクローディングのために必要でもあります)、 + PORTOBJFORMAT + の設定を気にせずに、ただ単純にリンクを作成してください。 <makevar>LIB_DEPENDS</makevar> すべての port の Makefile を編集して - LIB_DEPENDS - からマイナー番号を除去する必要があり, - 正規表現のサポートも除去する必要があります - (たとえば, - foo\\.1\\.\\(33|40\\) から - foo.2). - マッチングは grep -wF - を使って行なわれます. + LIB_DEPENDS + からマイナー番号を除去する必要があり、 + 正規表現のサポートも除去する必要があります + (たとえば、 + foo\\.1\\.\\(33|40\\) から + foo.2). + マッチングは grep -wF + を使って行なわれます。 <filename>pkg-plist</filename> pkg-plist は - a.out のマイナー番号が 0 であれば短い - (ELFの) 共有ライブラリの名前を含み, - そうでなければ長い (a.out の) 名前を含んでいる必要があります. - PORTOBJFORMAT が - aout であれば, - bsd.port.mk は自動的に - .0 を短い共有ライブラリの名前の行に付け加え, - PORTOBJFORMATelf - であれば, - マイナー番号を長い共有ライブラリの名前から削除します. + a.out のマイナー番号が 0 であれば短い + (ELFの) 共有ライブラリの名前を含み、 + そうでなければ長い (a.out の) 名前を含んでいる必要があります。 + PORTOBJFORMAT が + aout であれば、 + bsd.port.mk は自動的に + .0 を短い共有ライブラリの名前の行に付け加え、 + PORTOBJFORMATelf + であれば、 + マイナー番号を長い共有ライブラリの名前から削除します。 - ELF システムで二つのバージョン番号を持つ共有ライブラリをインストールしたり, - a.out システムで一つのバージョン番号しか持たない共有ライブラリをインストールするのが避けられない場合 - (たとえば他のオペレーティングシステム用の互換ライブラリをインストールする port など), - NO_FILTER_SHLIBS - 変数を定義すれば前のセクションで説明されている - pkg-plist - 編集の機能が停止されます. + ELF システムで二つのバージョン番号を持つ共有ライブラリをインストールしたり、 + a.out システムで一つのバージョン番号しか持たない共有ライブラリをインストールするのが避けられない場合 + (たとえば他のオペレーティングシステム用の互換ライブラリをインストールする port など)、 + NO_FILTER_SHLIBS + 変数を定義すれば前のセクションで説明されている + pkg-plist + 編集の機能が停止されます。 @@ -1737,21 +1737,21 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar < ! - - kuriyama - Eng. why literal? - - > Makefile 中の - ldconfig - の行は以下のようになります. + ldconfig + の行は以下のようになります。 ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m .... - また pkg-plist 中では, + また pkg-plist 中では、 @exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... @unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R - となります. これは, - システムのデフォルトフォーマットではなく package のフォーマットに応じて, - 正しい - ldconfig - が呼ばれることを保証するためのものです. + となります。これは、 + システムのデフォルトフォーマットではなく package のフォーマットに応じて、 + 正しい + ldconfig + が呼ばれることを保証するためのものです。 @@ -1761,20 +1761,20 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar <makevar>MASTERDIR</makevar> その port の変数 (たとえば解像度とか紙のサイズなど) を - 変えたりした, 少しだけ違うバージョンを作成する必要があるときには, - ユーザが分りやすいように package ごとに別々のサブディレクトリを作成し, - できるだけ port 間でファイルを共有するようにしてください. - ほとんどの場合, うまく変数を使えば, 一つを除くすべてのディレクトリには - とても短い Makefile を置くだけで済みます. - その短い Makefile では, - MASTERDIR を使って, - 残りのファイルがあるディレクトリを指定できます. - また, Makefile を置くだけで済みます。 + その短い Makefile では、 + MASTERDIR を使って、 + 残りのファイルがあるディレクトリを指定できます。 + また、PKGNAMESUFFIX の - 一部に変数に使って, package が別々の名前を持つようにしてください. + 一部に変数に使って、package が別々の名前を持つようにしてください。 - 具体的な例を示すのが一番わかりやすいでしょう. - これは japanese/xdvi300/Makefile の一部です. + 具体的な例を示すのが一番わかりやすいでしょう。 + これは japanese/xdvi300/Makefile の一部です。 PORTNAME= xdvi PORTVERSION= 17 @@ -1791,13 +1791,13 @@ RESOLUTION?= 300 .endif japanese/xdvi300 には - Makefile の他に通常のパッチや, - package ファイル等が置かれています. - このディレクトリで make を実行すると, - デフォルトの解像度 (300) を使って, - 普通に port のビルドを行ないます. + Makefile の他に通常のパッチや、 + package ファイル等が置かれています。 + このディレクトリで make を実行すると、 + デフォルトの解像度 (300) を使って、 + 普通に port のビルドを行ないます。 - 他の解像度に関していうと, + 他の解像度に関していうと、 xdvi118/Makefile に 必要なのはこれだけです: @@ -1807,57 +1807,57 @@ MASTERDIR= ${.CURDIR}/../xdvi300 .include ${MASTERDIR}/Makefile (xdvi240/Makefile や - xdvi400/Makefile も同様のものになります). - bsd.port.mk は, + xdvi400/Makefile も同様のものになります)。 + bsd.port.mk は、 MASTERDIR の定義から FILESDIRSCRIPTDIR 等の 通常のサブディレクトリが xdvi300 以下に - 存在することを理解します. - RESOLUTION=118 の行が, + 存在することを理解します。 + RESOLUTION=118 の行が、 xdvi300/Makefile の - RESOLUTION=300 の行を上書きし, - port は解像度を 118 として作成されます. + RESOLUTION=300 の行を上書きし、 + port は解像度を 118 として作成されます。 共有ライブラリのバージョン まず - 共有ライブラリのバージョンについての指針を読んで, 一般的に - 共有ライブラリのバージョンをどうすれば良いかを理解してください. - ソフトウェアの作者は自分がしていることを理解していると, - 盲目的に信じていてはいけません. 多くの場合は理解していないのです. - 細部にわたって注意深く考慮することは大変重要です. - なぜなら我々は, 互換性がないかもしれない大量のソフトウェアを - 共存させようとする特殊な状況にあるからです. - むかし, 不注意な port の導入が共有ライブラリに関する重大な問題を + 共有ライブラリのバージョンについての指針を読んで、一般的に + 共有ライブラリのバージョンをどうすれば良いかを理解してください。 + ソフトウェアの作者は自分がしていることを理解していると、 + 盲目的に信じていてはいけません。多くの場合は理解していないのです。 + 細部にわたって注意深く考慮することは大変重要です。 + なぜなら我々は、互換性がないかもしれない大量のソフトウェアを + 共存させようとする特殊な状況にあるからです。 + むかし、不注意な port の導入が共有ライブラリに関する重大な問題を 引き起してしまったことがあります (なぜ jpeg-6b の - 共有ライブラリのバージョン番号が 9 なのか, 今まで不思議に思ったことは - ありませんか?). - もし疑問があれば, &a.ports; にメールを送ってください. - ほとんどの時間は正しい共有ライブラリのバージョンを決めることと, - それを実現するためのパッチを作成することに終始します. + 共有ライブラリのバージョン番号が 9 なのか、今まで不思議に思ったことは + ありませんか?)。 + もし疑問があれば、&a.ports; にメールを送ってください。 + ほとんどの時間は正しい共有ライブラリのバージョンを決めることと、 + それを実現するためのパッチを作成することに終始します。 @@ -1866,62 +1866,62 @@ MASTERDIR= ${.CURDIR}/../xdvi300 マニュアルページ MAN[1-9LN] 変数に指定したマニュアルは - 自動的に pkg-plist に追加されます (つまり, + 自動的に pkg-plist に追加されます (つまり、 マニュアルを pkg-plist に加えては いけませんpkg-plist の生成を参照してください). - また, /etc/make.conf 中の - NOMANCOMPRESS の設定に従って, インストール時に - マニュアルを自動的に圧縮したり復元したりします. + linkend="porting-plist">pkg-plist の生成を参照してください)。 + また、/etc/make.conf 中の + NOMANCOMPRESS の設定に従って、インストール時に + マニュアルを自動的に圧縮したり復元したりします。 - その port が, シンボリックリンクやハードリンクを用いて, - 複数のファイル名を持つマニュアルをインストールする場合には, + その port が、シンボリックリンクやハードリンクを用いて、 + 複数のファイル名を持つマニュアルをインストールする場合には、 それらを識別するために MLINKS 変数を - 使用しなければなりません. - port によってインストールされたリンクは, 意図したファイルを - きちんと指しているかどうか確認するため, + 使用しなければなりません。 + port によってインストールされたリンクは、意図したファイルを + きちんと指しているかどうか確認するため、 bsd.port.mk によって - 削除されたり, 再作成されたりします. - MLINKS に指定されたマニュアルも, pkg-plist に - 含めてはいけません. + 削除されたり、再作成されたりします。 + MLINKS に指定されたマニュアルも、pkg-plist に + 含めてはいけません。 マニュアルをインストール時に圧縮するかどうかを - 指定するには, MANCOMPRESSED 変数を使用します. + 指定するには、MANCOMPRESSED 変数を使用します。 この変数は yes, no そして - maybe の三つの値をとることができます, + maybe の三つの値をとることができます、 yes はマニュアルが既に圧縮されてインストール - されていること, no は圧縮されていないこと, + されていること、no は圧縮されていないこと、 maybe は既にそのソフトウェアが - NOMANCOMPRESS の値に従っていて, + NOMANCOMPRESS の値に従っていて、 bsd.port.mk は - 特別なにもする必要がないことを意味します. + 特別なにもする必要がないことを意味します。 - USE_IMAKE がセットされていて, - NO_INSTALL_MANPAGES がセットされていなければ, + USE_IMAKE がセットされていて、 + NO_INSTALL_MANPAGES がセットされていなければ、 MANCOMPRESSED は自動的に yes に - 設定されます. - それ以外の場合には, MANCOMPRESSED は - no に設定されます. - その port にとって, デフォルトの設定が適切でない場合以外には, - 明示的に設定する必要はありません. + 設定されます。 + それ以外の場合には、MANCOMPRESSED は + no に設定されます。 + その port にとって、デフォルトの設定が適切でない場合以外には、 + 明示的に設定する必要はありません。 PREFIX 以外のディレクトリの下に - マニュアルを置くような port では, そのディレクトリを - MANPREFIX で指定することができます. - さらに, いくつかの Perl モジュールの ports のように, + マニュアルを置くような port では、そのディレクトリを + MANPREFIX で指定することができます。 + さらに、いくつかの Perl モジュールの ports のように、 特定のセクションのマニュアルだけを非標準の場所に - インストールする場合, 個々のマニュアルのパスを + インストールする場合、個々のマニュアルのパスを MANsectPREFIX (ここで sect1-9, L, または N のいずれか) により - 指定することができます. + 指定することができます。 - マニュアルが言語特有のサブディレクトリに置かれる場合には, - その言語名を MANLANG に設定してください. + マニュアルが言語特有のサブディレクトリに置かれる場合には、 + その言語名を MANLANG に設定してください。 この変数のデフォルト値は "" に - なっています (つまり, 英語のみ). + なっています (つまり、英語のみ)。 - これは, 全部をまとめた例です. + これは、全部をまとめた例です。 MAN1= foo.1 MAN3= bar.3 @@ -1931,8 +1931,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 @@ -1943,9 +1943,9 @@ ${PREFIX}/man/ja/man4/baz.4.gz さらに ${PREFIX}/man/man8/alt-name.8.gz が - この port によってインストールされるかどうかわかりませんが, + この port によってインストールされるかどうかわかりませんが、 それとは無関係に foo(1) と alt-name(8) のマニュアルページを指す - シンボリックリンクが作成されます. + シンボリックリンクが作成されます。 @@ -1953,76 +1953,76 @@ ${PREFIX}/man/ja/man4/baz.4.gz コンパイルに Motif ライブラリを必要とするアプリケーションが いくつかあります (Motif 自体は有料のものがいくつかの会社から - 手に入りますし, x11-toolkits/lesstif には + 手に入りますし、x11-toolkits/lesstif には 多くのアプリケーションを動作させることが可能な - 無料の互換ライブラリもあります). - Motif は広く使われているツールキットですし, 有料のもののライセンスでも + 無料の互換ライブラリもあります)。 + Motif は広く使われているツールキットですし、有料のもののライセンスでも ライブラリを静的にリンクした実行形式の再配布が認められている場合が - 多いので, Motif を必要とするソフトウェアを簡単に - (port からコンパイルする人々のために) 動的にでも, + 多いので、Motif を必要とするソフトウェアを簡単に + (port からコンパイルする人々のために) 動的にでも、 (package を配布する人々のために) 静的にでも - リンクできるような仕組みが用意されています. + リンクできるような仕組みが用意されています。 <makevar>REQUIRES_MOTIF</makevar> Motif が無いとコンパイルできない port の - Makefile では, この変数を指定してください. - これにより, Motif を持っていない人が - この port をコンパイルしようとするのを未然に防ぎます. + Makefile では、この変数を指定してください。 + これにより、Motif を持っていない人が + この port をコンパイルしようとするのを未然に防ぎます。 <makevar>MOTIFLIB</makevar> この変数は bsd.port.mk によって - Motif ライブラリの指定に置き換えられます. - ソース内の Makefile や Imakefile で Motif ライブラリを指定している - ところを, この変数に置き換えるようにパッチを適用してください. + Motif ライブラリの指定に置き換えられます。 + ソース内の Makefile や Imakefile で Motif ライブラリを指定している + ところを、この変数に置き換えるようにパッチを適用してください。 代表的な例としては以下の二つがあげられます: - - Makefile か Imakefile の中で Motif ライブラリが - として使われている場合には, - かわりに - MOTIFLIB - と書いてください. - + + Makefile か Imakefile の中で Motif ライブラリが + として使われている場合には、 + かわりに + MOTIFLIB + と書いてください。 + - - Imakefile の中で XmClientLibs - が使われている場合には, それを - ${MOTIFLIB} ${XTOOLLIB} ${XLIB} - と書きかえてください. - + + Imakefile の中で XmClientLibs + が使われている場合には、それを + ${MOTIFLIB} ${XTOOLLIB} ${XLIB} + と書きかえてください。 + なお - MOTIFLIB は通常, - -L/usr/X11R6/lib -lXm か - /usr/X11R6/lib/libXm.a - に置き換えられます. - したがって前に や - をつける必要はありません. + MOTIFLIB は通常、 + -L/usr/X11R6/lib -lXm か + /usr/X11R6/lib/libXm.a + に置き換えられます。 + したがって前に や + をつける必要はありません。 X11 のフォント - もし, あなたの port が X window system - のフォントをインストールするのであれば, + もし、あなたの port が X window system + のフォントをインストールするのであれば、 それらを X11BASE/lib/X11/fonts/local - に置くようにしてください. このディレクトリは XFree86 release 3.3.3 - で新設されたものです. - もしそれが存在しなければ作成し, - ユーザに XFree86 を 3.3.3 かそれより新しいものに更新か, + に置くようにしてください。このディレクトリは XFree86 release 3.3.3 + で新設されたものです。 + もしそれが存在しなければ作成し、 + ユーザに XFree86 を 3.3.3 かそれより新しいものに更新か、 少なくともこのディレクトリを /etc/XF86Config - のフォントパスに加えるように促すメッセージを出力するようにしてください. + のフォントパスに加えるように促すメッセージを出力するようにしてください。 @@ -2032,21 +2032,21 @@ ${PREFIX}/man/ja/man4/baz.4.gz 新しい版の texinfo (2.2.2-RELEASE およびそれ以降に入っています) には - install-info というコマンドが含まれており, + install-info というコマンドが含まれており、 dir - ファイルに項目を追加したり削除したりすることができます. - もし, あなたの port が info 文書をインストー ルするのであれば, + ファイルに項目を追加したり削除したりすることができます。 + もし、あなたの port が info 文書をインストー ルするのであれば、 以下の指示に従ってその port および package が正しくユーザの ${PREFIX}/info/dir ファイルを更新するようにしてください - (このセクションはとても長くてすいません. - しかし info ファイルを作りあげるためにはこれらは不可欠です. - 正しく行なえば美しいリストができますので, + (このセクションはとても長くてすいません。 + しかし info ファイルを作りあげるためにはこれらは不可欠です。 + 正しく行なえば美しいリストができますので、 辛抱してください! :-) - まず, これを知っておかなければなりません. + まず、これを知っておかなければなりません。 &prompt.user; install-info --help install-info [OPTION]... [INFO-FILE [DIR-FILE]] @@ -2055,40 +2055,40 @@ install-info [OPTION]... [INFO-FILE [DIR-FILE]] Options: --delete Delete existing entries in INFO-FILE; don't insert any new entries. - (訳注: INFO-FILE の中の項目を削除, - 新しい項目は一切追加しない.) + (訳注: INFO-FILE の中の項目を削除、 + 新しい項目は一切追加しない。) : --entry=TEXT Insert TEXT as an Info directory entry. - (訳注: TEXT を Info ディレクトリの項目として追加する.) + (訳注: TEXT を Info ディレクトリの項目として追加する。) : --section=SEC Put this file's entries in section SEC of the directory. (訳注: このファイルの項目を Info ディレクトリの SEC - というセクションに置く.) + というセクションに置く。) : - このプログラムは, 実際には info - ファイルをインストールしません. - 単に - dir - ファイルにエントリを挿入したり削除したりするだけです. + このプログラムは、実際には info + ファイルをインストールしません。 + 単に + dir + ファイルにエントリを挿入したり削除したりするだけです。 - これから, install-info - を使用するように, ports を変換する 7 段階の工程を示します. + これから、install-info + を使用するように、ports を変換する 7 段階の工程を示します。 例として editors/emacs - を使用します. + を使用します。 - まず, texinfo のソースを見て, - @dircategory と - @direntry 文がないファイルについて, - それらを追加するパッチを作成します. 以下は, - ここでの例での patchの一部です: + まず、texinfo のソースを見て、 + @dircategory と + @direntry 文がないファイルについて、 + それらを追加するパッチを作成します。以下は、 + ここでの例での patchの一部です: - --- ./man/vip.texi.org Fri Jun 16 15:31:11 1995 + --- ./man/vip.texi.org Fri Jun 16 15:31:11 1995 +++ ./man/vip.texi Tue May 20 01:28:33 1997 @@ -2,6 +2,10 @@ @@ -2103,64 +2103,64 @@ Options: @finalout : - フォーマットについては見ればわかると思います. - dir - というファイルに必要な項目を書いておいてくれる作者も多いので, - まず自分で書く前にさがしてみてください. - また, 関係する ports も調べて, - セクションの名前やインデントなどがきちんと合っているかどうかを確認してください - (項目のテキスト は, すべて 4 つめのタブ・ストップ - (tab stop) から始めることを推奨します). + フォーマットについては見ればわかると思います。 + dir + というファイルに必要な項目を書いておいてくれる作者も多いので、 + まず自分で書く前にさがしてみてください。 + また、関係する ports も調べて、 + セクションの名前やインデントなどがきちんと合っているかどうかを確認してください + (項目のテキスト は、すべて 4 つめのタブ・ストップ + (tab stop) から始めることを推奨します)。 - - 一つのファイルに対して一つの info - の項目しか書けないことに注意してください. - これは - install-info --delete - のバグにより - @direntry - セクションに複数の項目を書いても初めの一つの項目しか削除してくれないからです. - + + 一つのファイルに対して一つの info + の項目しか書けないことに注意してください。 + これは + install-info --delete + のバグにより + @direntry + セクションに複数の項目を書いても初めの一つの項目しか削除してくれないからです。 + - texinfo のソースにパッチを適用する代わりに - dir の項目を - install-info の引数 - (, ) - として与えることもできますが, あまり良い方法とは言えません. - なぜなら同じ情報を三つの場所 - (Makefile, - pkg-plist の - @exec/@unexec: - 以下参照) - に重複して書く必要があるからです. - しかし, もし日本語 - (あるいは, 他のマルチバイト文字)の info - ファイルがある場合には - install-info - の特別な引数を使用する必要があるでしょう. - なぜなら makeinfo がこのような - texinfo ソースファイルを扱えないからです. - (このようなものをどう扱うかの例としては - japanese/skk の - Makefile と - pkg-plist を見てください). + texinfo のソースにパッチを適用する代わりに + dir の項目を + install-info の引数 + (, ) + として与えることもできますが、あまり良い方法とは言えません。 + なぜなら同じ情報を三つの場所 + (Makefile, + pkg-plist の + @exec/@unexec: + 以下参照) + に重複して書く必要があるからです。 + しかし、もし日本語 + (あるいは、他のマルチバイト文字)の info + ファイルがある場合には + install-info + の特別な引数を使用する必要があるでしょう。 + なぜなら makeinfo がこのような + texinfo ソースファイルを扱えないからです。 + (このようなものをどう扱うかの例としては + japanese/skk の + Makefile と + pkg-plist を見てください)。 - portのディレクトリに戻って - make clean; make を実行し, - info ファイルが texinfo ソースファイルから再び生成されることを確認してください. - texinfo ソースファイルのほうが info ファイルよりも新しいので - make と入力すれば - info ファイルは再構築されるはずですが, 多くの - Makefile - には info ファイルの正しい依存関係が書かれていません. - emacs の場合, info ファイルの再構築の際には - man サブディレクトリに降りるように - メインの Makefile.in に - パッチを適用する必要がありました. + portのディレクトリに戻って + make clean; make を実行し、 + info ファイルが texinfo ソースファイルから再び生成されることを確認してください。 + texinfo ソースファイルのほうが info ファイルよりも新しいので + make と入力すれば + info ファイルは再構築されるはずですが、多くの + Makefile + には info ファイルの正しい依存関係が書かれていません。 + emacs の場合、info ファイルの再構築の際には + man サブディレクトリに降りるように + メインの Makefile.in に + パッチを適用する必要がありました。 - --- ./Makefile.in.org Mon Aug 19 21:12:19 1996 + --- ./Makefile.in.org Mon Aug 19 21:12:19 1996 +++ ./Makefile.in Tue Apr 15 00:15:28 1997 @@ -184,7 +184,7 @@ # Subdirectories to make recursively. `lisp' is not included @@ -2182,28 +2182,28 @@ Options: dvi: $(DVI_TARGETS) - メインの Makefile からは, - all として呼びたいのですが, - man - サブディレクトリでのデフォルトターゲットは - info になっています. - このため, 二つ目のパッチが必要になります. - また, info info ファイルのインストールも削除しました. - なぜなら, それは同じ名前ですでに - /usr/share/info - にあるからです - (そのパッチはここでは示しません). + メインの Makefile からは、 + all として呼びたいのですが、 + man + サブディレクトリでのデフォルトターゲットは + info になっています。 + このため、二つ目のパッチが必要になります。 + また、info info ファイルのインストールも削除しました。 + なぜなら、それは同じ名前ですでに + /usr/share/info + にあるからです + (そのパッチはここでは示しません)。 - もし, Makefile に - dir - ファイルをインストールする個所があれば削除します. - あなたの port がインストールしてはいけません. - また, dir - ファイルを壊してしまうようなコマンドの類も削除します. + もし、Makefile に + dir + ファイルをインストールする個所があれば削除します。 + あなたの port がインストールしてはいけません。 + また、dir + ファイルを壊してしまうようなコマンドの類も削除します。 - --- ./Makefile.in.org Mon Aug 19 21:12:19 1996 + --- ./Makefile.in.org Mon Aug 19 21:12:19 1996 +++ ./Makefile.in Mon Apr 14 23:38:07 1997 @@ -368,14 +368,8 @@ if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ @@ -2223,16 +2223,16 @@ Options: - (これは, 既存のportを修正するときのみ必要です.) - pkg-plist を見て, - info/dir - にパッチをあてようとするものすべてを削除します. - これらは - pkg-install - やその他のファイルにもあるかもしれないので, - いろいろさがしてみてください. + (これは、既存のportを修正するときのみ必要です。) + pkg-plist を見て、 + info/dir + にパッチをあてようとするものすべてを削除します。 + これらは + pkg-install + やその他のファイルにもあるかもしれないので、 + いろいろさがしてみてください。 - Index: pkg-plist + Index: pkg-plist =================================================================== RCS file: /usr/cvs/ports/editors/emacs/pkg/pkg-plist,v retrieving revision 1.15 @@ -2252,18 +2252,18 @@ diff -u -r1.15 pkg-plist - post-install ターゲットを - Makefile - に加えてインストールされた info ファイルについては, - install-info - を実行するようします - (dir - ファイルが存在しない場合にそれを作成するようにする必要はなくなりました. - install-info - はこのファイルが存在しなければ自動的に作成します). - + post-install ターゲットを + Makefile + に加えてインストールされた info ファイルについては、 + install-info + を実行するようします + (dir + ファイルが存在しない場合にそれを作成するようにする必要はなくなりました。 + install-info + はこのファイルが存在しなければ自動的に作成します)。 + - Index: Makefile + Index: Makefile =================================================================== RCS file: /usr/cvs/ports/editors/emacs/Makefile,v retrieving revision 1.26 @@ -2283,12 +2283,12 @@ diff -u -r1.26 Makefile - pkg-plist を編集して, 同じ働きをする - @exec 文, - それに pkg_delete のために - @unexec 文を加えてください. + pkg-plist を編集して、同じ働きをする + @exec 文、 + それに pkg_delete のために + @unexec 文を加えてください。 - Index: pkg-plist + Index: pkg-plist =================================================================== RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v retrieving revision 1.15 @@ -2312,26 +2312,26 @@ diff -u -r1.15 pkg-plist libexec/emacs/19.34/i386--freebsd/cvtmail libexec/emacs/19.34/i386--freebsd/digest-doc - - @unexec install-info --delete - コマンドは info ファイル自身より先に置き, - コマンドがファイルを読めるようにしておかなければならないことに注意してください. - また - @exec install-info コマンドは, - info ファイルおよび dir - ファイルを作る - @exec - コマンドより後におかなければなりません. - + + @unexec install-info --delete + コマンドは info ファイル自身より先に置き、 + コマンドがファイルを読めるようにしておかなければならないことに注意してください。 + また + @exec install-info コマンドは、 + info ファイルおよび dir + ファイルを作る + @exec + コマンドより後におかなければなりません。 + - テスト - をして出来栄えに感服しましょう - :) - 各段階の前後に - dir - ファイルをチェックしましょう. + テスト + をして出来栄えに感服しましょう + :) + 各段階の前後に + dir + ファイルをチェックしましょう。 @@ -2339,28 +2339,28 @@ diff -u -r1.15 pkg-plist <filename>pkg-<replaceable>*</replaceable></filename> ファイル - pkg-* ファイルには, - まだ取り上げていない何かと重宝なトリックがいくつかあります. + pkg-* ファイルには、 + まだ取り上げていない何かと重宝なトリックがいくつかあります。 <filename>pkg-message</filename> - もしインストールする人にメッセージを表示する必要がある場合には, - そのメッセージを - pkg-message に置くことができます. - この機能は - pkg_add - の後の追加のインストール手続きを表示するときなどに重宝します. + もしインストールする人にメッセージを表示する必要がある場合には、 + そのメッセージを + pkg-message に置くことができます。 + この機能は + pkg_add + の後の追加のインストール手続きを表示するときなどに重宝します。 - - pkg-message ファイルは - pkg-plist に加える必要はありません. - また, もしユーザが package ではなく - port を使用している場合には自動的には表示されませんので, - 明示的に - post-install - で表示するようにするべきでしょう. + + pkg-message ファイルは + pkg-plist に加える必要はありません。 + また、もしユーザが package ではなく + port を使用している場合には自動的には表示されませんので、 + 明示的に + post-install + で表示するようにするべきでしょう。 @@ -2368,30 +2368,30 @@ diff -u -r1.15 pkg-plist <filename>pkg-install</filename> バイナリパッケージが - pkg_add - でインストールされるときに実行する必要のあるコマンドがあれば, - pkg-install - スクリプトを使って実行することができます. - このスクリプトは自動的に package に加えられ, - pkg_add によって 2 回実行されます. - 1 回目は - ${SH} pkg-install ${PKGNAME} PRE-INSTALL - として, 2 回目には - ${SH} pkg-install ${PKGNAME} POST-INSTALL - として実行されます. - どちらのモードで実行されているかは - $2 を調べることによってわかります. - 環境変数 PKG_PREFIX には - package がインストールされるディレクトリが設定されます. - 詳細は &man.pkg.add.1; を見てください. + pkg_add + でインストールされるときに実行する必要のあるコマンドがあれば、 + pkg-install + スクリプトを使って実行することができます。 + このスクリプトは自動的に package に加えられ、 + pkg_add によって 2 回実行されます。 + 1 回目は + ${SH} pkg-install ${PKGNAME} PRE-INSTALL + として、2 回目には + ${SH} pkg-install ${PKGNAME} POST-INSTALL + として実行されます。 + どちらのモードで実行されているかは + $2 を調べることによってわかります。 + 環境変数 PKG_PREFIX には + package がインストールされるディレクトリが設定されます。 + 詳細は &man.pkg.add.1; を見てください。 - - port を make install - でインストールするときにはこのスクリプトは自動的に実行されません. - もし実行される必要があるならば port の Makefile - から明示的に呼ぶ必要があります. - + + port を make install + でインストールするときにはこのスクリプトは自動的に実行されません。 + もし実行される必要があるならば port の Makefile + から明示的に呼ぶ必要があります。 + @@ -2399,276 +2399,276 @@ diff -u -r1.15 pkg-plist <filename>pkg-req</filename> (訳注: 実行されるマシンの状態に応じて) その port を - インストールするべきか, そうでないかを判断する必要があるときには, - 要件 (requirements) スクリプト - pkg-req を作ることができます. - インストールや削除を実行すべきかどうか判断するために, - このスクリプトがインストールや削除を実行する際に自動的に - 実行されます. + インストールするべきか、そうでないかを判断する必要があるときには、 + 要件 (requirements) スクリプト + pkg-req を作ることができます。 + インストールや削除を実行すべきかどうか判断するために、 + このスクリプトがインストールや削除を実行する際に自動的に + 実行されます。 このスクリプトはインストール時には pkg_add により - pkg-req ${PKGNAME} INSTALL として実行され, - 削除時には pkg_delete により - pkg-req ${PKGNAME} DEINSTALL として - 実行されます. + pkg-req ${PKGNAME} INSTALL として実行され、 + 削除時には pkg_delete により + pkg-req ${PKGNAME} DEINSTALL として + 実行されます。 make の変数にあわせた - <filename>pkg-plist</filename> の変更 + pkg-plist の変更 - いくつかの port, 特に p5-ports などは - configure のオプション - (あるいは, p5-ports の場合は perl のバージョン) - によって - pkg-plist を変える必要があります. - これを容易に実現するために - pkg-plist 中の - %%OSREL%%, - %%PERL_VER%%, - %%PERL_VERSION%% は適切に置き換えられるようになっています. - %%OSREL%% の値はオペレーティングシステムの数字で表されたリビジョンです - (たとえば 2.2.7). - %%PERL_VERSION%% は perl - のバージョン番号全体 - (たとえば 5.00502) - で, %%PERL_VER%% - はバージョン番号からパッチレベルを引いたものです - (たとえば 5.005). + いくつかの port、特に p5-ports などは + configure のオプション + (あるいは、p5-ports の場合は perl のバージョン) + によって + pkg-plist を変える必要があります。 + これを容易に実現するために + pkg-plist 中の + %%OSREL%%, + %%PERL_VER%%, + %%PERL_VERSION%% は適切に置き換えられるようになっています。 + %%OSREL%% の値はオペレーティングシステムの数字で表されたリビジョンです + (たとえば 2.2.7)。 + %%PERL_VERSION%% は perl + のバージョン番号全体 + (たとえば 5.00502) + で、%%PERL_VER%% + はバージョン番号からパッチレベルを引いたものです + (たとえば 5.005)。 - 他の置き換えが必要であれば, PLIST_SUB - 変数に - VAR=VALUE - という形式のペアのリストを設定することによって, - pkg-plist 中の - %%VAR%% - は - VALUE に置き換えられます. - たとえばバージョンに固有のたくさんのファイルをインストールする場合には, - Makefile + 他の置き換えが必要であれば、PLIST_SUB + 変数に + VAR=VALUE + という形式のペアのリストを設定することによって、 + pkg-plist 中の + %%VAR%% + は + VALUE に置き換えられます。 + たとえばバージョンに固有のたくさんのファイルをインストールする場合には、 + Makefile OCTAVE_VERSION= 2.0.13 PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - と書いて, PLIST - 中のバージョン番号が表われるすべてのところに, - %%OCTAVE_VERSION%% と書きます. - このようにしておけば, port をアップグレードするときに, - 何十行 (時として, 何百行) も - pkg-plist - を書き替えないですみます. + と書いて、PLIST + 中のバージョン番号が表われるすべてのところに、 + %%OCTAVE_VERSION%% と書きます。 + このようにしておけば、port をアップグレードするときに、 + 何十行 (時として、何百行) も + pkg-plist + を書き替えないですみます。 この書き換えは - (マニュアルの追加も) - do-install と - post-install ターゲットの間に - pkg-plist を読み - TMPPLIST - (デフォルトは WRKDIR/.PLIST.mktmp) - に書き込むことによって行なわれます. - もし, あなたの port が - PLIST を実行時に生成するのであれば, - do-install - の間かその前に行なうようにしてください. - また, 書きかえられたあとのファイルを編集する必要がある場合には, - post-install - で TMPPLIST を書きかえてください. + (マニュアルの追加も) + do-install と + post-install ターゲットの間に + pkg-plist を読み + TMPPLIST + (デフォルトは WRKDIR/.PLIST.mktmp) + に書き込むことによって行なわれます。 + もし、あなたの port が + PLIST を実行時に生成するのであれば、 + do-install + の間かその前に行なうようにしてください。 + また、書きかえられたあとのファイルを編集する必要がある場合には、 + post-install + で TMPPLIST を書きかえてください。 <filename>pkg-<replaceable>*</replaceable></filename>ファイルの名前変更 pkg-*ファイルの - 名前はすべて変数を使用して定義されていますので, - 必要であれば - Makefile 中で変更可能です. - いくつかの ports で一つの - pkg-* - ファイルを共有する場合や, - 上記のファイルに書き込みをしなければならないときなど特に便利です - (pkg-* - サブディレクトリに直接書き込むのが良くない理由については - WRKDIR - 以外への書きこみ を参照してください). + 名前はすべて変数を使用して定義されていますので、 + 必要であれば + Makefile 中で変更可能です。 + いくつかの ports で一つの + pkg-* + ファイルを共有する場合や、 + 上記のファイルに書き込みをしなければならないときなど特に便利です + (pkg-* + サブディレクトリに直接書き込むのが良くない理由については + WRKDIR + 以外への書きこみ を参照してください)。 - 以下に変数名と そのデフォルト値のリストを示します. - (PKGDIR のデフォルト値は - ${MASTERDIR} になっています.) + 以下に変数名と そのデフォルト値のリストを示します。 + (PKGDIR のデフォルト値は + ${MASTERDIR} になっています。) - - - - 変数名 - デフォルト値 - - + + + + 変数名 + デフォルト値 + + - - - COMMENT - ${PKGDIR}/pkg-comment - + + + COMMENT + ${PKGDIR}/pkg-comment + - - DESCR - ${PKGDIR}/pkg-descr - + + DESCR + ${PKGDIR}/pkg-descr + - - PLIST - ${PKGDIR}/pkg-plist - + + PLIST + ${PKGDIR}/pkg-plist + - - PKGINSTALL - ${PKGDIR}/pkg-install - + + PKGINSTALL + ${PKGDIR}/pkg-install + - - PKGDEINSTALL - ${PKGDIR}/pkg-deinstall - + + PKGDEINSTALL + ${PKGDIR}/pkg-deinstall + - - PKGREQ - ${PKGDIR}/pkg-req - + + PKGREQ + ${PKGDIR}/pkg-req + - - PKGMESSAGE - ${PKGDIR}/pkg-message - - - + + PKGMESSAGE + ${PKGDIR}/pkg-message + + + PKG_ARGS - を上書きせずにこれらの変数を変更するようにしてください. - PKG_ARGS - を変更すると, これらのファイルは port から正しく - /var/db/pkg - にインストールされなくなります. + を上書きせずにこれらの変数を変更するようにしてください。 + PKG_ARGS + を変更すると、これらのファイルは port から正しく + /var/db/pkg + にインストールされなくなります。 ライセンス上の問題 - ソフトウェアによっては, 制約の厳しいライセンス条件が - 定められている場合もありますし, - 国によっては (特許権の侵害などで) 法律的に問題がある可能性もあります. - それらをどう扱えばいいかは, それぞれのライセンスの文面によって - 大きく異なります. + ソフトウェアによっては、制約の厳しいライセンス条件が + 定められている場合もありますし、 + 国によっては (特許権の侵害などで) 法律的に問題がある可能性もあります。 + それらをどう扱えばいいかは、それぞれのライセンスの文面によって + 大きく異なります。 - ソフトウェア移植者として, - あなたにはライセンスをよく読み - FreeBSD プロジェクトが FTP または CD-ROM - で配布してはいけないソフトウェアを配布してしまうことのないよう注意する義務があります. - 何か疑問がある場合には - &a.ports; に聞いてみてください. + ソフトウェア移植者として、 + あなたにはライセンスをよく読み + FreeBSD プロジェクトが FTP または CD-ROM + で配布してはいけないソフトウェアを配布してしまうことのないよう注意する義務があります。 + 何か疑問がある場合には + &a.ports; に聞いてみてください。 - よく見られるケースに対処するために, - Makefile に指定できる二つの変数が用意されています. + よく見られるケースに対処するために、 + Makefile に指定できる二つの変数が用意されています。 - ソフトウェアに有償再配布を禁ずるという趣旨のライセンスがついてきた場合には, - NO_CDROM - という変数にその理由を記述してください. - わたしたちはこれがついている port を - CDROM リリースに入れないようにしますが, - オリジナルのソースファイルと package を - FTP で取れるようにしておきます. + ソフトウェアに有償再配布を禁ずるという趣旨のライセンスがついてきた場合には、 + NO_CDROM + という変数にその理由を記述してください。 + わたしたちはこれがついている port を + CDROM リリースに入れないようにしますが、 + オリジナルのソースファイルと package を + FTP で取れるようにしておきます。 - もし生成される package が個々のサイトで独自に構築される必要があったり, - ライセンスによって生成されるバイナリが配布できない場合には - NO_PACKAGE 変数にその理由を記述してください. - そのような package は FTP サイトに置かれたり, - リリース 時の CDROM へ入らないようにします. - ただし, いずれの場合も - 配布ファイルは (FTP や CD-ROM に) - 含まれるようになります. + もし生成される package が個々のサイトで独自に構築される必要があったり、 + ライセンスによって生成されるバイナリが配布できない場合には + NO_PACKAGE 変数にその理由を記述してください。 + そのような package は FTP サイトに置かれたり、 + リリース 時の CDROM へ入らないようにします。 + ただし、いずれの場合も + 配布ファイルは (FTP や CD-ROM に) + 含まれるようになります。 - (特許などの関係で) 使用者によっては法律上の問題が生じたり, - 商用利用を禁ずるライセンスを持つ port の場合には, - その理由を RESTRICTED という変数に入れてください. - このような port の場合には, 配布ファイルや package も - FreeBSD の FTP サイトに置かれないようになります. + (特許などの関係で) 使用者によっては法律上の問題が生じたり、 + 商用利用を禁ずるライセンスを持つ port の場合には、 + その理由を RESTRICTED という変数に入れてください。 + このような port の場合には、配布ファイルや package も + FreeBSD の FTP サイトに置かれないようになります。 - GNU 一般公有使用許諾書 (GPL) は, - バージョン 1, 2 とも port 作成上何ら問題にはなりません. + GNU 一般公有使用許諾書 (GPL) は、 + バージョン 1, 2 とも port 作成上何ら問題にはなりません。 - もしあなたがソースツリー管理者 (committer) であれば, - ソースツリーにこのような port を入れる際に - ports/LEGAL - ファイルを書き換えるのを忘れないようにしてください. + もしあなたがソースツリー管理者 (committer) であれば、 + ソースツリーにこのような port を入れる際に + ports/LEGAL + ファイルを書き換えるのを忘れないようにしてください。 アップグレード - port のバージョンが原作者からのものに比べて古いことに気がついたら, + port のバージョンが原作者からのものに比べて古いことに気がついたら、 まずはあなたの持っている port が私たちの最新のもの (FTP ミラーサイトの ports/ports-current というディレクトリにあります) - であることを確認してください. - また, Ports Collection 全体を最新の状態に保つために - CVSup を利用することもできます. + であることを確認してください。 + また、Ports Collection 全体を最新の状態に保つために + CVSup を利用することもできます。 詳しくは FreeBSD - ハンドブックをご覧ください. + ハンドブックをご覧ください。 次に port の MakefileMAINTAINER (保守担当者) - のアドレスが書いてある場合には, その人にメールを出してみましょう. - 保守担当者の人がすでにアップグレードの準備をしているかも知れませんし, + のアドレスが書いてある場合には、その人にメールを出してみましょう。 + 保守担当者の人がすでにアップグレードの準備をしているかも知れませんし、 (新しいバージョンの安定度に問題があるなど) - あえてアップグレードをしない理由があるのかも知れません. + あえてアップグレードをしない理由があるのかも知れません。 - 保守担当者にアップグレードをしてくれと頼まれた場合, - あるいは, そもそも port の Makefile に保守担当者が書いてない場合などは, - あなたがアップグレードをしてくださると助かります. - その場合にはアッ プグレードをした後, + 保守担当者にアップグレードをしてくれと頼まれた場合、 + あるいは、そもそも port の Makefile に保守担当者が書いてない場合などは、 + あなたがアップグレードをしてくださると助かります。 + その場合にはアッ プグレードをした後、 変更前と変更後のディレクトリの再帰的 diff - (unified diff と context diff のどちらでもいいのですが, + (unified diff と context diff のどちらでもいいのですが、 port のコミッター達は unified diff の方を好むようです) をとって送ってください (たとえば変更前のディレクトリが superedit.bak - という名前でとってあり, 変更後のものが + という名前でとってあり、変更後のものが superedit - に入っているなら, + に入っているなら、 diff -ruN superedit.bak superedit - の結果を送ってください). - diff の出力を見て, - すべての変更が正しくなされているか確認してください. - 変更箇所については, &man.send-pr.1; + の結果を送ってください)。 + diff の出力を見て、 + すべての変更が正しくなされているか確認してください。 + 変更箇所については、&man.send-pr.1; (カテゴリは ports) - に diff の出力結果を添えて, わたしたちに送ってもらうのが一番良いです. - commit する際に CVS に明確に記述しなければならないので, - 付け加えたり削除したりしたファイルがあればそれについて書いておいてください. - もし diff の大きさが 20 KB 程度を超えるようであれば, - 圧縮したものを uuencode してください. - そうでなければそのまま PR に入れるだけで構いません. + に diff の出力結果を添えて、わたしたちに送ってもらうのが一番良いです。 + commit する際に CVS に明確に記述しなければならないので、 + 付け加えたり削除したりしたファイルがあればそれについて書いておいてください。 + もし diff の大きさが 20 KB 程度を超えるようであれば、 + 圧縮したものを uuencode してください。 + そうでなければそのまま PR に入れるだけで構いません。 - 繰り返しになりますが, 既存の ports の変更を送るときには - &man.shar.1; ではなく &man.diff.1; を使用してください! + 繰り返しになりますが、既存の ports の変更を送るときには + &man.shar.1; ではなく &man.diff.1; を使用してください! @@ -2676,84 +2676,84 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} やっていいことといけないこと - このセクションではソフトウェアを port する上で, - 良くある落し穴などについて説明します. - このリストを使ってあなた自身が作成した port のチェックはもとより, - PR データベースにある, - 他の人が作成した port のチェックもできます. + このセクションではソフトウェアを port する上で、 + 良くある落し穴などについて説明します。 + このリストを使ってあなた自身が作成した port のチェックはもとより、 + PR データベースにある、 + 他の人が作成した port のチェックもできます。 あなたがチェックした port についてのコメントを - バグ報告と一般的な論評にしたがって送ってください. - PR データベースにある port をチェックすることは, - わたしたちがそれらを commit するのを早めるとともに, - 何をしているかをあなたが理解していることも証明します. + バグ報告と一般的な論評にしたがって送ってください。 + PR データベースにある port をチェックすることは、 + わたしたちがそれらを commit するのを早めるとともに、 + 何をしているかをあなたが理解していることも証明します。 バイナリの strip - バイナリは strip してください. - オリジナルのソースがバイナリを - strip してくれる場合は良いですが, - そうでない場合には port の - Makefile が - install ターゲットを持っているなら - BSD_INSTALL_PROGRAM を, - 持っていないなら - strip するための post-install ルールを追加して - strip するようにするとよいでしょう. - たとえばこんな風になります: + バイナリは strip してください。 + オリジナルのソースがバイナリを + strip してくれる場合は良いですが、 + そうでない場合には port の + Makefile が + install ターゲットを持っているなら + BSD_INSTALL_PROGRAM を、 + 持っていないなら + strip するための post-install ルールを追加して + strip するようにするとよいでしょう。 + たとえばこんな風になります: post-install: strip ${PREFIX}/bin/xdl インストールされた実行形式がすでに strip - されているかどうかは file - コマンドで確認できます. - not stripped - と表示されなければ strip されていることを示しています. + されているかどうかは file + コマンドで確認できます。 + not stripped + と表示されなければ strip されていることを示しています。 <makevar>INSTALL_*</makevar> マクロ あなた自身の *-install - ターゲットでファイルの正しいモードとオーナを保証するために, - 必ず - bsd.port.mk - で提供されているマクロを使用してください. + ターゲットでファイルの正しいモードとオーナを保証するために、 + 必ず + bsd.port.mk + で提供されているマクロを使用してください。 - - ${INSTALL_PROGRAM} - は実行可能なバイナリをインストール - (し, その過程で strip 処理)するコマンドです. - + + ${INSTALL_PROGRAM} + は実行可能なバイナリをインストール + (し、その過程で strip 処理)するコマンドです。 + - - ${INSTALL_SCRIPT} - は実行可能なスクリプトをインストールするコマンドです. - + + ${INSTALL_SCRIPT} + は実行可能なスクリプトをインストールするコマンドです。 + - - ${INSTALL_DATA} - は共有可能なデータをインストールするコマンドです. - + + ${INSTALL_DATA} + は共有可能なデータをインストールするコマンドです。 + - - ${INSTALL_MAN} - はマニュアルとその他の文書をインストールするコマンドです - (圧縮はしません). - + + ${INSTALL_MAN} + はマニュアルとその他の文書をインストールするコマンドです + (圧縮はしません)。 + これらは基本的に install - コマンドに適切なフラグを与えたものです. - それらは distfile の Makefile - で, 頭に BSD_ が付けられた - (つまり BSD_INSTALL_PROGRM というような) - 形で使うことができます. - どのようにこれらを使用するかは以下の例を見てください. + コマンドに適切なフラグを与えたものです。 + それらは distfile の Makefile + で、頭に BSD_ が付けられた + (つまり BSD_INSTALL_PROGRM というような) + 形で使うことができます。 + どのようにこれらを使用するかは以下の例を見てください。 @@ -2761,559 +2761,559 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} <makevar>WRKDIR</makevar> WRKDIR の外に存在するファイルには - 何も書き込んではいけません. - port のビルド中に書き込み可能なことが保証されているのは - WRKDIR の中だけです (書き込み不可のツリー上での - port ビルドの例については, - CDROM からの - ports のコンパイル を参照のこと). - pkg-* ファイルを - 変更する必要があるときには, ファイルを上書きするのではなく - 変数の再定義により - 行なうようにしてください. + 何も書き込んではいけません。 + port のビルド中に書き込み可能なことが保証されているのは + WRKDIR の中だけです (書き込み不可のツリー上での + port ビルドの例については、 + CDROM からの + ports のコンパイル を参照のこと)。 + pkg-* ファイルを + 変更する必要があるときには、ファイルを上書きするのではなく + 変数の再定義により + 行なうようにしてください。 <makevar>WRKDIRPREFIX</makevar> WRKDIRPREFIX - を尊重していることを確認してください. - 特に, 別の port の - WRKDIR を参照しているときには気を付けてください. - 正しい場所は, - WRKDIRPREFIXPORTSDIR/subdir/name/work - です, - PORTSDIR/subdir/name/work - や - .CURDIR/../../subdir/name/work - ではありません. + を尊重していることを確認してください。 + 特に、別の port の + WRKDIR を参照しているときには気を付けてください。 + 正しい場所は、 + WRKDIRPREFIXPORTSDIR/subdir/name/work + です。 + PORTSDIR/subdir/name/work + や + .CURDIR/../../subdir/name/work + ではありません。 - また, - 自分で WRKDIR 定義するときには先頭に - ${WRKDIRPREFIX}${.CURDIR} - が付いていることを確認してください. + また、 + 自分で WRKDIR 定義するときには先頭に + ${WRKDIRPREFIX}${.CURDIR} + が付いていることを確認してください。 OS の種類やバージョンの識別 - どのバージョンの Unix で動かすかによって, 変更や - 条件つきコンパイルが必要なコードに出くわすこともあるでしょう. - そのような変更を行なう場合には, - FreeBSD 1.x システムへのバックポートや, - CSRG の 4.4BSD, BSD/386, 386BSD, NetBSD, OpenBSD 等, - 他の BSD システムへの移植が可能なように, - できるだけ汎用的な変更を行なうことを心がけてください. + どのバージョンの Unix で動かすかによって、変更や + 条件つきコンパイルが必要なコードに出くわすこともあるでしょう。 + そのような変更を行なう場合には、 + FreeBSD 1.x システムへのバックポートや、 + CSRG の 4.4BSD, BSD/386, 386BSD, NetBSD, OpenBSD 等、 + 他の BSD システムへの移植が可能なように、 + できるだけ汎用的な変更を行なうことを心がけてください。 - 4.3BSD/Reno (1990) と, それより新しいバージョンの BSD コードを - 区別するには, <sys/param.h> で定義されている - BSD マクロを利用するのがよいでしょう. - このファイルがすでにインクルードされていれば良いのですが, - そうでない場合には, その .c ファイルの - 適当な場所に以下のコードを追加してください. + 4.3BSD/Reno (1990) と、それより新しいバージョンの BSD コードを + 区別するには、<sys/param.h> で定義されている + BSD マクロを利用するのがよいでしょう。 + このファイルがすでにインクルードされていれば良いのですが、 + そうでない場合には、その .c ファイルの + 適当な場所に以下のコードを追加してください。 #if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif これらの二つのシンボルが定義されているシステムには必ず - sys/param.h があるはずです. - もしそうでないシステムを発見したら, - &a.ports; までメールを送ってわたしたちに伝えてください. + sys/param.h があるはずです。 + もしそうでないシステムを発見したら、 + &a.ports; までメールを送ってわたしたちに伝えてください。 - あるいは, GNU Autoconf のスタイルを使用することもできます, + あるいは、GNU Autoconf のスタイルを使用することもできます。 #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif - この方法を使用するときには, - Makefile 中の - CFLAGSに - -DHAVE_SYS_PARAM_H - を加えることを忘れないようにしてください. + この方法を使用するときには、 + Makefile 中の + CFLAGSに + -DHAVE_SYS_PARAM_H + を加えることを忘れないようにしてください。 いったん sys/param.h - がインクルードされると, + がインクルードされると、 #if (defined(BSD) && (BSD >= 199103)) - このようにしてそのコードが 4.3 Net2 コードベース, - またはそれより新しいもの - (例: FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 とそれ以前) - の上でコンパイルされているかを検出できます. + このようにしてそのコードが 4.3 Net2 コードベース、 + またはそれより新しいもの + (例: FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 とそれ以前) + の上でコンパイルされているかを検出できます。 #if (defined(BSD) && (BSD >= 199306)) - これは, 4.4コードベース, またはそれより新しいもの - (例: FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 とそれ以後) - の上でコンパイルされているかどうかを検出するために使用します. + これは、4.4コードベース、またはそれより新しいもの + (例: FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 とそれ以後) + の上でコンパイルされているかどうかを検出するために使用します。 4.4BSD-Lite2 コードベースでは - BSD マクロの値は - 199506 になっています. - これは参考程度の意味合いしかありません. - 4.4-Lite ベースの FreeBSD と 4.4-Lite2 - での変更がマージされたバージョンとを区別するのに使用するべきものではありません. - この目的のためにはかわりに - __FreeBSD__ - マクロを使用してください. + BSD マクロの値は + 199506 になっています。 + これは参考程度の意味合いしかありません。 + 4.4-Lite ベースの FreeBSD と 4.4-Lite2 + での変更がマージされたバージョンとを区別するのに使用するべきものではありません。 + この目的のためにはかわりに + __FreeBSD__ + マクロを使用してください。 - 以下は控え目に使ってください. + 以下は控え目に使ってください。 - - __FreeBSD__ - はFreeBSDのすべての版で定義されています. - 変更が FreeBSD だけに適用されるとき以外は使用しないでください. - port でよくある - strerror() ではなく - sys_errlist[] を使うなどは - FreeBSDでの変更ではなく BSD の流儀です. - + + __FreeBSD__ + はFreeBSDのすべての版で定義されています。 + 変更が FreeBSD だけに適用されるとき以外は使用しないでください。 + port でよくある + strerror() ではなく + sys_errlist[] を使うなどは + FreeBSDでの変更ではなく BSD の流儀です。 + - - FreeBSD 2.xでは __FreeBSD__ が - 2 と定義されています. - それ以前の版では 1 になっています. - その後の版ではそのメジャー番号に合うように上がっていきます. - + + FreeBSD 2.xでは __FreeBSD__ が + 2 と定義されています。 + それ以前の版では 1 になっています。 + その後の版ではそのメジャー番号に合うように上がっていきます。 + - - もし - FreeBSD 1.x システムと FreeBSD 2.x, - あるいは FreeBSD 3.x システムを区別する必要があれば, - 上で述べた BSD - マクロを使用するのが大抵の場合において正しい答です. - もし FreeBSD 特有の変更であれば - (ld を使うときの共有ライブラリ用のオプションなど), - - __FreeBSD__を使い - #if __FreeBSD__ > 1 - のようにFreeBSD 2.x および, - それ以降のシステムを検出するのはかまいません. - もし 2.0-RELEASE 以降の FreeBSD システムを細かく検出したければ, - 以下を使用することができます. + + もし + FreeBSD 1.x システムと FreeBSD 2.x、 + あるいは FreeBSD 3.x システムを区別する必要があれば、 + 上で述べた BSD + マクロを使用するのが大抵の場合において正しい答です。 + もし FreeBSD 特有の変更であれば + (ld を使うときの共有ライブラリ用のオプションなど)、 + + __FreeBSD__を使い + #if __FreeBSD__ > 1 + のようにFreeBSD 2.x および、 + それ以降のシステムを検出するのはかまいません。 + もし 2.0-RELEASE 以降の FreeBSD システムを細かく検出したければ、 + 以下を使用することができます。 - #if __FreeBSD__ >= 2 + #if __FreeBSD__ >= 2 #include <osreldate.h> # if __FreeBSD_version >= 199504 /* 2.0.5+ release specific code here */ # endif #endif - - - - - Release - __FreeBSD_version - - - - - - 2.0-RELEASE - 119411 - - - - 2.1-CURRENT - 199501, 199503 - - - - 2.0.5-RELEASE - 199504 - - - - 2.1 以前の 2.2-CURRENT - 199508 - - - - 2.1.0-RELEASE - 199511 - - - - 2.1.5 以前の 2.2-CURRENT - 199512 - - - - 2.1.5-RELEASE - 199607 - - - - 2.1.6 以前の 2.2-CURRENT - 199608 - - - - 2.1.6-RELEASE - 199612 - - - - 2.1.7-RELEASE - 199612 - - - - 2.2-RELEASE - 220000 - - - - 2.2.1-RELEASE - 220000 (変更なし) - - - - 2.2.1-RELEASE 以降の 2.2-STABLE - 220000 (変更なし) - - - - texinfo-3.9 以降の 2.2-STABLE - 221001 - - - - top 導入以降の 2.2-STABLE - 221002 - - - - 2.2.2-RELEASE - 222000 - - - - 2.2.2-RELEASE 以降の 2.2-STABLE - 222001 - - - - 2.2.5-RELEASE - 225000 - - - - 2.2.5-RELEASE 以降の 2.2-STABLE - 225001 - - - - ldconfig -R マージ以降の 2.2-STABLE - 225002 - - - - 2.2.6-RELEASE - 226000 - - - - 2.2.7-RELEASE - 227000 - - - - 2.2.7-RELEASE 以降の 2.2-STABLE - 227001 - - - - &man.semctl.2; 変更以降の 2.2-STABLE - 227002 - - - - 2.2.8-RELEASE - 228000 - - - - 2.2.8-RELEASE 以降の 2.2-STABLE - 228001 - - - - &man.mount.2; 変更以前の 3.0-CURRENT - 300000 - - - - &man.mount.2; 変更以降の 3.0-CURRENT - 300001 - - - - &man.semctl.2; 変更以降の 3.0-CURRENT - 300002 - - - - ioctl 引数変更以降の 3.0-CURRENT - 300003 - - - - ELF 化以降の 3.0-CURRENT - 300004 - - - - 3.0-RELEASE - 300005 - - - - 3.0-RELEASE 以降の 3.0-CURRENT - 300006 - - - - 3/4 の分岐以降の 3.0-STABLE - 300007 - - - - 3.1-RELEASE - 310000 - - - - 3.1-RELEASE 以降の 3.1-STABLE - 310001 - - - - C++ コンストラクタ/デストラクタ順序変更の後の - 3.1-STABLE - 310002 - - - - 3.2-RELEASE - 320000 - - - - 3.2-STABLE - 320001 - - - - バイナリ互換性のない IPFW とソケットの変更後の - 3.2-STABLE - 320002 - - - - 3.3-RELEASE - 330000 - - - - 3.3-STABLE - 330001 - - - - libc に &man.mkstemp.3; が追加された後の 3.3-STABLE - 330002 - - - - 3.4-RELEASE - 340000 - - - - 3.4-STABLE - 340001 - - - - 3.4 が分岐した後の 4.0-CURRENT - 400000 - - - - dynamic linker の変更後の 4.0-CURRENT - 400001 - - - - C++ コンストラクタ/デストラクタ順序変更の後の - 4.0-CURRENT - 400002 - - - - &man.dladdr.3; 機能追加後の 4.0-CURRENT - 400003 - - - - __deregister_frame_info dynamic linker のバグ修正, - EGCS 1.1.2 導入後の 4.0-CURRENT - 400004 - - - - &man.suser.9; の API 変更, newbus 化 - 以降の 4.0-CURRENT - 400005 - - - - cdevsw 登録方法の変更後の 4.0-CURRENT - 400006 - - - - ソケットレベルの証明書 (credential) のために - so_cred が追加された後の 4.0-CURRENT - 400007 - - - - libc_r への poll syscall ラッパー追加後の - 4.0-CURRENT - 400008 - - - - kernel の dev_t 型から - struct spacinfo ポインタへの - 変更後の 4.0-CURRENT - 400009 - - - - &man.jail.2; のセキュリティホール - 修正後の 4.0-CURRENT - 400010 - - - - sigset_t の - データ型変更後の 4.0-CURRENT - 400011 - - - - システムコンパイラを gcc 2.95.2 にアップグレードした - 後の 4.0-CURRENT - 400012 - - - - 動的組み込み可能な Linux モードの ioctl ハンドラが - 追加された後の 4.0-CURRENT - 400013 - - - - OpenSSL 導入後の 4.0-CURRENT - 400014 - - - - GCC 2.95.2 の C++ ABI 変更で, - デフォルトを -fvtable-thunks から -fno-vtable-thunks に - 変更した後の 4.0-CURRENT - 400015 - - - - OpenSSH 導入後の 4.0-CURRENT - 400016 - - - - 4.0-RELEASE - 400017 - - - - 4.0-RELEASE 以降の 4.0-STABLE - 400018 - - - - libxpg4 が libc にマージされた後の - 4.0-STABLE - 400020 - - - - Binutils を 2.10.0 にアップグレードし, - ELF バイナリのマーク付け (branding) 方法を変更し, - tcsh をベースシステムに導入した後の - 4.0-STABLE - 400021 - - - - 4.1-RELEASE - 410000 - - - - 4.1-RELEASE 以降の 4.1-STABLE - 410001 - - - - &man.setproctitle.3; が libutil から libc に - 移動した後の 4.1-STABLE - 410002 - - - - 4.1.1-RELEASE - 411000 - - - - 4.1.1-RELEASE 以降の 4.1.1-STABLE - 411001 - - - - 4.2-RELEASE - 420000 - - - - libgcc.a と libgcc_r.a の結合および, 関連する - GCC linkage 変更が行なわれた後の 4.2-STABLE - 420001 - - - - 4.3-RELEASE - 430000 - - - - wint_t 導入後の 4.3-STABLE - 430001 - - - - PCI パワーステート API マージ後の 4.3-STABLE - 430002 - - - + + + + + Release + __FreeBSD_version + + + + + + 2.0-RELEASE + 119411 + + + + 2.1-CURRENT + 199501, 199503 + + + + 2.0.5-RELEASE + 199504 + + + + 2.1 以前の 2.2-CURRENT + 199508 + + + + 2.1.0-RELEASE + 199511 + + + + 2.1.5 以前の 2.2-CURRENT + 199512 + + + + 2.1.5-RELEASE + 199607 + + + + 2.1.6 以前の 2.2-CURRENT + 199608 + + + + 2.1.6-RELEASE + 199612 + + + + 2.1.7-RELEASE + 199612 + + + + 2.2-RELEASE + 220000 + + + + 2.2.1-RELEASE + 220000 (変更なし) + + + + 2.2.1-RELEASE 以降の 2.2-STABLE + 220000 (変更なし) + + + + texinfo-3.9 以降の 2.2-STABLE + 221001 + + + + top 導入以降の 2.2-STABLE + 221002 + + + + 2.2.2-RELEASE + 222000 + + + + 2.2.2-RELEASE 以降の 2.2-STABLE + 222001 + + + + 2.2.5-RELEASE + 225000 + + + + 2.2.5-RELEASE 以降の 2.2-STABLE + 225001 + + + + ldconfig -R マージ以降の 2.2-STABLE + 225002 + + + + 2.2.6-RELEASE + 226000 + + + + 2.2.7-RELEASE + 227000 + + + + 2.2.7-RELEASE 以降の 2.2-STABLE + 227001 + + + + &man.semctl.2; 変更以降の 2.2-STABLE + 227002 + + + + 2.2.8-RELEASE + 228000 + + + + 2.2.8-RELEASE 以降の 2.2-STABLE + 228001 + + + + &man.mount.2; 変更以前の 3.0-CURRENT + 300000 + + + + &man.mount.2; 変更以降の 3.0-CURRENT + 300001 + + + + &man.semctl.2; 変更以降の 3.0-CURRENT + 300002 + + + + ioctl 引数変更以降の 3.0-CURRENT + 300003 + + + + ELF 化以降の 3.0-CURRENT + 300004 + + + + 3.0-RELEASE + 300005 + + + + 3.0-RELEASE 以降の 3.0-CURRENT + 300006 + + + + 3/4 の分岐以降の 3.0-STABLE + 300007 + + + + 3.1-RELEASE + 310000 + + + + 3.1-RELEASE 以降の 3.1-STABLE + 310001 + + + + C++ コンストラクタ/デストラクタ順序変更の後の + 3.1-STABLE + 310002 + + + + 3.2-RELEASE + 320000 + + + + 3.2-STABLE + 320001 + + + + バイナリ互換性のない IPFW とソケットの変更後の + 3.2-STABLE + 320002 + + + + 3.3-RELEASE + 330000 + + + + 3.3-STABLE + 330001 + + + + libc に &man.mkstemp.3; が追加された後の 3.3-STABLE + 330002 + + + + 3.4-RELEASE + 340000 + + + + 3.4-STABLE + 340001 + + + + 3.4 が分岐した後の 4.0-CURRENT + 400000 + + + + dynamic linker の変更後の 4.0-CURRENT + 400001 + + + + C++ コンストラクタ/デストラクタ順序変更の後の + 4.0-CURRENT + 400002 + + + + &man.dladdr.3; 機能追加後の 4.0-CURRENT + 400003 + + + + __deregister_frame_info dynamic linker のバグ修正、 + EGCS 1.1.2 導入後の 4.0-CURRENT + 400004 + + + + &man.suser.9; の API 変更、newbus 化 + 以降の 4.0-CURRENT + 400005 + + + + cdevsw 登録方法の変更後の 4.0-CURRENT + 400006 + + + + ソケットレベルの証明書 (credential) のために + so_cred が追加された後の 4.0-CURRENT + 400007 + + + + libc_r への poll syscall ラッパー追加後の + 4.0-CURRENT + 400008 + + + + kernel の dev_t 型から + struct spacinfo ポインタへの + 変更後の 4.0-CURRENT + 400009 + + + + &man.jail.2; のセキュリティホール + 修正後の 4.0-CURRENT + 400010 + + + + sigset_t の + データ型変更後の 4.0-CURRENT + 400011 + + + + システムコンパイラを gcc 2.95.2 にアップグレードした + 後の 4.0-CURRENT + 400012 + + + + 動的組み込み可能な Linux モードの ioctl ハンドラが + 追加された後の 4.0-CURRENT + 400013 + + + + OpenSSL 導入後の 4.0-CURRENT + 400014 + + + + GCC 2.95.2 の C++ ABI 変更で、 + デフォルトを -fvtable-thunks から -fno-vtable-thunks に + 変更した後の 4.0-CURRENT + 400015 + + + + OpenSSH 導入後の 4.0-CURRENT + 400016 + + + + 4.0-RELEASE + 400017 + + + + 4.0-RELEASE 以降の 4.0-STABLE + 400018 + + + + libxpg4 が libc にマージされた後の + 4.0-STABLE + 400020 + + + + Binutils を 2.10.0 にアップグレードし、 + ELF バイナリのマーク付け (branding) 方法を変更し、 + tcsh をベースシステムに導入した後の + 4.0-STABLE + 400021 + + + + 4.1-RELEASE + 410000 + + + + 4.1-RELEASE 以降の 4.1-STABLE + 410001 + + + + &man.setproctitle.3; が libutil から libc に + 移動した後の 4.1-STABLE + 410002 + + + + 4.1.1-RELEASE + 411000 + + + + 4.1.1-RELEASE 以降の 4.1.1-STABLE + 411001 + + + + 4.2-RELEASE + 420000 + + + + libgcc.a と libgcc_r.a の結合および、関連する + GCC linkage 変更が行なわれた後の 4.2-STABLE + 420001 + + + + 4.3-RELEASE + 430000 + + + + wint_t 導入後の 4.3-STABLE + 430001 + + + + PCI パワーステート API マージ後の 4.3-STABLE + 430002 + + + 4.4-RELEASE 440000 @@ -3331,136 +3331,136 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - 5.0-CURRENT - 500000 - + 5.0-CURRENT + 500000 + - - ELF ヘッダフィールドの追加と ELF バイナリのマーク付け - (branding) 方法の変更後の 5.0-CURRENT - 500001 - + + ELF ヘッダフィールドの追加と ELF バイナリのマーク付け + (branding) 方法の変更後の 5.0-CURRENT + 500001 + - - kld メタデータ変更後の 5.0-CURRENT - 500002 - + + kld メタデータ変更後の 5.0-CURRENT + 500002 + - - buf/bio 変更後の 5.0-CURRENT - 500003 - + + buf/bio 変更後の 5.0-CURRENT + 500003 + - - binutils アップグレード後の 5.0-CURRENT - 500004 - + + binutils アップグレード後の 5.0-CURRENT + 500004 + - - libxpg4 コードの libc へのマージと, - TASKQ インターフェイスの導入後の 5.0-CURRENT - 500005 - + + libxpg4 コードの libc へのマージと、 + TASKQ インターフェイスの導入後の 5.0-CURRENT + 500005 + - - AGP インターフェイス追加後の 5.0-CURRENT - 500006 - + + AGP インターフェイス追加後の 5.0-CURRENT + 500006 + - - Perl を 5.6.0 にアップグレードした後の - 5.0-CURRENT - 500007 - + + Perl を 5.6.0 にアップグレードした後の + 5.0-CURRENT + 500007 + - - KAME コードを 2000/07 版のソースに更新した後の - 5.0-CURRENT - 500008 - + + KAME コードを 2000/07 版のソースに更新した後の + 5.0-CURRENT + 500008 + - - ether_ifattach() および - ether_ifdetach() 変更後の 5.0-CURRENT - 500009 - + + ether_ifattach() および + ether_ifdetach() 変更後の 5.0-CURRENT + 500009 + - - mtree のデフォルトをオリジナルの変種に戻し, - シンボリックリンクをたどる -L オプションを追加した後の - 5.0-CURRENT - 500010 - + + mtree のデフォルトをオリジナルの変種に戻し、 + シンボリックリンクをたどる -L オプションを追加した後の + 5.0-CURRENT + 500010 + - - kqueue API 変更後の 5.0-CURRENT - 500011 - + + kqueue API 変更後の 5.0-CURRENT + 500011 + - - &man.setproctitle.3; が libutil から libc - へ移動した後の 5.0-CURRENT - 500012 - + + &man.setproctitle.3; が libutil から libc + へ移動した後の 5.0-CURRENT + 500012 + - - 最初の SMPng がコミットされた後の - 5.0-CURRENT - 500013 - + + 最初の SMPng がコミットされた後の + 5.0-CURRENT + 500013 + - - <sys/select.h> が <sys/selinfo.h> に - 移動した後の 5.0-CURRENT - 500014 - + + <sys/select.h> が <sys/selinfo.h> に + 移動した後の 5.0-CURRENT + 500014 + - - libgcc.a と libgcc_r.a の結合および関連する - GCC linkage 変更が行なわれた後の 5.0-CURRENT - 500015 - + + libgcc.a と libgcc_r.a の結合および関連する + GCC linkage 変更が行なわれた後の 5.0-CURRENT + 500015 + - - libc と libc_r の混合リンクを許し, - -pthread オプションを deprecate する - 変更後の 5.0-CURRENT - 500016 - + + libc と libc_r の混合リンクを許し、 + -pthread オプションを deprecate する + 変更後の 5.0-CURRENT + 500016 + - - mountd 等が使用する kernel-exported API の - 安定化のため, ucred 構造体から xucred 構造体へ - 移行した後の 5.0-CURRENT - 500017 - + + mountd 等が使用する kernel-exported API の + 安定化のため、ucred 構造体から xucred 構造体へ + 移行した後の 5.0-CURRENT + 500017 + - - CPU 依存の最適化を制御するための make 変数 - CPUTYPE が追加された後の 5.0-CURRENT - 500018 - + + CPU 依存の最適化を制御するための make 変数 + CPUTYPE が追加された後の 5.0-CURRENT + 500018 + - - <machine/ioctl_fd.h> が - <sys/fdcio.h> に移動した後の 5.0-CURRENT - 500019 - + + <machine/ioctl_fd.h> が + <sys/fdcio.h> に移動した後の 5.0-CURRENT + 500019 + - - ロケール名変更の後の 5.0-CURRENT - 500020 - + + ロケール名変更の後の 5.0-CURRENT + 500020 + - - Bzip2 導入後の 5.0-CURRENT - 500021 - + + Bzip2 導入後の 5.0-CURRENT + 500021 + - - SSE サポート後の 5.0-CURRENT - 500022 - + + SSE サポート後の 5.0-CURRENT + 500022 + KSE マイルストーン 2 以降の 5.0-CURRENT @@ -3491,148 +3491,148 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} 5.0-CURRENT 500027 - - - - + + + + - (2.2-STABLE は 2.2.5-RELESE 以後, - 2.2.5-STABLE と呼ばれることがあります.) - 見てのとおりこれは年・月というフォーマットになっていましたが, - バージョン 2.2 からより直接的にメジャー/マイナー番号を使うように変更になりました. - 並行していくつかのブランチ - (枝分かれしたバージョン) - を開発する場合には, - リリースされた日付でそれらのリリースを分類することが不可能だからです - (あなたが今 port - を作成するときに, 古い -CURRENT 達について心配する必要はありません. - これは参考のために挙げられているに過ぎないからです). + (2.2-STABLE は 2.2.5-RELESE 以後、 + 2.2.5-STABLE と呼ばれることがあります。) + 見てのとおりこれは年・月というフォーマットになっていましたが、 + バージョン 2.2 からより直接的にメジャー/マイナー番号を使うように変更になりました。 + 並行していくつかのブランチ + (枝分かれしたバージョン) + を開発する場合には、 + リリースされた日付でそれらのリリースを分類することが不可能だからです + (あなたが今 port + を作成するときに、古い -CURRENT 達について心配する必要はありません。 + これは参考のために挙げられているに過ぎないからです)。 - これまで, 何百もの - port が作られてきましたが, - __FreeBSD__ - が正しく使われたのは一つか二つの場合だけでしょう. - 以前の port が誤った場所でそのマクロを使っているからといって, - それをまねする理由はありません. + これまで、何百もの + port が作られてきましたが、 + __FreeBSD__ + が正しく使われたのは一つか二つの場合だけでしょう。 + 以前の port が誤った場所でそのマクロを使っているからといって、 + それをまねする理由はありません。 <filename>bsd.port.mk</filename> の後に書くこと .include <bsd.port.mk> - の行の後には何も書かないようにしてください. - 大抵の場合は - Makefile の中程のどこかで - bsd.port.pre.mk をインクルードして, - 最後に - bsd.port.pre.mk - をインクルードすることによって避けることができます. + の行の後には何も書かないようにしてください。 + 大抵の場合は + Makefile の中程のどこかで + bsd.port.pre.mk をインクルードして、 + 最後に + bsd.port.pre.mk + をインクルードすることによって避けることができます。 - pre.mk/post.mk - のペアか bsd.port.mk - だけのどちらかだけをインクルードし, 二つを混ぜないでください. + pre.mk/post.mk + のペアか bsd.port.mk + だけのどちらかだけをインクルードし、二つを混ぜないでください。 前者はいくつかの変数の定義だけをして - Makefile - でのテストに使用し, 後者は残りを定義します. + Makefile + でのテストに使用し、後者は残りを定義します。 以下は bsd.port.pre.mk - で定義される重要な変数です - (これは, すべてではありません. - 完全なリストは bsd.port.mk を参照してください). + で定義される重要な変数です + (これは、すべてではありません。 + 完全なリストは bsd.port.mk を参照してください)。 - - - - 変数名 - 解説 - - + + + + 変数名 + 解説 + + - - - ARCH - uname -m で返される - アーキテクチャ. (例, i386). - - + + + ARCH + uname -m で返される + アーキテクチャ。(例、i386)。 + + - - OPSYS - uname -s で返される - オペレーティングシステム (例, - FreeBSD). - + + OPSYS + uname -s で返される + オペレーティングシステム (例、 + FreeBSD)。 + - - OSREL - オペレーティングシステムの - リリースバージョン - (例., 2.1.5, - 2.2.7). - + + OSREL + オペレーティングシステムの + リリースバージョン + (例、2.1.5, + 2.2.7)。 + - - OSVERSION - 数字形式のオペレーティングシステム - のバージョン, - 上記の - __FreeBSD_version - と同じです. - + + OSVERSION + 数字形式のオペレーティングシステム + のバージョン、 + 上記の + __FreeBSD_version + と同じです。 + - - PORTOBJFORMAT - システムのオブジェクト - フォーマット (aout あるいは - elf). - + + PORTOBJFORMAT + システムのオブジェクト + フォーマット (aout あるいは + elf)。 + - - LOCALBASE - local ツリーのベース. - (例, /usr/local/). - - + + LOCALBASE + local ツリーのベース。 + (例、/usr/local/)。 + + - - X11BASE - X11 ツリーのベース. - (例, /usr/X11R6/). - - + + X11BASE + X11 ツリーのベース。 + (例、/usr/X11R6/)。 + + - - PREFIX - ports のインストール先 - ( - PREFIXについてを参照). - - - - + + PREFIX + ports のインストール先 + ( + PREFIXについてを参照)。 + + + + - USE_IMAKE, - USE_X_PREFIX あるいは - MASTERDIR - などの変数を定義する必要がある場合には, - bsd.port.pre.mk - をインクルード前に定義してください. - 他のものは bsd.port.pre.mk - の前でも後でもかまいません. + USE_IMAKE, + USE_X_PREFIX あるいは + MASTERDIR + などの変数を定義する必要がある場合には、 + bsd.port.pre.mk + をインクルード前に定義してください。 + 他のものは bsd.port.pre.mk + の前でも後でもかまいません。 以下は bsd.port.pre.mk - の後に書けるものの例です. + の後に書けるものの例です。 # no need to compile lang/perl5 if perl5 is already in system .if ${OSVERSION} > 300003 @@ -3657,26 +3657,26 @@ post-install: 付加的な文書のインストール 普通のマニュアルや info - ファイルの他にユーザにとって有用だと思えるような文書がある場合には, - PREFIX/share/doc - の下にインストールしてください. - これは前記と同様 - post-install - ターゲットの中から行なうと良いでしょう. + ファイルの他にユーザにとって有用だと思えるような文書がある場合には、 + PREFIX/share/doc + の下にインストールしてください。 + これは前記と同様 + post-install + ターゲットの中から行なうと良いでしょう。 - まず, あなたの port のために新しいディレクトリを作ります. - どの port の文書か簡単にわかるような名前にする必要がありますので, - 普通は PORTNAME を使うと良いでしょう. - もちろん, ユーザが異なるバージョンのものを同時に使うことが予想される - port の場合には - PKGNAME をそのまま使っても構いません. + まず、あなたの port のために新しいディレクトリを作ります。 + どの port の文書か簡単にわかるような名前にする必要がありますので、 + 普通は PORTNAME を使うと良いでしょう。 + もちろん、ユーザが異なるバージョンのものを同時に使うことが予想される + port の場合には + PKGNAME をそのまま使っても構いません。 ユーザが /etc/make.conf - でこの部分を禁止するために - NOPORTDOCS - という変数をセットしている場合には, - これらの文書がインストールされないようにしてください. - こんな具合です. + でこの部分を禁止するために + NOPORTDOCS + という変数をセットしている場合には、 + これらの文書がインストールされないようにしてください。 + こんな具合です。 post-install: .if !defined(NOPORTDOCS) @@ -3685,27 +3685,27 @@ post-install: .endif 文書ファイルおよびディレクトリはすべて - pkg-plist の中に - %%PORTDOCS%% を頭につけて書く必要があります. - たとえば, 次のようにしてください. + pkg-plist の中に + %%PORTDOCS%% を頭につけて書く必要があります。 + たとえば、次のようにしてください。 %%PORTDOCS%%share/doc/pure-ftpd/AUTHORS %%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-message + ファイルを + pkg-plist + に加える必要はありません。 @@ -3713,37 +3713,37 @@ post-install: <makevar>DIST_SUBDIR</makevar> /usr/ports/distfiles - ディレクトリ内をあまり散らかさないようにしてください. - たくさんのファイルを取ってくる port や, - 数は少なくても他の port - のファイルと混同される恐れがあるファイル - (Makefile など) - がある場合には, - DIST_SUBDIR に port の名前 - (${PORTNAME} か - ${PKGNAMEPREFIX}${PORTNAME} を使うといいでしょう) - を入れてください. - すると DISTDIR - がデフォルトの - /usr/ports/distfiles から - /usr/ports/distfiles/DIST_SUBDIR - に変更され, - 取ってきたファイルはすべてそのサブディレクトリの中に置かれるようになります. + ディレクトリ内をあまり散らかさないようにしてください。 + たくさんのファイルを取ってくる port や、 + 数は少なくても他の port + のファイルと混同される恐れがあるファイル + (Makefile など) + がある場合には、 + DIST_SUBDIR に port の名前 + (${PORTNAME} か + ${PKGNAMEPREFIX}${PORTNAME} を使うといいでしょう) + を入れてください。 + すると DISTDIR + がデフォルトの + /usr/ports/distfiles から + /usr/ports/distfiles/DIST_SUBDIR + に変更され、 + 取ってきたファイルはすべてそのサブディレクトリの中に置かれるようになります。 - また, - ファイルを取ってくるときにバックアップサイトとして使われる - ftp.FreeBSD.org - のディレクトリ名にもこの変数の値が使われます - (DISTDIR を明示的に指定した場合, - ローカルのファイルを置くところは変わりますが, - このサイトのディレクトリ名は変わりません. - 必ず DIST_SUBDIR を使うようにしてください). + また、 + ファイルを取ってくるときにバックアップサイトとして使われる + ftp.FreeBSD.org + のディレクトリ名にもこの変数の値が使われます + (DISTDIR を明示的に指定した場合、 + ローカルのファイルを置くところは変わりますが、 + このサイトのディレクトリ名は変わりません。 + 必ず DIST_SUBDIR を使うようにしてください)。 - この変数は Makefile - 中で明示的に指定された - MASTER_SITES - には影響しないことに注意してください. + この変数は Makefile + 中で明示的に指定された + MASTER_SITES + には影響しないことに注意してください。 @@ -3751,185 +3751,185 @@ post-install: package 情報 pkg-commentpkg-descr, - pkg-plist といった - package 情報を必ず入れるようにしてください. + pkg-plist といった + package 情報を必ず入れるようにしてください。 - これらのファイルはもはや package - の作成だけに使われるものではなくなっています. - たとえ NO_PACKAGEが定義されていたとしても - 必須であることに注意してください. + これらのファイルはもはや package + の作成だけに使われるものではなくなっています。 + たとえ NO_PACKAGEが定義されていたとしても + 必須であることに注意してください。 RCS 文字列 - RCS にとって特別な意味を持つ文字列をパッチ内に入れないようにしてください. - ファイルを私たちのソースツリーに入れる時, - これらの文字列は CVS によって書き換えられてしまい, - 後でまたパッチを使おうとした時にうまくいかないことがあります. - RCS 文字列はドル記号 ($) - で囲まれており, - $FreeBSD や - $RCS - などで始まります. + RCS にとって特別な意味を持つ文字列をパッチ内に入れないようにしてください。 + ファイルを私たちのソースツリーに入れる時、 + これらの文字列は CVS によって書き換えられてしまい、 + 後でまたパッチを使おうとした時にうまくいかないことがあります。 + RCS 文字列はドル記号 ($) + で囲まれており、 + $FreeBSD や + $RCS + などで始まります。 再帰的 diff diff - の再帰 - () - フラグを使って再帰的なパッチを作るのは大変結構なのですが, - でき上がったパッチは必ず目でチェックして余計なゴミが入っていないことを確認してください. - よくあるのはバックアップファイル同士の変更点, - あるいは - Imake や - GNU configure - を使うソフトウェアの - Makefile - の変更点が入っている場合などです. - また configure.in を編集して - autoconf を使って - configure を作り直すときには, - configure の diff は含めずに - (それらは良く数千行におよぶことがあります), - USE_AUTOCONF=yes を定義して - configure.in の - diff をとってください. + の再帰 + () + フラグを使って再帰的なパッチを作るのは大変結構なのですが、 + でき上がったパッチは必ず目でチェックして余計なゴミが入っていないことを確認してください。 + よくあるのはバックアップファイル同士の変更点、 + あるいは + Imake や + GNU configure + を使うソフトウェアの + Makefile + の変更点が入っている場合などです。 + また configure.in を編集して + autoconf を使って + configure を作り直すときには、 + configure の diff は含めずに + (それらは良く数千行におよぶことがあります)、 + USE_AUTOCONF=yes を定義して + configure.in の + diff をとってください。 - ファイルをまるごと消す場合には, - パッチを使わずに - post-extract ターゲットで消す方が簡単です. - できあがった差分に満足したら, - それらをソースのファイルごとに別々のパッチファイルに分割してください. + ファイルをまるごと消す場合には、 + パッチを使わずに + post-extract ターゲットで消す方が簡単です。 + できあがった差分に満足したら、 + それらをソースのファイルごとに別々のパッチファイルに分割してください。 <makevar>PREFIX</makevar> なるべく port は PREFIX - に対する相対パスにインストールすることができるように心がけてください - (この変数の値は - USE_X_PREFIX か - USE_IMAKE が指定してある時には - X11BASE - (デフォルトは /usr/X11R6), - そうでない場合にはLOCALBASE - (デフォルトは /usr/local) - にセットされます). + に対する相対パスにインストールすることができるように心がけてください + (この変数の値は + USE_X_PREFIX か + USE_IMAKE が指定してある時には + X11BASE + (デフォルトは /usr/X11R6)、 + そうでない場合にはLOCALBASE + (デフォルトは /usr/local) + にセットされます)。 - サイトによってフリーソフトウェアがインストールされる場所が違いますので, - ソース内で - /usr/local や - /usr/X11R6 - を明示的に書かないようにしてください. - X のプログラムで - imake を使うものについては, - - これは問題にはなりません. - それ以外の場合にはソース中の Makefile やスクリプトで - /usr/local - (imake を使わない X のプログラムは /usr/X11R6) - と書いてあるところを - PREFIX に書き換えてください. - この値は port のコンパイルおよび, - インストール時に自動的に環境変数として下位 make に渡されます. + サイトによってフリーソフトウェアがインストールされる場所が違いますので、 + ソース内で + /usr/local や + /usr/X11R6 + を明示的に書かないようにしてください。 + X のプログラムで + imake を使うものについては、 + + これは問題にはなりません。 + それ以外の場合にはソース中の Makefile やスクリプトで + /usr/local + (imake を使わない X のプログラムは /usr/X11R6) + と書いてあるところを + PREFIX に書き換えてください。 + この値は port のコンパイルおよび、 + インストール時に自動的に環境変数として下位 make に渡されます。 そのアプリケーションが PREFIX を - 使用しないで, 何かを直接 /usr/local に - インストールしないことを確認してください. - 以下のようにすると, 簡単なテストを行なうことができます: + 使用しないで、何かを直接 /usr/local に + インストールしないことを確認してください。 + 以下のようにすると、簡単なテストを行なうことができます: - &prompt.root; make clean; make package PREFIX=/var/tmp/port-name + &prompt.root; make clean; make package PREFIX=/var/tmp/port-name - この時, もし PREFIX の外に - 何かがインストールされていた場合, package 生成プロセスは - ファイルが見つからないと文句を言うはずです. + この時、もし PREFIX の外に + 何かがインストールされていた場合、package 生成プロセスは + ファイルが見つからないと文句を言うはずです。 - ただし, これは そのソフトウェアが内部で決め打ちの参照を - していないかどうか だとか, 他の port によってインストールされる - ファイルを参照する際に LOCALBASE を - 正しく使用しているかどうかをテストしているわけではありません. - その port を他の場所にインストールした状態で, - /var/tmp/port-name に - 対するインストールを試みることにより, - そのテストをすることができるでしょう. + ただし、これは そのソフトウェアが内部で決め打ちの参照を + していないかどうか だとか、他の port によってインストールされる + ファイルを参照する際に LOCALBASE を + 正しく使用しているかどうかをテストしているわけではありません。 + その port を他の場所にインストールした状態で、 + /var/tmp/port-name に + 対するインストールを試みることにより、 + そのテストをすることができるでしょう。 USE_X_PREFIX は本当に必要な時 (つまり - X のライブラリをリンクしたり, X11BASE 以下にある - ファイルを参照したりする必要がある時) 以外には - 設定しないでください. + X のライブラリをリンクしたり、X11BASE 以下にある + ファイルを参照したりする必要がある時) 以外には + 設定しないでください。 変数 PREFIX の値は - port の Makefile やユーザの環境で変更することもできます. - しかし, 個々の port が Makefile - でこの変数の値を明示的に設定することはなるべくしないでください. + port の Makefile やユーザの環境で変更することもできます。 + しかし、個々の port が Makefile + でこの変数の値を明示的に設定することはなるべくしないでください。 - また, 他の port によりインストールされるプログラムや - ファイルを指定する場合には, 直接的なパス名を使用するのではなく - 上で述べた変数を使用してください. - たとえば less のフルパスを - PAGER というマクロに入れたい場合は, - -DPAGER=\"/usr/local/bin/less\" - というフラグをコンパイラに渡すかわりに - -DPAGER=\"${PREFIX}/bin/less\" - (X Window System を使う port の場合には - -DPAGER=\"${LOCALBASE}/bin/less\") - を渡してください. - こうしておけば, システム管理者が /usr/local を - まるごと どこか他の場所に移していたとしても, その port が - そのまま使える可能性が高くなります. + また、他の port によりインストールされるプログラムや + ファイルを指定する場合には、直接的なパス名を使用するのではなく + 上で述べた変数を使用してください。 + たとえば less のフルパスを + PAGER というマクロに入れたい場合は、 + -DPAGER=\"/usr/local/bin/less\" + というフラグをコンパイラに渡すかわりに + -DPAGER=\"${PREFIX}/bin/less\" + (X Window System を使う port の場合には + -DPAGER=\"${LOCALBASE}/bin/less\") + を渡してください。 + こうしておけば、システム管理者が /usr/local を + まるごと どこか他の場所に移していたとしても、その port が + そのまま使える可能性が高くなります。 ディレクトリ構成 インストール時には - PREFIX - の正しいサブディレクトリにファイルを置くように心がけてください. - ソフトウェアによっては新しいディレクトリを一つ作って, - ファイルを全部それに入れてしまうものがありますが, - それは良くありません. - また, バイナリ, ヘッダファイルとマニュアル以外のすべてを - lib - というディレクトリに入れてしまう port もありますが, - これも BSD 的なファイルシステム構成からいうと正しくありません. - これは以下のように分散すべきです. - etc - にセットアップ/コンフィグレーションファイル, - libexec - に内部で使用されるプログラム - (コマンドラインから呼ばれることのないコマンド), - sbin - に管理者用のコマンド, - info - に GNU Info 用の文書, - そして - share にアーキテクチャに依存しないファイルが入ります. - 詳細については &man.hier.7; のマニュアルページを参照してください. - /usr - の構成方針はほとんどそのまま - /usr/local にもあてはまります. - USENET ニュースを扱う ports は例外です. - これらはファイルのインストール先として - PREFIX/news - を使用します. + PREFIX + の正しいサブディレクトリにファイルを置くように心がけてください。 + ソフトウェアによっては新しいディレクトリを一つ作って、 + ファイルを全部それに入れてしまうものがありますが、 + それは良くありません。 + また、バイナリ、ヘッダファイルとマニュアル以外のすべてを + lib + というディレクトリに入れてしまう port もありますが、 + これも BSD 的なファイルシステム構成からいうと正しくありません。 + これは以下のように分散すべきです。 + etc + にセットアップ/コンフィグレーションファイル、 + libexec + に内部で使用されるプログラム + (コマンドラインから呼ばれることのないコマンド)、 + sbin + に管理者用のコマンド、 + info + に GNU Info 用の文書、 + そして + share にアーキテクチャに依存しないファイルが入ります。 + 詳細については &man.hier.7; のマニュアルページを参照してください。 + /usr + の構成方針はほとんどそのまま + /usr/local にもあてはまります。 + USENET ニュースを扱う ports は例外です。 + これらはファイルのインストール先として + PREFIX/news + を使用します。 空のディレクトリの削除 - ports は削除の際に, - 自分自身を消去したあとに - (ディレクトリの) - 削除をするようにしてください. - これは大抵の場合 @dirrm の行を - ports が作成するすべてのディレクトリについて加えることによって実現できます. - 親ディレクトリは子ディレクトリを先に消さないと消せないことに注意してください. + ports は削除の際に、 + 自分自身を消去したあとに + (ディレクトリの) + 削除をするようにしてください。 + これは大抵の場合 @dirrm の行を + ports が作成するすべてのディレクトリについて加えることによって実現できます。 + 親ディレクトリは子ディレクトリを先に消さないと消せないことに注意してください。 : lib/X11/oneko/pixmaps/cat.xpm @@ -3939,48 +3939,48 @@ lib/X11/oneko/sounds/cat.au @dirrm lib/X11/oneko/sounds @dirrm lib/X11/oneko - といった感じです. + といった感じです。 - しかし時として, - 他の port とディレクトリを共有しているために - @dirrm がエラーを返すことがあります. - rmdir を - @unexec - から呼びだすことによって, - 警告(warning)なしで空のディレクトリのみを削除することができます. + しかし時として、 + 他の port とディレクトリを共有しているために + @dirrm がエラーを返すことがあります。 + rmdir を + @unexec + から呼びだすことによって、 + 警告(warning)なしで空のディレクトリのみを削除することができます。 @unexec rmdir %D/share/doc/gimp 2>/dev/null || true - これを使えば, たとえ他の - port がファイルをインストールしていて - PREFIX/share/doc/gimp - が空でない場合でもエラーメッセージは表示されませんし, - pkg_delete - が異常終了することもありません. + これを使えば、たとえ他の + port がファイルをインストールしていて + PREFIX/share/doc/gimp + が空でない場合でもエラーメッセージは表示されませんし、 + pkg_delete + が異常終了することもありません。 UID - あなたの port が, - インストールされるシステム上に特定のユーザを必要とする場合は - pkg-install スクリプトから - pw - コマンドを実行して自動的にそのユーザを追加するようにしてください. - net/cvsup-mirror の port が参考になるでしょう. + あなたの port が、 + インストールされるシステム上に特定のユーザを必要とする場合は + pkg-install スクリプトから + pw + コマンドを実行して自動的にそのユーザを追加するようにしてください。 + net/cvsup-mirror の port が参考になるでしょう。 あなたの port がバイナリの - package としてインストールされる場合とコンパイルされる場合の両方で, - 同じユーザー/グループ ID を使わなければならないのなら, 50 から - 999 の間で空いている UID を選んで登録してください. - japanese/Wnn の port - が参考になるでしょう. + package としてインストールされる場合とコンパイルされる場合の両方で、 + 同じユーザー/グループ ID を使わなければならないのなら、50 から + 999 の間で空いている UID を選んで登録してください。 + japanese/Wnn の port + が参考になるでしょう。 既にシステムや他の port で利用されている - UIDを使わないように十分注意してください. - 現在の 50 から 999 までの間の UID は以下のとおりです. + UIDを使わないように十分注意してください。 + 現在の 50 から 999 までの間の UID は以下のとおりです。 majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent @@ -4006,75 +4006,75 @@ vpopmail:*:89:89::0:0:User &:/usr/local/vpopmail:/nonexistent smmsp:*:90:90:Sendmail Queue:/nonexistent:/nonexistent drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin - このリストを最新の状態に保つためにも, - この範囲の UID や GID を予約するような port を作ったり, - 既存の port にそのような改変を行なってわたしたちに送るときには - UID の予約に関する注意書きをつけてください. + このリストを最新の状態に保つためにも、 + この範囲の UID や GID を予約するような port を作ったり、 + 既存の port にそのような改変を行なってわたしたちに送るときには + UID の予約に関する注意書きをつけてください。 合理的な port Makefile - は単純かつ適切であるべきです. もし, - Makefile を数行短かくできたり, - もっと読みやすくできるのであればそうしてください. - たとえば, - シェルの if 構文を使うかわりに - make の .if 構文を使う, - EXTRACT* の再定義で代用できるのであれば - do-extract を再定義しない, - CONFIGURE_ARGS += --prefix=${PREFIX} - とするかわりに - GNU_CONFIGURE とする, などです. + は単純かつ適切であるべきです。もし、 + Makefile を数行短かくできたり、 + もっと読みやすくできるのであればそうしてください。 + たとえば、 + シェルの if 構文を使うかわりに + make の .if 構文を使う、 + EXTRACT* の再定義で代用できるのであれば + do-extract を再定義しない、 + CONFIGURE_ARGS += --prefix=${PREFIX} + とするかわりに + GNU_CONFIGURE とする、などです。 <makevar>CFLAGS</makevar> の尊重 - CFLAGS 変数は尊重すべきです. - port がこれを無視する場合は, - NO_PACKAGE=ignores cflags を - Makefile に加えてください. + CFLAGS 変数は尊重すべきです。 + port がこれを無視する場合は、 + NO_PACKAGE=ignores cflags を + Makefile に加えてください。 CFLAGS 変数をきちんと考慮した - Makefile の例を以下に示します. - += の部分に注目してください. + Makefile の例を以下に示します。 + += の部分に注目してください。 CFLAGS += -Wall -Werror 次は CFLAGS - 変数を考慮しない Makefile の例です. + 変数を考慮しない Makefile の例です。 CFLAGS = -Wall -Werror - CFLAGS 変数は, - FreeBSD システムの - /etc/make.conf - で定義されています. - 最初の例では既存の定義を保存しつつ CFLAGS - 変数にオプションフラグを追加しているのに対し, - 二番目の例では既存の定義をすべて無効にしてしまっています. + CFLAGS 変数は、 + FreeBSD システムの + /etc/make.conf + で定義されています。 + 最初の例では既存の定義を保存しつつ CFLAGS + 変数にオプションフラグを追加しているのに対し、 + 二番目の例では既存の定義をすべて無効にしてしまっています。 コンフィグレーション (設定) ファイル もしあなたの port が設定ファイルを - PREFIX/etc - に置く必要がある場合には, それを単純にインストールしたり, - pkg-plist - に加えてはいけません. - こうしてしまうと - pkg_delete - によってユーザが苦労して作ったファイルが消えてしまったり, - 新しくインストールする時に上書きされてしまったりします. + PREFIX/etc + に置く必要がある場合には、それを単純にインストールしたり、 + pkg-plist + に加えてはいけません。 + こうしてしまうと + pkg_delete + によってユーザが苦労して作ったファイルが消えてしまったり、 + 新しくインストールする時に上書きされてしまったりします。 かわりに見本となるファイルを - サフィックス - (filename.sample が良いでしょう) - を付けてインストールしてメッセージを表示し, - ソフトウェアを動かす前にユーザがそのファイルをコピーして編集をしなければならないことを知らせましょう. + サフィックス + (filename.sample が良いでしょう) + を付けてインストールしてメッセージを表示し、 + ソフトウェアを動かす前にユーザがそのファイルをコピーして編集をしなければならないことを知らせましょう。 @@ -4082,56 +4082,56 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin portlint 送付や commit をする前に - portlint - を使ってチェックしましょう. + portlint + を使ってチェックしましょう。 フィードバック - port を作るためにソフトウェアに変更を加えたら, - なるべく原作者にその旨を伝えてパッチ等を送ってください. - これらが次のリリースに取り入れられればアップグレードが楽になります. + port を作るためにソフトウェアに変更を加えたら、 + なるべく原作者にその旨を伝えてパッチ等を送ってください。 + これらが次のリリースに取り入れられればアップグレードが楽になります。 <filename>README.html</filename> - README.html というファイルを含めてはいけません. - このファイルは, cvs コレクションの一部ではなく, - make readme コマンドで生成されるファイルです. + README.html というファイルを含めてはいけません。 + このファイルは、cvs コレクションの一部ではなく、 + make readme コマンドで生成されるファイルです。 その他諸々 pkg-comment, - pkg-descr, - pkg-plist などのファイルはそれぞれ二重にチェックしてください. - 再検討してもっと良い記述があればそれに置きかえてください. + pkg-descr, + pkg-plist などのファイルはそれぞれ二重にチェックしてください。 + 再検討してもっと良い記述があればそれに置きかえてください。 GNU General Public License - (GNU一般公有使用許諾) - のコピーは - (すでにあるので) - コピーしないでください. - お願いします. + (GNU一般公有使用許諾) + のコピーは + (すでにあるので) + コピーしないでください。 + お願いします。 - 法律に関することには十分注意をはらってください. - わたしたちに法律に反するような形でソフトウェアの配布をさせないでください! + 法律に関することには十分注意をはらってください。 + わたしたちに法律に反するような形でソフトウェアの配布をさせないでください! - 困ったら.... + 困ったら… - わたしたちに質問を送る前に, - 既存の port の例と - bsd.port.mk をちゃんと読んでください! - ;) + わたしたちに質問を送る前に、 + 既存の port の例と + bsd.port.mk をちゃんと読んでください! + ;) それでもわからないことがあったら一人で悩まないでどんどん質問してください! - :-) + :-) @@ -4139,41 +4139,41 @@ drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin <filename>Makefile</filename> のサンプル これは port の - Makefile を作る際のお手本です. - かぎかっこ ([]) 内のコメントは忘れずに取ってください. + Makefile を作る際のお手本です。 + かぎかっこ ([]) 内のコメントは忘れずに取ってください。 - 変数の順番, 段落の間の空行など, + 変数の順番、段落の間の空行など、 Makefile - を作るときはなるべくこの形式に従ってください. - この形式は重要な情報が簡単に見つけられるように設計されています. + を作るときはなるべくこの形式に従ってください。 + この形式は重要な情報が簡単に見つけられるように設計されています。 portlint を使って - Makefile をチェックすることが推奨されています. + Makefile をチェックすることが推奨されています。 [ヘッダ ... どのような port の Makefile かすぐにわかるようになっています] # New ports collection makefile for: xdvi -["version required" 行は, PORTVERSION 変数では port のバージョンを -十分に表現できない場合にのみ必要です. ] +["version required" 行は、PORTVERSION 変数では port のバージョンを +十分に表現できない場合にのみ必要です。] # Date created: 26 May 1995 -[このソフトウェアを最初に FreeBSD に port した人の名前, つまり, - この Makefile の最初の版を書いた人です. この port をアップグレー - ドするとき, この行も変えないでください.] +[このソフトウェアを最初に FreeBSD に port した人の名前、つまり、 + この Makefile の最初の版を書いた人です。この port をアップグレー + ドするとき、この行も変えないでください。] # Whom: Satoshi Asami <asami@FreeBSD.org> # # $FreeBSD$ -[ ^^^^^^^^^ この部分は, CVS ツリーに入れる時に自動的に RCS の ID 文字列に - 置き換えられます.] +[ ^^^^^^^^^ この部分は、CVS ツリーに入れる時に自動的に RCS の ID 文字列に + 置き換えられます。] # -[port 自体, およびオリジナルのソースを取ってくるところを記述する部分. +[port 自体、およびオリジナルのソースを取ってくるところを記述する部分。 最初は必ず PORTNAME と PORTVERSION, そして必要なら PKGNAME, - CATEGORIES, 続いて MASTER_SITES が置かれ, さらに MASTER_SITE_SUBDIR が - 置かれることもあります. 必要なら PKGNAMEPREFIX と PKGNAMESUFFIX が - それに続き, そして DISTNAME, EXTRACT_SUFX, DISTFILES が, - また, その後に必要に応じて EXTRACT_ONLY が置かれます.] + CATEGORIES, 続いて MASTER_SITES が置かれ、さらに MASTER_SITE_SUBDIR が + 置かれることもあります。必要なら PKGNAMEPREFIX と PKGNAMESUFFIX が + それに続き、そして DISTNAME, EXTRACT_SUFX, DISTFILES が、 + また、その後に必要に応じて EXTRACT_ONLY が置かれます。] PORTNAME= xdvi PORTVERSION= 18.2 CATEGORIES= print -[MASTER_SITE_* マクロを使用しない場合は, +[MASTER_SITE_* マクロを使用しない場合は、 最後のスラッシュを忘れないように ("/")!] MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications @@ -4185,8 +4185,8 @@ EXTRACT_SUFX= .tar.Z PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz -[保守責任者 -- これは *必ず* 必要です. 担当者 (あなた) 自身, あるいは - 担当者に素早く連絡をとれる人のアドレスを書いてください. どうしてもこ +[保守責任者 -- これは *必ず* 必要です。担当者 (あなた) 自身、あるいは + 担当者に素早く連絡をとれる人のアドレスを書いてください。どうしてもこ こに自分のアドレスを書くのがいやな人は "ports@FreeBSD.org" と書いて もいいです] MAINTAINER= asami@FreeBSD.org @@ -4195,28 +4195,28 @@ MAINTAINER= asami@FreeBSD.org RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript LIB_DEPENDS= Xpm.5:${PORTSDIR}/graphics/xpm -[ここには標準の bsd.port.mk の変数で, 上のどれにもあてはまらないものを +[ここには標準の bsd.port.mk の変数で、上のどれにもあてはまらないものを 書きます] -[コンフィグレーション, コンパイル, インストールなどの時に質問をする - なら...] +[コンフィグレーション、コンパイル、インストールなどの時に質問をする + なら…] IS_INTERACTIVE=yes -[${DISTNAME} 以外のディレクトリにソースが展開されるなら...] +[${DISTNAME} 以外のディレクトリにソースが展開されるなら…] WRKSRC= ${WRKDIR}/xdvi-new [配布されているパッチが ${WRKSRC} に対する相対パスで作られてい - い場合にこの変数の指定が必要かも...] + い場合にこの変数の指定が必要かも…] PATCH_DIST_STRIP= -p1 -[GNU autoconf によって生成された "configure" スクリプトを走らせたいなら...] +[GNU autoconf によって生成された "configure" スクリプトを走らせたいなら…] GNU_CONFIGURE= yes -[/usr/bin/makeでなく, GNU make を使わないといけないなら...] +[/usr/bin/makeでなく、GNU make を使わないといけないなら…] USE_GMAKE= yes -[これが X のアプリケーションで, "xmkmf -a" を走らせたいなら...] +[これが X のアプリケーションで、"xmkmf -a" を走らせたいなら…] USE_IMAKE= yes [などなど] [下の方のルールで使う非標準の変数] MY_FAVORITE_RESPONSE= "yeah, right" -[そして, 特別なターゲット, 使用順に] +[そして、特別なターゲット、使用順に] pre-fetch: i go fetch something, yeah @@ -4233,828 +4233,828 @@ pre-install: パッキングリストの自動生成 - まず, あなたの port に + まず、あなたの port に pkg-plist - がないことを除いて完全なことを確認して, - 空の pkg-plist を作ってください. + がないことを除いて完全なことを確認して、 + 空の pkg-plist を作ってください。 &prompt.root; touch pkg-plist - 次に, あなたの port - をインストールすることができるディレクトリ階層を新たに作成してください. - また, 依存するものをインストールしてください. + 次に、あなたの port + をインストールすることができるディレクトリ階層を新たに作成してください。 + また、依存するものをインストールしてください。 &prompt.root; mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/port-name &prompt.root; make depends PREFIX=/var/tmp/port-name - このディレクトリ構造を新しいファイルに保存してください. + このディレクトリ構造を新しいファイルに保存してください。 &prompt.root; (cd /var/tmp/port-name && find * -type d) > OLD-DIRS - もしあなたの port が PREFIX にちゃんと従うなら, - ここで port をインストールしてパッキングリストを作ることができます. + もしあなたの port が PREFIX にちゃんと従うなら、 + ここで port をインストールしてパッキングリストを作ることができます。 &prompt.root; make install PREFIX=/var/tmp &prompt.root; (cd /var/tmp/port-name && find * \! -type d) > pkg-plist - 新しく生成されたディレクトリはすべてパッキングリストに追加する必要があります. + 新しく生成されたディレクトリはすべてパッキングリストに追加する必要があります。 &prompt.root; (cd /var/tmp/port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' >> pkg-plist 最後にパッキングリストを手で整える必要があります; - すべてが自動化されているわけではありません. - マニュアルはパッキングリストに記述するのではなく, + すべてが自動化されているわけではありません。 + マニュアルはパッキングリストに記述するのではなく、 port の Makefile 中の MANn に - 記述しなければなりません. + 記述しなければなりません。 ユーザ設定ファイルは削除するか filename.sample - としてインストールされなければなりません. + としてインストールされなければなりません。 また info/dir - ファイルはリストに含めず, - info ファイルに記述されているように, - 適切な install-info 行に追加しなければなりません. - port によってインストールされるライブラリは, + ファイルはリストに含めず、 + info ファイルに記述されているように、 + 適切な install-info 行に追加しなければなりません。 + port によってインストールされるライブラリは、 共有ライブラリ - のセクションで示したように記載されるべきです. + のセクションで示したように記載されるべきです。 package の名前 - package の名前は以下のルールにしたがってつけてください. - これは package のディレクトリを見やすくするためで, + package の名前は以下のルールにしたがってつけてください。 + これは package のディレクトリを見やすくするためで、 無秩序な名前がたくさん並んでいるとユーザが使いづらくなるのではという心配からです - (FTP サイトなどにはたくさん package がありますからね). + (FTP サイトなどにはたくさん package がありますからね)。 - package の名前は以下のようにしてください. + package の名前は以下のようにしてください。 言語-名前-オプションバージョン.番号 package 名は ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} - というように定義されています. - 変数がこの書式と適合していることを確認してください. + というように定義されています。 + 変数がこの書式と適合していることを確認してください。 - FreeBSD - はユーザの慣れ親しんだ言語のサポートに力を入れています. - 特定の言語のための port の package 名には - 言語- に ISO-639 - で定義されている言語名の略称を入れてください. - たとえば日本語なら ja, - ロシア語なら ru, - ベトナム語なら vi, - 中国語なら zh, - 韓国語ならば ko, - ドイツ語なら de - といった具合です. + FreeBSD + はユーザの慣れ親しんだ言語のサポートに力を入れています。 + 特定の言語のための port の package 名には + 言語- に ISO-639 + で定義されている言語名の略称を入れてください。 + たとえば日本語なら ja、 + ロシア語なら ru、 + ベトナム語なら vi、 + 中国語なら zh、 + 韓国語ならば ko、 + ドイツ語なら de + といった具合です。 - port がある言語地域に特化したものである場合には, - さらに二文字の国名コードを付加してください. - たとえば合衆国英語圏は en_US となり, - スイスのフランス語圏は fr_CH となります. + port がある言語地域に特化したものである場合には、 + さらに二文字の国名コードを付加してください。 + たとえば合衆国英語圏は en_US となり、 + スイスのフランス語圏は fr_CH となります。 - 言語- 部分は, - PKGNAMEPREFIX 変数に - 定義されなければなりません. + 言語- 部分は、 + PKGNAMEPREFIX 変数に + 定義されなければなりません。 - 名前の部分の最初の文字は - 小文字でなければなりません. - (名前の残りの部分は大文字を含んでいても構わないため, - 大文字を含んだソフトウェア名を変換する際の規則は, - あなた自身の裁量に任されています.) + 名前の部分の最初の文字は + 小文字でなければなりません。 + (名前の残りの部分は大文字を含んでいても構わないため、 + 大文字を含んだソフトウェア名を変換する際の規則は、 + あなた自身の裁量に任されています。) - Perl 5 のモジュールでは先頭に - p5- を付け, - 二重コロン (::) - のセパレータをハイフン - (-) - に置きかえる習慣になっています. - たとえば - Data::Dumper は - p5-Data-Dumper になります. - また, そのソフトウェアの名前として通常使われるものに番号, - ハイフン, あるいは下線が入っている場合には, - それらを使うことも構いません - (kinput2など). + Perl 5 のモジュールでは先頭に + p5- を付け、 + 二重コロン (::) + のセパレータをハイフン + (-) + に置きかえる習慣になっています。 + たとえば + Data::Dumper は + p5-Data-Dumper になります。 + また、そのソフトウェアの名前として通常使われるものに番号、 + ハイフン、あるいは下線が入っている場合には、 + それらを使うことも構いません + (kinput2など)。 - コンパイル時に環境変数や - make の引数などでハードコードされたデフォルトを変えてコンパイルできる場合, - -compiled.specifics - にそのコンパイル時のデフォルトを入れてください - (ハイフンはあってもなくてもかまいません). - 用紙のサイズ, あるいはフォントの解像度などがこれにあたります. + コンパイル時に環境変数や + make の引数などでハードコードされたデフォルトを変えてコンパイルできる場合、 + -compiled.specifics + にそのコンパイル時のデフォルトを入れてください + (ハイフンはあってもなくてもかまいません)。 + 用紙のサイズ、あるいはフォントの解像度などがこれにあたります。 - compiled.specifics 部分は, - PKGNAMESUFFIX 変数に定義されなければなりません. + compiled.specifics 部分は、 + PKGNAMESUFFIX 変数に定義されなければなりません。 - バージョン番号は数字とアルファベットからなり, - ピリオド (.) で区切ります. - アルファベットは二文字以上続けてはいけません. - ただ一つの例外は「パッチレベル」を意味する - pl で, - それ以外にバージョン番号がまったくついていない場合にのみ使うことができます. - もしソフトウェアのバージョンに - "alpha", "beta", "rc" や "pre" といった文字列が含まれる場合には, - ピリオドの後に最初の一文字をとってください. - これらの後に, さらにバージョン文字列が続く場合には, - 一文字のアルファベットの後にピリオドをつけずに番号を続けます. + バージョン番号は数字とアルファベットからなり、 + ピリオド (.) で区切ります。 + アルファベットは二文字以上続けてはいけません。 + ただ一つの例外は「パッチレベル」を意味する + pl で、 + それ以外にバージョン番号がまったくついていない場合にのみ使うことができます。 + もしソフトウェアのバージョンに + "alpha", "beta", "rc" や "pre" といった文字列が含まれる場合には、 + ピリオドの後に最初の一文字をとってください。 + これらの後に、さらにバージョン文字列が続く場合には、 + 一文字のアルファベットの後にピリオドをつけずに番号を続けます。 - この考え方は, - バージョン文字列を見て簡単に ports を並べられるようにするためのものです. - 特に, バージョン番号の各部分が必ずピリオドで区切られていること, - また日付の部分がバージョン文字列の一部となっている場合には + この考え方は、 + バージョン文字列を見て簡単に ports を並べられるようにするためのものです。 + 特に、バージョン番号の各部分が必ずピリオドで区切られていること、 + また日付の部分がバージョン文字列の一部となっている場合には - yyyy.mm.dd + yyyy.mm.dd - という書式を使っていることを確認してください. + という書式を使っていることを確認してください。 - dd.mm.yyyy + dd.mm.yyyy - や, 2000 年問題に対応していない + や、2000 年問題に対応していない - yy.mm.dd + yy.mm.dd - という書式を使ってはいけません. + という書式を使ってはいけません。 - では, DISTNAMEを正しい + では、DISTNAMEを正しい PKGNAME に直す例を見てみましょう: - 以下は, ソフトウェアの作者が決めた名前から - 適切な package 名に変換する方法を示した (実際の) 例です. + 以下は、ソフトウェアの作者が決めた名前から + 適切な package 名に変換する方法を示した (実際の) 例です。 - - - 配布名 - PKGNAMEPREFIX - PORTNAME - PKGNAMESUFFIX - PORTVERSION - 理由 - - + + + 配布名 + PKGNAMEPREFIX + PORTNAME + PKGNAMESUFFIX + PORTVERSION + 理由 + + - - - mule-2.2.2 - (空) - mule - (空) - 2.2.2 - 変更の必要はありません - + + + mule-2.2.2 + (空) + mule + (空) + 2.2.2 + 変更の必要はありません + - - XFree86-3.3.6 - (空) - XFree86 - (空) - 3.3.6 - 変更の必要はありません - + + XFree86-3.3.6 + (空) + XFree86 + (空) + 3.3.6 + 変更の必要はありません + - - EmiClock-1.0.2 - (空) - emiclock - (空) - 1.0.2 - プログラム一つだけの時は小文字のみ - + + EmiClock-1.0.2 + (空) + emiclock + (空) + 1.0.2 + プログラム一つだけの時は小文字のみ + - - rdist-1.3alpha - (空) - rdist - (空) - 1.3.a - alpha のような文字列は使えない - + + rdist-1.3alpha + (空) + rdist + (空) + 1.3.a + alpha のような文字列は使えない + - - es-0.9-beta1 - (空) - es - (空) - 0.9.b1 - alpha のような文字列は使えない - + + es-0.9-beta1 + (空) + es + (空) + 0.9.b1 + alpha のような文字列は使えない + - - mailman-2.0rc3 - (空) - mailman - (空) - 2.0.r3 - rc のような文字列は使えない - + + mailman-2.0rc3 + (空) + mailman + (空) + 2.0.r3 + rc のような文字列は使えない + - - v3.3beta021.src - (空) - tiff - (空) - 3.3 - なんなんでしょう ;) - + + v3.3beta021.src + (空) + tiff + (空) + 3.3 + なんなんでしょう ;) + - - tvtwm - (空) - tvtwm - (空) - pl11 - バージョン番号は必ず必要 - + + tvtwm + (空) + tvtwm + (空) + pl11 + バージョン番号は必ず必要 + - - piewm - (空) - piewm - (空) - 1.0 - 同上 - + + piewm + (空) + piewm + (空) + 1.0 + 同上 + - - xvgr-2.10pl1 - (空) - xvgr - (空) - 2.10.1 - pl が使えるのは, - 他にメジャー/マイナーバージョン番号がない場合のみ - + + xvgr-2.10pl1 + (空) + xvgr + (空) + 2.10.1 + pl が使えるのは、 + 他にメジャー/マイナーバージョン番号がない場合のみ + - - gawk-2.15.6 - ja- - gawk - (空) - 2.15.6 - 日本語バージョン - + + gawk-2.15.6 + ja- + gawk + (空) + 2.15.6 + 日本語バージョン + - - psutils-1.13 - (空) - psutils - -letter - 1.13 - コンパイル時に用紙のサイズを指定 - + + psutils-1.13 + (空) + psutils + -letter + 1.13 + コンパイル時に用紙のサイズを指定 + - - pkfonts - (空) - pkfonts - 300 - 1.0 - 300dpiフォント用の package - - + + pkfonts + (空) + pkfonts + 300 + 1.0 + 300dpiフォント用の package + + - オリジナルのソースにまったくバージョン情報が見当たらず, - また原作者が新しいバージョンをリリースする可能性が低いときには, + オリジナルのソースにまったくバージョン情報が見当たらず、 + また原作者が新しいバージョンをリリースする可能性が低いときには、 バージョン番号として 1.0 を使えばいいでしょう - (上記の piewm の例がこれにあたります). - そうでない場合には原作者に聞くか, 日付 + (上記の piewm の例がこれにあたります)。 + そうでない場合には原作者に聞くか、日付 (yyyy.mm.dd) - を使うなどしてください. + を使うなどしてください。 カテゴリ - すでにご存知のように, - ports はいくつかのカテゴリに分類されています. - これを有効に利用するためには, - port を作成する人々とユーザが, - それぞれのカテゴリが何であるか, - どのようにしてカテゴリに分類するかを理解する必要があります. + すでにご存知のように、 + ports はいくつかのカテゴリに分類されています。 + これを有効に利用するためには、 + port を作成する人々とユーザが、 + それぞれのカテゴリが何であるか、 + どのようにしてカテゴリに分類するかを理解する必要があります。 現在のカテゴリのリスト - まず, これが現在の port のカテゴリのリストです. - アスタリスク(*) - が付いているものは仮想 (virtual) - カテゴリです — - これらには対応するサブディレクトリが port ツリーにはありません. + まず、これが現在の port のカテゴリのリストです。 + アスタリスク(*) + が付いているものは仮想 (virtual) + カテゴリです — + これらには対応するサブディレクトリが port ツリーにはありません。 - 仮想カテゴリでないものは, - そのサブディレクトリ内の - pkg/COMMENT - に一行の記述があります - (例: archivers/pkg/COMMENT). + 仮想カテゴリでないものは、 + そのサブディレクトリ内の + pkg/COMMENT + に一行の記述があります + (例: archivers/pkg/COMMENT)。 - - - - カテゴリ - 説明 - - - - - - afterstep* - AfterStep ウィンドウマネージャをサポートする ports - - - - archivers - アーカイブ用ツール - - - - astro - 天文学関連の ports - - - - audio - サウンドをサポートする ports - - - - benchmarks - ベンチマークユーティリティ - - - - biology - 生物学関連のソフトウェア - - - - cad - CAD ツール - - - - chinese - 中国語サポート - - - - comms - 通信ソフトウェア. ほとんどはシリアルポート用です. - - - - converters - 文字コード変換 - - - - databases - データベース - - - - deskutils - コンピュータが発明される以前に机上で使われていた道具 - (訳注: いわゆるデスクトップユーティリティのこと) - - - - devel - 開発ユーティリティ. - どうしてもここに置かなければならない理由があるのでない限り, - ライブラリをここに含めないでください. - - - - editors - 一般的なエディタ. - 特殊なエディタはそれぞれふさわしいセクションに入れます - (たとえば数式エディタは math です). - - - - elisp - Emacs-lisp の ports - - - - emulators - 他のオペレーティングシステムのエミュレータ. - 端末エミュレータはここに含まれません — - X ベースのものは x11 に, - テキストベースのものは機能によって - comms か - misc に分類されます. - - - - french - フランス語サポート - - - - ftp - FTP クライアントとサーバユーティリティ. - port が FTP と HTTP の両方をサポートしていれば, - ftp - に入れ, 第二カテゴリを - www とします. - - - - games - ゲーム - - - - german - ドイツ語サポート - - - - gnome* - GNU Object Model Environment (GNOME) - プロジェクトの ports - - - - graphics - グラフィックユーティリティ - - - - hebrew - ヘブライ語サポート - - - - irc - インターネットリレーチャット (IRC) 用ユーティリティ - - - - ipv6* - IPv6 関連のソフトウェア - - - - japanese - 日本語サポート - - - - java - Java 言語サポート - - - - kde* - K Desktop Environment (kde) の ports - - - - korean - 韓国語サポート - - - - lang - プログラミング言語 - - - - linux* - Linux アプリケーションとサポートユーティリティ - - - - mail - メールソフトウェア - - - - math - 数値計算ソフトウェアやその他の数学ソフトウェア - - - - mbone - MBone アプリケーション - - - - misc - 種々のユーティリティ - — - 基本的に他のカテゴリに属さないものです. - これは他の仮想でないカテゴリを伴わない, 唯一のカテゴリです. - misc と他のカテゴリが - CATEGORIES 行に書かれている場合, - misc - を削除して他のサブディレクトリにおいて良いという意味になります. - - - - net - 種々のネットワークソフトウェア - - - - news - USENET ニュースソフトウェア - - - - offix* - OffiX suite の ports - - - - palm - 3Com Palm(tm) シリーズをサポートするソフトウェア - - - - perl5* - 実行に perl バージョン 5 を必要とする ports - - - - picobsd - PicoBSD をサポートするための ports - - - - plan9* - Plan9 に由来するさまざまなソフトウェア - - - - print - 印刷ソフトウェア. - DTP 用ツール (プレビュアなど) もここに分類されます. - - - - python* - python 言語で書かれたソフトウェア - - - - ruby* - ruby 言語で書かれたソフトウェア - - - - russian - ロシア語サポート - - - - science - astro や - biology, - math 等, 他のカテゴリには - あてはまらない科学関連の ports - - - - security - セキュリティ関連のユーティリティ - - - - shells - コマンドラインシェル - - - - sysutils - システムユーティリティ - - - - tcl75* - 実行に Tcl バージョン 7.5 を必要とする ports - - - - tcl76* - 実行に Tcl バージョン 7.6 を必要とする ports - - - - tcl80* - 実行に Tcl バージョン 8.0 を必要とする ports - - - - tcl81* - 実行に Tcl バージョン 8.1 を必要とする ports - - - - textproc - テキスト処理ユーティリティ. - DTP ツールはここではなく, print/ に分類されます. - - - - tk41* - 実行に Tk バージョン 4.1 を必要とする ports - - - - tk42* - 実行に Tk バージョン 4.2 を必要とする ports - - - - tk80* - 実行に Tk バージョン 8.0 を必要とする ports - - - - tk81* - 実行に Tk バージョン 8.1 を必要とする ports - - - - tkstep80* - 実行に TkSTEP バージョン 8.0 を必要とする ports - - - - ukrainian - ウクライナ語サポート - - - - vietnamese - ベトナム語サポート - - - - windowmaker* - WindowMaker ウィンドウマネージャをサポートする ports - - - - www - World Wide Web 関連のソフトウェア. - HTML 言語サポートもここに分類されます. - - - - x11 - X ウィンドウシステムとその関連ソフトウェア. - このカテゴリは, - 直接ウィンドウシステムをサポートするソフトウェアのみを対象とするものです. - 通常の X アプリケーションをここに分類しないでください. - あなたの port が X アプリケーションで, - USE_XLIB が定義 - (USE_IMAKE を定義すると自動的に定義されます) - されている場合は, 適切なカテゴリに分類してください. - また, それらのほとんどは他の x11-* - カテゴリ (下記参照) に分類されます. - - - - x11-clocks - X11 用時計 - - - - x11-fm - X11 用ファイルマネージャ - - - - x11-fonts - X11 フォントとフォントユーティリティ - - - - x11-servers - X11 サーバ - - - - x11-toolkits - X11 ツールキット - - - - x11-wm - X11 ウィンドウマネージャ - - - - zope* - Zope サポート - - - + + + + カテゴリ + 説明 + + + + + + afterstep* + AfterStep ウィンドウマネージャをサポートする ports + + + + archivers + アーカイブ用ツール + + + + astro + 天文学関連の ports + + + + audio + サウンドをサポートする ports + + + + benchmarks + ベンチマークユーティリティ + + + + biology + 生物学関連のソフトウェア + + + + cad + CAD ツール + + + + chinese + 中国語サポート + + + + comms + 通信ソフトウェア。ほとんどはシリアルポート用です。 + + + + converters + 文字コード変換 + + + + databases + データベース + + + + deskutils + コンピュータが発明される以前に机上で使われていた道具 + (訳注: いわゆるデスクトップユーティリティのこと) + + + + devel + 開発ユーティリティ。 + どうしてもここに置かなければならない理由があるのでない限り、 + ライブラリをここに含めないでください。 + + + + editors + 一般的なエディタ。 + 特殊なエディタはそれぞれふさわしいセクションに入れます + (たとえば数式エディタは math です)。 + + + + elisp + Emacs-lisp の ports + + + + emulators + 他のオペレーティングシステムのエミュレータ。 + 端末エミュレータはここに含まれません — + X ベースのものは x11 に、 + テキストベースのものは機能によって + comms か + misc に分類されます。 + + + + french + フランス語サポート + + + + ftp + FTP クライアントとサーバユーティリティ。 + port が FTP と HTTP の両方をサポートしていれば、 + ftp + に入れ、第二カテゴリを + www とします。 + + + + games + ゲーム + + + + german + ドイツ語サポート + + + + gnome* + GNU Object Model Environment (GNOME) + プロジェクトの ports + + + + graphics + グラフィックユーティリティ + + + + hebrew + ヘブライ語サポート + + + + irc + インターネットリレーチャット (IRC) 用ユーティリティ + + + + ipv6* + IPv6 関連のソフトウェア + + + + japanese + 日本語サポート + + + + java + Java 言語サポート + + + + kde* + K Desktop Environment (kde) の ports + + + + korean + 韓国語サポート + + + + lang + プログラミング言語 + + + + linux* + Linux アプリケーションとサポートユーティリティ + + + + mail + メールソフトウェア + + + + math + 数値計算ソフトウェアやその他の数学ソフトウェア + + + + mbone + MBone アプリケーション + + + + misc + 種々のユーティリティ + — + 基本的に他のカテゴリに属さないものです。 + これは他の仮想でないカテゴリを伴わない、唯一のカテゴリです。 + misc と他のカテゴリが + CATEGORIES 行に書かれている場合、 + misc + を削除して他のサブディレクトリにおいて良いという意味になります。 + + + + net + 種々のネットワークソフトウェア + + + + news + USENET ニュースソフトウェア + + + + offix* + OffiX suite の ports + + + + palm + 3Com Palm(tm) シリーズをサポートするソフトウェア + + + + perl5* + 実行に perl バージョン 5 を必要とする ports + + + + picobsd + PicoBSD をサポートするための ports + + + + plan9* + Plan9 に由来するさまざまなソフトウェア + + + + print + 印刷ソフトウェア。 + DTP 用ツール (プレビュアなど) もここに分類されます。 + + + + python* + python 言語で書かれたソフトウェア + + + + ruby* + ruby 言語で書かれたソフトウェア + + + + russian + ロシア語サポート + + + + science + astro や + biology, + math 等、他のカテゴリには + あてはまらない科学関連の ports + + + + security + セキュリティ関連のユーティリティ + + + + shells + コマンドラインシェル + + + + sysutils + システムユーティリティ + + + + tcl75* + 実行に Tcl バージョン 7.5 を必要とする ports + + + + tcl76* + 実行に Tcl バージョン 7.6 を必要とする ports + + + + tcl80* + 実行に Tcl バージョン 8.0 を必要とする ports + + + + tcl81* + 実行に Tcl バージョン 8.1 を必要とする ports + + + + textproc + テキスト処理ユーティリティ。 + DTP ツールはここではなく、print/ に分類されます。 + + + + tk41* + 実行に Tk バージョン 4.1 を必要とする ports + + + + tk42* + 実行に Tk バージョン 4.2 を必要とする ports + + + + tk80* + 実行に Tk バージョン 8.0 を必要とする ports + + + + tk81* + 実行に Tk バージョン 8.1 を必要とする ports + + + + tkstep80* + 実行に TkSTEP バージョン 8.0 を必要とする ports + + + + ukrainian + ウクライナ語サポート + + + + vietnamese + ベトナム語サポート + + + + windowmaker* + WindowMaker ウィンドウマネージャをサポートする ports + + + + www + World Wide Web 関連のソフトウェア。 + HTML 言語サポートもここに分類されます。 + + + + x11 + X ウィンドウシステムとその関連ソフトウェア。 + このカテゴリは、 + 直接ウィンドウシステムをサポートするソフトウェアのみを対象とするものです。 + 通常の X アプリケーションをここに分類しないでください。 + あなたの port が X アプリケーションで、 + USE_XLIB が定義 + (USE_IMAKE を定義すると自動的に定義されます) + されている場合は、適切なカテゴリに分類してください。 + また、それらのほとんどは他の x11-* + カテゴリ (下記参照) に分類されます。 + + + + x11-clocks + X11 用時計 + + + + x11-fm + X11 用ファイルマネージャ + + + + x11-fonts + X11 フォントとフォントユーティリティ + + + + x11-servers + X11 サーバ + + + + x11-toolkits + X11 ツールキット + + + + x11-wm + X11 ウィンドウマネージャ + + + + zope* + Zope サポート + + + 適切なカテゴリの選択 - 多くのカテゴリに重なるので, - どれを第一カテゴリにするかを決めなければならないことがたびたびあるでしょう. - これをうまく決めるルールがいくつかあります. - 以下はその優先順のリストで, 優先度の高いものから低いものの順に書いてあります. + 多くのカテゴリに重なるので、 + どれを第一カテゴリにするかを決めなければならないことがたびたびあるでしょう。 + これをうまく決めるルールがいくつかあります。 + 以下はその優先順のリストで、優先度の高いものから低いものの順に書いてあります。 - - 言語特有のカテゴリがまず最初です. - たとえば日本語の - X11 のフォントをインストールする port の場合, - CATEGORIES 行は - japanese x11-fonts - となるでしょう. - + + 言語特有のカテゴリがまず最初です。 + たとえば日本語の + X11 のフォントをインストールする port の場合、 + CATEGORIES 行は + japanese x11-fonts + となるでしょう。 + - - より特徴的なカテゴリが, - 一般的なカテゴリより優先されます. - たとえば, HTML エディタの場合は www editors となります. - これを逆順にはしないでください. - また, - port が irc, - mail, - mbone, - news, - security, - www - のいずれかに属する場合には - net - は必要ありません. - + + より特徴的なカテゴリが、 + 一般的なカテゴリより優先されます。 + たとえば、HTML エディタの場合は www editors となります。 + これを逆順にはしないでください。 + また、 + port が irc, + mail, + mbone, + news, + security, + www + のいずれかに属する場合には + net + は必要ありません。 + - - x11 - を第二カテゴリにするのは第一カテゴリが自然言語の場合のみにしてください. - 特に X のアプリケーションには - x11 - を指定しないでください. - + + x11 + を第二カテゴリにするのは第一カテゴリが自然言語の場合のみにしてください。 + 特に X のアプリケーションには + x11 + を指定しないでください。 + - - もし, あなたの port が他のどのカテゴリにも属しない場合には - misc にしてください. - + + もし、あなたの port が他のどのカテゴリにも属しない場合には + misc にしてください。 + - もし, あなたがカテゴリについて自信が持てない場合には, - そのことを send-pr する時に書き加えてください. - そうすれば import する前にそれについて議論できます - (もしあなたがコミッターであれば, - そのことを &a.ports; に送って先に議論するようにしてください - — 新しい port が間違ったカテゴリに import - されて, すぐ移動されることが多いので). + もし、あなたがカテゴリについて自信が持てない場合には、 + そのことを send-pr する時に書き加えてください。 + そうすれば import する前にそれについて議論できます + (もしあなたがコミッターであれば、 + そのことを &a.ports; に送って先に議論するようにしてください + — 新しい port が間違ったカテゴリに import + されて、すぐ移動されることが多いので)。 この文書と ports システムの変更 - もしあなたが, たくさんの ports の保守をしているのであれば, - &a.ports; の内容を読むことを考えてください. - ports のしくみについての重要な変更点はここに アナウンスされます. - 最新の変更点については, いつでも, + もしあなたが、たくさんの ports の保守をしているのであれば、 + &a.ports; の内容を読むことを考えてください。 + ports のしくみについての重要な変更点はここに アナウンスされます。 + 最新の変更点については、いつでも、 bsd.port.mk - の CVS ログで詳細な情報を得ることができます. + の CVS ログで詳細な情報を得ることができます。 やっとおしまい! - いやはや, 長い文章ですみません. - ここまで読んでくださった方には感謝, 感謝でございます. - さあ, port の作り方がわかったところで世界中のソフトウェアを - port 化しましょう. - FreeBSD プロジェクトに貢献するには, + いやはや、長い文章ですみません。 + ここまで読んでくださった方には感謝、感謝でございます。 + さあ、port の作り方がわかったところで世界中のソフトウェアを + port 化しましょう。 + FreeBSD プロジェクトに貢献するには、 それが最も簡単な方法です! :-)