Merge the following from the English version:

1.232 -> 1.257	doc/ja_JP.eucJP/books/porters-handbook/book.sgml

Submitted by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
Reviewed by:	Yoshihiro Hosaka <hosaka dot yoshihiro _at_ gmail dot com>
	 	ryusuke
References:	[doc-jp-work 1654, 1660, 2129, 2153]
This commit is contained in:
Ryusuke SUZUKI 2011-01-20 13:12:40 +00:00
parent 05f26d9282
commit 0911adbb5c
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36815

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.232
Original revision: 1.257
$FreeBSD$
-->
@ -929,21 +929,20 @@ lib/X11/oneko/mouse.xpm
依然として前のバージョン番号 (20000801) よりも
数字としては小さいのですが、自動化ツールが
サフィックス <literal>,1</literal> を特別扱いすることで、
以前の package には明示されていないサフィックス ",0" よりも
新しいことがわかります。</para>
以前の package には明示されていないサフィックス
<literal>,0</literal> よりも新しいことがわかります。</para>
<para>大多数の ports では、<makevar>PORTEPOCH</makevar> が
必要になることは まず無いものと考えられています。
また、注意深く <makevar>PORTVERSION</makevar> を
使用することで、そのソフトウェアの将来のリリースが
バージョン構造を変更する必要が出てきた場合にも、多くの場合
前もって対応しておくことができるでしょう。
しかし、「スナップショット」リリースのように、オフィシャルな
バージョン番号を持たないベンダーリリースが行なわれた時には、
また、注意深く <makevar>PORTVERSION</makevar> を使用することで、
そのソフトウェアの将来のリリースがバージョン構造を変更する必要が出てきた場合にも、
多くの場合前もって対応しておくことができるでしょう。
しかし、<quote>スナップショット</quote>リリースのように、
オフィシャルなバージョン番号を持たないベンダーリリースが行なわれた時には、
FreeBSD 版の port 作者によるケアが必要になります。
そういったリリースに対し、リリース日付を使ったラベルを
付けたいという誘惑にかられることがあるでしょうが、
そうすると新しい「オフィシャル」リリースが行なわれた時に、
そういったリリースに対し、
リリース日付を使ったラベルを付けたいという誘惑にかられることがあるでしょうが、
そうすると新しい<quote>オフィシャル</quote>リリースが行なわれた時に、
上の例で示したような問題が起きることでしょう。</para>
<para>例えば、あるソフトウェアのスナップショットリリースが
@ -979,15 +978,16 @@ PORTREVISION= 1</programlisting>
<para><makevar>PKGNAME</makevar> は
<literal>gtkmumble-0.10_1</literal> になります。</para>
<para>ベンダから 0.2 という番号が振られた
<para>ベンダから <literal>0.2</literal> という番号が振られた
新バージョンがリリースされます (これにより、
作者は <literal>0.10</literal> という番号を
<quote>0.9 の次という意味ではなく</quote>、
実際には <literal>0.1.0</literal> のつもりで
使用していたことがわかります - あらら、今さら遅すぎる)。
新しいマイナーバージョン <literal>2</literal> は数字として
以前のバージョン番号 <literal>10</literal> より小さいので、
強制的に新しい package の方を「より新しい」と認識させるため
新しいマイナーバージョン <literal>2</literal>
は数字として以前のバージョン番号 <literal>10</literal>
より小さいので、強制的に新しい package
の方を<quote>より新しい</quote>と認識させるため
<makevar>PORTEPOCH</makevar> を増やす必要があります。
これは新しいベンダーリリースなので、
<makevar>PORTREVISION</makevar> は 0 にリセット
@ -1125,11 +1125,12 @@ PORTEPOCH= 1</programlisting>
<para>バージョン番号は数字とアルファベットからなり、
ピリオド (.) で区切ります。
アルファベットは二文字以上続けてはいけません。
ただ一つの例外は「パッチレベル」を意味する
唯一の例外は<quote>パッチレベル</quote>を意味する文字列
<literal>pl</literal> で、
それ以外にバージョン番号がまったくついていない場合にのみ使うことができます。
もしソフトウェアのバージョンに
"alpha", "beta", "rc" や "pre" といった文字列が含まれる場合には、
<quote>alpha</quote>, <quote>beta</quote>, <quote>rc</quote>
や <quote>pre</quote> といった文字列が含まれるなら、
ピリオドの後に最初の一文字をとってください。
これらの後に、さらにバージョン文字列が続く場合には、
一文字のアルファベットの後にピリオドをつけずに番号を続けます。</para>
@ -1365,6 +1366,11 @@ PORTEPOCH= 1</programlisting>
</thead>
<tbody>
<row>
<entry><filename>accessibility*</filename></entry>
<entry>障害を持ったユーザの役に立つ ports</entry>
</row>
<row>
<entry><filename>afterstep*</filename></entry>
<entry>AfterStep ウィンドウマネージャをサポートする ports</entry>
@ -1455,6 +1461,11 @@ PORTEPOCH= 1</programlisting>
<filename>misc</filename> に分類されます。</entry>
</row>
<row>
<entry><filename>finance</filename></entry>
<entry>金融や財務会計関連のアプリケーション。</entry>
</row>
<row>
<entry><filename>french</filename></entry>
<entry>フランス語サポート</entry>
@ -1490,14 +1501,19 @@ PORTEPOCH= 1</programlisting>
<entry>グラフィックユーティリティ</entry>
</row>
<row>
<entry><filename>haskell*</filename></entry>
<entry>Haskell 言語関連のソフトウェア。</entry>
</row>
<row>
<entry><filename>hebrew</filename></entry>
<entry>ヘブライ語サポート</entry>
</row>
<row>
<entry><filename>irc</filename></entry>
<entry>インターネットリレーチャット (IRC) 用ユーティリティ</entry>
<entry><filename>hungarian</filename></entry>
<entry>ハンガリー語サポート</entry>
</row>
<row>
@ -1505,6 +1521,12 @@ PORTEPOCH= 1</programlisting>
<entry>IPv6 関連のソフトウェア</entry>
</row>
<row>
<entry><filename>irc</filename></entry>
<entry>インターネットリレーチャット (IRC)
用ユーティリティ</entry>
</row>
<row>
<entry><filename>japanese</filename></entry>
<entry>日本語サポート</entry>
@ -1512,7 +1534,7 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>java</filename></entry>
<entry>Java 言語サポート</entry>
<entry>Java 言語関連のソフトウェア</entry>
</row>
<row>
@ -1562,6 +1584,11 @@ PORTEPOCH= 1</programlisting>
を削除して他のサブディレクトリにおいて良いという意味になります。</entry>
</row>
<row>
<entry><filename>multimedia</filename></entry>
<entry>マルチメディアソフトウェア</entry>
</row>
<row>
<entry><filename>net</filename></entry>
<entry>種々のネットワークソフトウェア</entry>
@ -1579,7 +1606,12 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>palm</filename></entry>
<entry>3Com Palm(tm) シリーズをサポートするソフトウェア</entry>
<entry>Palm(tm) シリーズをサポートするソフトウェア</entry>
</row>
<row>
<entry><filename>parallel*</filename></entry>
<entry>並列計算を行うアプリケーション</entry>
</row>
<row>
@ -1597,6 +1629,11 @@ PORTEPOCH= 1</programlisting>
<entry>Plan9 に由来するさまざまなソフトウェア</entry>
</row>
<row>
<entry><filename>portuguese</filename></entry>
<entry>ポルトガル語サポート</entry>
</row>
<row>
<entry><filename>print</filename></entry>
<entry>印刷ソフトウェア。
@ -1605,12 +1642,12 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>python*</filename></entry>
<entry>python 言語で書かれたソフトウェア</entry>
<entry>Python 言語関連のソフトウェア</entry>
</row>
<row>
<entry><filename>ruby*</filename></entry>
<entry>ruby 言語で書かれたソフトウェア</entry>
<entry>Ruby 言語関連のソフトウェア</entry>
</row>
<row>
@ -1661,10 +1698,16 @@ PORTEPOCH= 1</programlisting>
<entry>実行に Tcl バージョン 8.2 を必要とする ports</entry>
</row>
<row>
<entry><filename>tcl83*</filename></entry>
<entry>実行に Tcl バージョン 8.3 を必要とする ports</entry>
</row>
<row>
<entry><filename>textproc</filename></entry>
<entry>テキスト処理ユーティリティ。
DTP ツールはここではなく、print/ に分類されます。</entry>
DTP ツールはここではなく、<filename>print</filename>
に分類されます。</entry>
</row>
<row>
@ -1687,6 +1730,11 @@ PORTEPOCH= 1</programlisting>
<entry>実行に Tk バージョン 8.2 を必要とする ports</entry>
</row>
<row>
<entry><filename>tk83*</filename></entry>
<entry>実行に Tk バージョン 8.3 を必要とする ports</entry>
</row>
<row>
<entry><filename>tkstep80*</filename></entry>
<entry>実行に TkSTEP バージョン 8.0 を必要とする ports</entry>
@ -1714,7 +1762,7 @@ PORTEPOCH= 1</programlisting>
</row>
<row>
<entry>x11</entry>
<entry><filename>x11</filename></entry>
<entry>X ウィンドウシステムとその関連ソフトウェア。
このカテゴリは、
直接ウィンドウシステムをサポートするソフトウェアのみを対象とするものです。
@ -1780,33 +1828,32 @@ PORTEPOCH= 1</programlisting>
たとえば日本語の
X11 のフォントをインストールする port の場合、
<makevar>CATEGORIES</makevar> 行は
<literal>japanese x11-fonts</literal>
<filename>japanese x11-fonts</filename>
となるでしょう。</para>
</listitem>
<listitem>
<para>より特徴的なカテゴリが、
一般的なカテゴリより優先されます。
たとえば、HTML エディタの場合は <literal>www editors</literal> となります。
たとえば、HTML エディタの場合は <filename>www editors</filename> となります。
これを逆順にはしないでください。
また、
port が <literal>irc</literal>,
<literal>mail</literal>,
<literal>mbone</literal>,
<literal>news</literal>,
<literal>security</literal>,
<literal>www</literal>
port が <filename>irc</filename>,
<filename>mail</filename>,
<filename>mbone</filename>,
<filename>news</filename>,
<filename>security</filename>,
<filename>www</filename>
のいずれかに属する場合には
<literal>net</literal>
<filename>net</filename>
は必要ありません。</para>
</listitem>
<listitem>
<para><literal>x11</literal>
<para><filename>x11</filename>
を第二カテゴリにするのは第一カテゴリが自然言語の場合のみにしてください。
特に X のアプリケーションには
<literal>x11</literal>
を指定<emphasis>しない</emphasis>でください。</para>
<filename>x11</filename> を指定しないでください。</para>
</listitem>
<listitem>
@ -1821,12 +1868,12 @@ PORTEPOCH= 1</programlisting>
<listitem>
<para>もし、あなたの port が他のどのカテゴリにも属しない場合には
<literal>misc</literal> にしてください。</para>
<filename>misc</filename> にしてください。</para>
</listitem>
</itemizedlist>
<para>もし、あなたがカテゴリについて自信が持てない場合には、
そのことを <command>send-pr</command> する時に書き加えてください。
そのことを &man.send-pr.1; する時に書き加えてください。
そうすればインポートする前にそれについて議論できます
(もしあなたがコミッターであれば、
そのことを &a.ports; に送って先に議論するようにしてください
@ -2855,7 +2902,8 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
および <command>libtool</command> の利用</title>
<table frame="none">
<title></title>
<title>automake, autoconf または libtool
を使用する ports 用の変数</title>
<tgroup cols="2">
<thead>
@ -3051,7 +3099,13 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar</programlisting>
<sect1>
<title>GNOME の利用</title>
<para></para>
<para>FreeBSD/GNOME プロジェクトは、ある特定の port
が使っている GNOME コンポーネントを特定するために
<literal>GNOMENG</literal> というシステムを利用しています。
FreeBSD/GNOME プロジェクトのページに
<ulink url="http://www.freebsd.org/gnome/docs/porting.html">その変数のわかりやすい一覧</ulink>
があります。</para>
</sect1>
<sect1>
@ -3608,14 +3662,15 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
<chapter>
<title>X11 のフォント</title>
<para>もし、あなたの port が X window system
<para>もし、あなたの port が X Window System
のフォントをインストールするのであれば、
それらを
<filename><makevar>X11BASE</makevar>/lib/X11/fonts/local</filename>
に置くようにしてください。このディレクトリは XFree86 release 3.3.3
で新設されたものです。
もしそれが存在しなければ作成し、
ユーザに XFree86 を 3.3.3 かそれより新しいものに更新か、
に置くようにしてください。このディレクトリは
<application>XFree86 3.3.3</application> で新設されたものです。
このディレクトリが存在しなければ作成して、ユーザに
<application>XFree86</application> を
3.3.3 かそれより新しいものに更新するか、
少なくともこのディレクトリを <filename>/etc/XF86Config</filename>
のフォントパスに加えるように促すメッセージを出力するようにしてください。
</para>
@ -3632,7 +3687,7 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
もし、あなたの port が info 文書をインストー ルするのであれば、
以下の指示に従ってその port および package
が正しくユーザの
<filename>&dollar;{PREFIX}/info/dir</filename>
<filename><makevar>PREFIX</makevar>/info/dir</filename>
ファイルを更新するようにしてください
(このセクションはとても長くてすいません。
しかし info ファイルを作りあげるためにはこれらは不可欠です。
@ -3746,7 +3801,7 @@ Options:
info ファイルは再構築されるはずですが、多くの
<filename>Makefile</filename>
には info ファイルの正しい依存関係が書かれていません。
<command>emacs</command> の場合、
<application>Emacs</application> の場合、
info ファイルの再構築の際には
<filename>man</filename> サブディレクトリに降りるように
メインの <filename>Makefile.in</filename>
@ -4227,6 +4282,24 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
そのまま使える可能性が高くなります。</para>
</sect1>
<sect1>
<title>FreshPorts 正当性テスト</title>
<para><ulink url="http://www.FreshPorts.org/">FreshPorts</ulink>
には、FreeBSD ports へ commit されたものについて、
自動的に正当性テストを行う仕組みがあります。
このサービスに登録すると、あなたが commit したものについて、
正当性テストでエラーが起きると連絡が行きます。</para>
<para>このサービスを利用したい場合、必要なのは FreshPorts
のアカウントだけです。登録したメールアドレスが @FreeBSD.org
のものであれば、
ウェブページの右側にサービスを選択するリンクがあるはずです。
FreshPorts にアカウントを持っていても @FreeBSD.org
のメールアドレスを利用していない場合、メールアドレスを
@FreeBSD.org に変え、登録したあとで、
メールアドレスをまた変更してください。</para>
</sect1>
</chapter>
<chapter id="port-upgrading">
@ -4238,7 +4311,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
というディレクトリにあります)
であることを確認してください。
また、Ports Collection 全体を最新の状態に保つために
CVSup を利用することもできます。
<application>CVSup</application> を利用することもできます。
詳しくは
<ulink url="../handbook/synching.html#CVSUP-CONFIG">FreeBSD
ハンドブック</ulink>をご覧ください。</para>
@ -4285,7 +4358,6 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<chapter id="porting-dads">
<title>やっていいことといけないこと</title>
<!-- kuriyama - why Eng ver has anchor tag? -->
<para>このセクションではソフトウェアを port する上で、
良くある落し穴などについて説明します。
@ -4303,26 +4375,28 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<sect1>
<title>バイナリの strip</title>
<para>バイナリは strip してください。
オリジナルのソースがバイナリを
strip してくれる場合は良いですが、
そうでない場合には port の
<filename>Makefile</filename> が
<literal>install</literal> ターゲットを持っているなら
<makevar>BSD_INSTALL_PROGRAM</makevar> を、
持っていないなら
strip するための <literal>post-install</literal> ルールを追加して
strip するようにするとよいでしょう。
たとえばこんな風になります:</para>
<para>バイナリは特に必要がなければ、手動で strip しないでください。
すべてのバイナリは strip すべきですが、
<maketarget>INSTALL_PROGRAM</maketarget>
マクロがバイナリのインストールと strip を同時に行います
(次節をご覧ください)。</para>
<para>ファイルを strip する必要はあるものの
<makevar>INSTALL_PROGRAM</makevar> マクロを使いたくない場合は、
<makevar>${STRIP}</makevar> でプログラムを strip できます。
これは、多くの場合 <literal>post-install</literal>
ターゲット内で行われます。たとえば</para>
<programlisting>post-install:
strip ${PREFIX}/bin/xdl</programlisting>
${STRIP} ${PREFIX}/bin/xdl</programlisting>
<para>インストールされた実行形式がすでに strip
されているかどうかは <command>file</command>
コマンドで確認できます。
<quote>not stripped</quote>
と表示されなければ strip されていることを示しています。</para>
と表示されなければ strip されていることを示しています。
さらに、&man.strip.1; はすでに strip されたプログラムは
strip せず、問題なく終了します。</para>
</sect1>
<sect1>
@ -5019,11 +5093,44 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<entry>460001</entry>
</row>
<row>
<entry>4.6.2-RELEASE</entry>
<entry>460002</entry>
</row>
<row>
<entry>4.6-STABLE</entry>
<entry>460100</entry>
</row>
<row>
<entry>`sed -i' を MFC した後の 4.6-STABLE</entry>
<entry>460101</entry>
</row>
<row>
<entry>多くの新たな pkg_install の機能を HEAD から MFC
した後の 4.6-STABLE</entry>
<entry>460102</entry>
</row>
<row>
<entry>4.7-RELEASE</entry>
<entry>470000</entry>
</row>
<row>
<entry>4.7-STABLE</entry>
<entry>470100</entry>
</row>
<row>
<entry>__sF の代わりに __std{in,out,err}p 参照生成を開始。
これは、std{in,out,err} をコンパイル時の定数から、
ランタイムに変更します。</entry>
<entry>470101</entry>
</row>
<row>
<entry>5.0-CURRENT</entry>
<entry>500000</entry>
@ -5147,7 +5254,8 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
</row>
<row>
<entry>Bzip2 導入後の 5.0-CURRENT</entry>
<entry>Bzip2 導入後の 5.0-CURRENT。
また、S/Key が削除されていることも示す。</entry>
<entry>500021</entry>
</row>
@ -5257,6 +5365,31 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<entry>500038</entry>
</row>
<row>
<entry>ヘッダで _BSD_FOO_T_ の使用をやめ、
_FOO_T_DECLARED を使うようになった後の 5.0-CURRENT。
また、この変数は &man.bzip2.1;
パッケージに対応したことが確実な目安としても使えます。</entry>
<entry>500039</entry>
</row>
<row>
<entry>ディスクラベルの内部構造の依存性を除く名目で行われた、
ディスク関連の機能へのさまざまな変更を加えた後の
5.0-CURRENT</entry>
<entry>500040</entry>
</row>
<row>
<entry>libc に getopt_long(3) を加えた後の 5.0-CURRENT</entry>
<entry>500041</entry>
</row>
<row>
<entry>libc に pthread_XXX への弱いスタブを追加し、
libXThrStub.so が obsolete になった後の 5.0-CURRENT</entry>
<entry>500043</entry>
</row>
</tbody>
</tgroup>
</informaltable>
@ -5570,9 +5703,13 @@ qmailp:*:84:81:QMail user:/var/qmail:/nonexistent
qmailr:*:86:82:QMail user:/var/qmail:/nonexistent
msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh
mysql:*:88:88:MySQL Daemon:/var/db/mysql:/sbin/nologin
vpopmail:*:89:89::0:0:User &:/usr/local/vpopmail:/nonexistent
vpopmail:*:89:89:VPop Mail User:/usr/local/vpopmail:/nonexistent
smmsp:*:90:90:Sendmail Queue:/nonexistent:/nonexistent
mailman:*:91:91:Mailman User:/usr/local/mailman:/sbin/nologin
gdm:*:92:92:GDM Sandbox:/:/sbin/nologin
jabber:*:93:93:Jabber Daemon:/nonexistent:/nonexistent
p4admin:*:94:94:Perforce admin:/usr/local/perforce:/sbin/nologin
interch:*:95:95:Interchange user:/usr/local/interchange:/sbin/nologin
drweb:*:426:426:Dr.Web Mail Scanner:/nonexistent:/sbin/nologin</programlisting>
<para>このリストを最新の状態に保つためにも、