Merge changes in English version (1.118 -> 1.130).

Fix indentation.
This commit is contained in:
Hidetoshi Shimokawa 1999-02-12 16:44:48 +00:00
parent 7cc61d6bba
commit ef1846e5ae
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=4295

View file

@ -1,6 +1,6 @@
<!-- $Id: porting.sgml,v 1.52 1998-11-26 23:56:57 asami Exp $ -->
<!-- $Id: porting.sgml,v 1.53 1999-02-12 16:44:48 simokawa Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.118 -->
<!-- Original revision: 1.130 -->
<sect><heading>自分で port を作る<label id="porting"></heading>
@ -275,11 +275,11 @@ lib/X11/oneko/mouse.xpm
れば, Makefileに指定されているURL
<tt>&dollar;{MASTER_SITES}</tt>, そして私たちのFTPサイトで
ある <htmlurl
url="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/"
name="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/"> (ここ
には, 私たちが取ってきたファイルをバックアップとして置いてあ
ります) に探しにいきます. そして, ユーザのサイトがインター
ネットに直接接続されている場合には,
url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/"
name="ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/">
(ここには, 私たちが取ってきたファイルをバックアップとして
置いてあります) に探しにいきます. そして, ユーザのサイトが
インターネットに直接接続されている場合には,
<tt>&dollar;{FETCH}</tt> を使って, その名前のファイルを取っ
てきて, <tt>&dollar;{DISTDIR}</tt>に保存します.
@ -312,12 +312,12 @@ lib/X11/oneko/mouse.xpm
</enum>
<item>最後に, buildというターゲットが実行されます. これは, そのport
の専用の作業ディレクトリ (<tt>&dollar;{WRKSRC}</tt>) にい
き, コンパイルするのが役目です. もし
<item>最後に, build というターゲットが実行されます. これは,
その port の専用の作業ディレクトリ (<tt>&dollar;{WRKSRC}</tt>)
にいき, コンパイルするのが役目です. もし
<tt>&dollar;{USE_GMAKE}</tt> がセットされていれば, GNU
<tt>make</tt>が使用されます. さもなければFreeBSDの
<tt>make</tt>が使用されます.
<tt>make</tt> が使用されます. さもなければ FreeBSD
<tt>make</tt> が使用されます.
</enum>
@ -377,7 +377,7 @@ lib/X11/oneko/mouse.xpm
場合(あなたが FreeBSD の committer であれば, 自分の
<tt>public_html</tt> ディレクトリに置けます), 私たちが,
<tscreen><verb>
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/LOCAL_PORTS/
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/distfiles/LOCAL_PORTS/
</verb></tscreen>
に置き場所を提供できます. この場所は, 変数
<tt>&dollar;{MASTER_SITE_LOCAL}</tt> を使って参照してくださ
@ -904,13 +904,13 @@ lib/libtcl80.so.1
<sect2>
<heading>ELF 対応</heading>
<p>FreeBSD は 3.0-release 以後, ELF に移行しますので,
<p>FreeBSD は 3.0-RELEASE で ELF に移行しましたので,
シェアードライブラリを作成するたくさんの port を ELF 対応
にする必要があります. 3.0 システムは ELF も a.out も
実行できますし, 2.2 ブランチからのもう一つのリリース (2.2.8)
もあるので, 複雑な状況です. 以下は a.out のみに対応している
port をどのように a.out と ELF 両方に対応させるかのガイドライ
ンです.
にする必要があります. 3.0 システムは ELF としても a.out として
動作しますし, 我々は非公式ではありますが, できだけ長い間
2.2 システムのサポートをしたいと思っていますので, 複雑な状況です.
以下は a.out のみに対応している port をどのように a.out と
ELF 両方に対応させるかのガイドラインです.
<p>このリストの一部は, 移行時にしかあてはまらないものもあります
が, 古い port をアップグレードしたい場合に参考になるように,
@ -922,7 +922,7 @@ lib/libtcl80.so.1
<p>a.out ライブラリは, <tt>/usr/local/lib</tt> から,
`<tt/aout/' サブディレクトリ に移動しなくはなりません.
(もし移動しないと, ELF ports がそれらをあっさり上書きして
しまいます.) current の <tt>src/Makefile</tt> にある
しまいます.) 3.0-CURRENT の <tt>src/Makefile</tt> にある
`<tt/move-aout-libs/' ターゲット (`<tt/aout-to-elf'/ から呼ば
れます) がその移動をしてくれます. a.out ライブラリを
移動するだけなので, ELF と a.out の両方のライブラリが標準的な
@ -950,7 +950,7 @@ lib/libtcl80.so.1
<p><tt/bsd.port.mk/ において <tt/PORTOBJFORMAT/ は
`<tt/aout/' か `<tt/elf/' に設定され, 環境変数
<tt/CONFIGURE_ENV/, <tt/SCRIPTS_ENV/, <tt/MAKE_ENV/
の中で export されます. (-stableでは常に `<tt/aout/' になり
の中で export されます. (2.2-STABLE では常に `<tt/aout/' になり
ます). また, `<tt>PORTOBJFORMAT=${PORTOBJFORMAT}</tt>' とし
て <tt/PLIST_SUB/ に渡されます. (以下にある <tt/ldconfig/ に
関するコメントを参照して下さい.)
@ -1534,9 +1534,9 @@ diff -u -r1.15 PLIST
注意すべきことは, port を `<tt>make install</tt>' で
インストールするときには, このスクリプトは自動的に実行されな
いということです. もし, 実行される必要があるならば, port の
Makefile 明示的に呼ぶ必要があります.
Makefile から明示的に呼ぶ必要があります.
<sect3>
<sect2>
<heading><tt/REQ/</heading>
<p>port が(インストールされるシステムの状態によって)
インストールされるべきか, されないべきか区別する必要があると
@ -1545,48 +1545,77 @@ diff -u -r1.15 PLIST
(package の削除)の時に自動的に実行され, それらが処理されるべ
きかを決定します.
<sect2>
<heading>makeの変数にあわせた <tt/PLIST/ の変更<label
id="porting:plist"></heading>
<sect2>
<heading>makeの変数にあわせた <tt/PLIST/ の変更<label
id="porting:plist"></heading>
<p>いくつかの port, 特に p5- portsなど, は configure のオプション
(あるいは, p5- ports の場合は perl のバージョン)によって,
<tt/PLIST/ を変える必要があります. これを容易に実現するために,
<tt/PLIST/ 中の <tt/%%OSREL%%/, <tt/%%PERL_VER%%/,
<tt>%%PERL_VERSION%%</tt> は, 適切に置き換えられるようになって
います. <tt/%%OSREL%%/ の値は, オペレーティングシステムの
数字で表されたリビジョンです (例えば, `2.2.7').
<tt/%%PERL_VERSION%%/ は perl のバージョン番号全体(例えば,
`5.00502')で, <tt/%%PERL_VER%%/ はバージョン番号から,
パッチレベルを引いてものです(例えば, `5.005').
<p>いくつかの port, 特に p5- portsなど, は configure のオプション
(あるいは, p5- ports の場合は perl のバージョン)によって,
<tt/PLIST/ を変える必要があります. これを容易に実現するために,
<tt/PLIST/ 中の <tt/%%OSREL%%/, <tt/%%PERL_VER%%/,
<tt>%%PERL_VERSION%%</tt> は, 適切に置き換えられるようになって
います. <tt/%%OSREL%%/ の値は, オペレーティングシステムの
数字で表されたリビジョンです (例えば, `2.2.7').
<tt/%%PERL_VERSION%%/ は perl のバージョン番号全体(例えば,
`5.00502')で, <tt/%%PERL_VER%%/ はバージョン番号から,
パッチレベルを引いてものです(例えば, `5.005').
<p>他の置き換えが必要であれば, <tt>PLIST_SUB</tt> 変数に
<tt>VAR=VALUE</tt> という形式のペアのリストを設定することに
よって, <tt/PLIST/ 中の `<tt>%%VAR%%</tt>' は `<tt/VALUE/'
に置き換えられます. 例えば, バージョンに固有の沢山のファイル
をインストールする場合には, <tt/Makefile/ に
<p>他の置き換えが必要であれば, <tt>PLIST_SUB</tt> 変数に
<tt>VAR=VALUE</tt> という形式のペアのリストを設定することに
よって, <tt/PLIST/ 中の `<tt>%%VAR%%</tt>' は `<tt/VALUE/'
に置き換えられます. 例えば, バージョンに固有の沢山のファイル
をインストールする場合には, <tt/Makefile/ に
<tscreen><verb>
OCTAVE_VERSION= 2.0.13
PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
</verb></tscreen>
と書いて, <tt/PLIST/ 中のバージョン番号が表われるすべての
ところに, <tt>%%OCTAVE_VERSION%%</tt> と書きます.
このようにしておけば, port をアップグレードするときに,
何十行(ときとして, 何百行)も <tt/PLIST/ を書き替えないで
すみます.
と書いて, <tt/PLIST/ 中のバージョン番号が表われるすべての
ところに, <tt>%%OCTAVE_VERSION%%</tt> と書きます.
このようにしておけば, port をアップグレードするときに,
何十行(ときとして, 何百行)も <tt/PLIST/ を書き替えないで
すみます.
<p>この書き換えは (<ref id="porting:manpages" name="マニュアル">
の追加も) <tt/do-install/ と <tt/post-install/ ターゲット
のあいだに, <tt>&dollar;{PLIST}</tt> を読み
<tt>&dollar;{TMPPLIST}</tt> (デフォルトは,
<tt>&dollar;{WRKDIR}/.PLIST.mktmp</tt>) に書き込むことによって
行なわれます. もし, あなたの port が <tt>&dollar;{PLIST}</tt>
を実行時に生成するのであれば, <tt/do-install/ のあいだか,
その前に行うようにしてください. また, 書きかえられたあとの
ファイルを編集する必要がある場合には, <tt/post-install/
で, <tt/&dollar;{TMPPLIST}/ を書きかえてください.
<p>この書き換えは (<ref id="porting:manpages" name="マニュアル">
の追加も) <tt/do-install/ と <tt/post-install/ ターゲット
のあいだに, <tt>&dollar;{PLIST}</tt> を読み
<tt>&dollar;{TMPPLIST}</tt> (デフォルトは,
<tt>&dollar;{WRKDIR}/.PLIST.mktmp</tt>) に書き込むことによって
行なわれます. もし, あなたの port が <tt>&dollar;{PLIST}</tt>
を実行時に生成するのであれば, <tt/do-install/ のあいだか,
その前に行うようにしてください. また, 書きかえられたあとの
ファイルを編集する必要がある場合には, <tt/post-install/
で, <tt/&dollar;{TMPPLIST}/ を書きかえてください.
<sect2>
<heading><tt/pkg/ サブディレクトリにあるファイル名の変更
<label id="porting:pkgsubdir"></heading>
<p><tt/pkg/ サブディレクトリにあるファイルは全て, 変数を
を使用して定義されていますので, 必要であれば Makefile 中で
変更可能です. いくつかの ports で 一つの <tt/pkg/
サブディレクトリを共有す場合や, 上記のファイルに書き込む
必要があるときなど, 特に便利です.
(<tt/pkg/ サブディレクトリに直接書き込むのが良くない理由に
ついては <ref id="porting:wrkdir" name="WRKDIR 以外への書きこみ">
を参照してください.)
<p>以下が変数名とそのデフォルト値の表です.
<tscreen><verb>
COMMENT ${PKGDIR}/COMMENT
DESCR ${PKGDIR}/DESCR
PLIST ${PKGDIR}/PLIST
PKGINSTALL ${PKGDIR}/INSTALL
PKGDEINSTALL ${PKGDIR}/DEINSTALL
PKGREQ ${PKGDIR}/REQ
PKGMESSAGE ${PKGDIR}/MESSAGE
</verb></tscreen>
<p><tt>PKG_ARGS</tt>を上書きせずに, これらの変数を変更
するようにしてください. <tt>PKG_ARGS</tt>を変更すると
これらのファイルは port から正しく <tt>/var/db/pkg</tt>
にインストールされなくなります.
<sect1>
<heading>ライセンス上の問題</heading>
@ -1640,7 +1669,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
<p>Portのバージョンが原作者からのものに比べて古いことに気がつ
いたら, まずはあなたの持っているportが私たちの最新のもの (ミラー
サイトの<tt>ports-current</tt>というディレクトリにあります)
サイトの <tt>ports/ports-current</tt> というディレクトリにあります)
であることを確認してください.
<p>次に, portのMakefileに<tt>MAINTAINER</tt> (保守担当者) の
@ -1668,6 +1697,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
超えるようであれば, 圧縮したものを uuencode して下さい.
そうでなければそのまま PR に入れるだけでいいです.
<p>繰り返しになりますが, ports の変更を送るときには,
<tt>shar(1)</tt> ではなく <tt>diff(1)</tt> を使用してください.
<sect1>
<heading>やってよいことといけないこと
<label id="porting:dads"></heading>
@ -1719,6 +1751,30 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
<p>これらは基本的に<tt>install</tt>コマンドに適当なフラグを与え
たものです. どのようにこれらを使用するかは以下の例を見てください.
<sect2>
<heading><tt/WRKDIR/<label id="porting:wrkdir"></heading>
<p><tt/WKRDIR/ の外のファイルにはなにも書き込まないように
してください. <tt/WRKDIR/ は ports のビルド中に書き込こめる
ことが保証されている唯一の場所です(<ref id="ports:cd"
name="CDROM から ports をコンパイル"を参照).
<tt>&dollar;{PKGDIR}</tt> にあるファイルを修正する必要がある
ときには, <ref id="porting:pkgsubdir" name="変数の再定義">
によって行ない, 上書きはしないでください.
<sect2>
<heading><tt/WRKDIRPREFIX/</heading>
<p><tt/WRKDIRPREFIX/ を尊重していることを確認してください.
特に, 別の port の <tt>&dollar;{WRKDIR}</tt> を参照している
ときには気を付けてください. 正しい場所は,
<tt>&dollar;{WRKDIRPREFIX}&dollar;{PORTSDIR}/subdir/name/work</tt>,
です, <tt>&dollar;{PORTSDIR}/subdir/name/work</tt> とか
<tt>&dollar;{.CURDIR}/../../subdir/name/work</tt> とか
ではありません.
<p>また, 自分で <tt/WRKDIR/ 定義するときには, 頭に
<tt>&dollar;{WRKDIRPREFIX}&dollar;{.CURDIR}</tt> が付いている
事を確認してください.
<sect2>
<heading>OS や OS のバージョンの区別
<label id="porting:versions"></heading>
@ -1743,7 +1799,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
#endif
</verb></tscreen>
<p>これらのシンボルが定義されているすべてのシステムには
<p>これらの2つのシンボルが定義されているすべてのシステムには
sys/param.h があるはずです. もし, そうでないシステムを発見した
ら我々にも教えてください. &a.ports; までメールを送ってください.
@ -1820,13 +1876,13 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
<tt>__FreeBSD_version</tt> の値は以下の通りです:
<tscreen><verb>
2.0-RELEASE: 199411
2.1-current's: 199501, 199503
2.1-CURRENT's: 199501, 199503
2.0.5-RELEASE: 199504
2.2-current (2.1以前): 199508
2.2-CURRENT (2.1以前): 199508
2.1.0-RELEASE: 199511
2.2-current (2.1.5以前): 199512
2.2-CURRENT (2.1.5以前): 199512
2.1.5-RELEASE: 199607
2.2-current (2.1.6以前): 199608
2.2-CURRENT (2.1.6以前): 199608
2.1.6-RELEASE: 199612
2.1.7-RELEASE: 199612
2.2-RELEASE: 220000
@ -1845,13 +1901,17 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
2.2-STABLE (semctl(2) 変更後): 227002
2.2.8-RELEASE: 228000
2.2-STABLE (2.2.8-RELEASE 以後): 228001
3.0-current (mount(2) 変更以前): 300000
3.0-current (mount(2) 変更後): 300001
3.0-current (semctl(2) 変更後): 300002
3.0-current (ioctl 引数変更後): 300003
3.0-current (ELF(2) 移行後): 300004
3.0-CURRENT (mount(2) 変更以前): 300000
3.0-CURRENT (mount(2) 変更後): 300001
3.0-CURRENT (semctl(2) 変更後): 300002
3.0-CURRENT (ioctl 引数変更後): 300003
3.0-CURRENT (ELF(2) 移行後): 300004
3.0-RELEASE: 300005
3.0-current (3.0-RELEASE 以後): 300005
3.0-CURRENT (3.0-RELEASE 以後): 300006
3.0-STABLE (3/4 ブランチ以後): 300007
3.1-RELEASE: 310000
3.1-STABLE (3.1-RELEASE 以後): 310001
4.0-CURRENT (3/4 ブランチ以後): 400000
</verb></tscreen>
(2.2-STABLEは, 2.2.5-RELESE 以後, "2.2.[5678]-STABLE" と呼ばれ
ることがあります.)
@ -1860,7 +1920,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
ように変更になりました. 並行していくつかのブランチ(枝分かれし
たバージョン)を開発する場合には, リリースされた日付でそれらの
リリースを分類することが不可能だからです.
(あなたが今 port を作成するときに, 古い -current 達について心配
(あなたが今 port を作成するときに, 古い -CURRENT 達について心配
する必要はありません. これは参考のために挙げられているにすぎま
せん.)
@ -2440,6 +2500,8 @@ pkfonts pkfonts300-1.0 300dpi
があります(例, <tt>archivers/pkg/COMMENT</tt>).
<descrip>
<tag><tt/afterstep*/</tag> Ports to support the AfterStep
window manager.
<tag><tt/archivers/</tag> Archiving tools.
<tag><tt/astro/</tag> Astronomical ports.
<tag><tt/audio/</tag> Sound support.
@ -2488,10 +2550,10 @@ pkfonts pkfonts300-1.0 300dpi
<tag><tt/net/</tag> Miscellaneous networking software.
<tag><tt/news/</tag> USENET news software.
<tag><tt/offix*/</tag> Ports from the OffiX suite.
<tag><tt/palm/</tag> Software support for the 3Com Palm(tm) series.
<tag><tt/perl5*/</tag> Ports that require perl version 5 to
run.
<tag><tt/pilot*/</tag> Software to use with the 3Com PalmPilot.
<tag><tt/plan9/</tag> Various programs from Plan9.
<tag><tt/plan9*/</tag> Various programs from Plan9.
<tag><tt/print/</tag> Printing software. Desktop publishing
tools (previewers, etc.) belong here too.
<tag><tt/python*/</tag> Software written in python.
@ -2511,6 +2573,8 @@ pkfonts pkfonts300-1.0 300dpi
<tag><tt/tk80*/</tag> Ports that use tk version 8.0 to run.
<tag><tt/tk81*/</tag> Ports that use tk version 8.1 to run.
<tag><tt/vietnamese/</tag> Vietnamese language support.
<tag><tt/windowmaker*/</tag> Ports to support the WindowMaker
window manager.
<tag><tt/www/</tag> Software related to the World Wide Web.
HTML language support belong here too.
<tag><tt/x11/</tag> The X window system and friends. This