diff --git a/ja/handbook/porting.sgml b/ja/handbook/porting.sgml index 12fde852d3..30e69b0c27 100644 --- a/ja/handbook/porting.sgml +++ b/ja/handbook/porting.sgml @@ -1,6 +1,6 @@ - + - + 自分で port を作る @@ -275,11 +275,11 @@ lib/X11/oneko/mouse.xpm れば, Makefileに指定されているURL ${MASTER_SITES}, そして私たちのFTPサイトで ある (ここ - には, 私たちが取ってきたファイルをバックアップとして置いてあ - ります) に探しにいきます. そして, ユーザのサイトがインター - ネットに直接接続されている場合には, + url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/" + name="ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/"> + (ここには, 私たちが取ってきたファイルをバックアップとして + 置いてあります) に探しにいきます. そして, ユーザのサイトが + インターネットに直接接続されている場合には, ${FETCH} を使って, その名前のファイルを取っ てきて, ${DISTDIR}に保存します. @@ -312,12 +312,12 @@ lib/X11/oneko/mouse.xpm - 最後に, buildというターゲットが実行されます. これは, そのport - の専用の作業ディレクトリ (${WRKSRC}) にい - き, コンパイルするのが役目です. もし + 最後に, build というターゲットが実行されます. これは, + その port の専用の作業ディレクトリ (${WRKSRC}) + にいき, コンパイルするのが役目です. もし ${USE_GMAKE} がセットされていれば, GNU - makeが使用されます. さもなければFreeBSDの - makeが使用されます. + make が使用されます. さもなければ FreeBSD の + make が使用されます. @@ -377,7 +377,7 @@ lib/X11/oneko/mouse.xpm 場合(あなたが FreeBSD の committer であれば, 自分の public_html ディレクトリに置けます), 私たちが, -ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/LOCAL_PORTS/ +ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/distfiles/LOCAL_PORTS/ に置き場所を提供できます. この場所は, 変数 ${MASTER_SITE_LOCAL} を使って参照してくださ @@ -904,13 +904,13 @@ lib/libtcl80.so.1 ELF 対応 -

FreeBSD は 3.0-release 以後, ELF に移行しますので, +

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 両方に対応させるかのガイドラインです.

このリストの一部は, 移行時にしかあてはまらないものもあります が, 古い port をアップグレードしたい場合に参考になるように, @@ -922,7 +922,7 @@ lib/libtcl80.so.1

a.out ライブラリは, /usr/local/lib から, `src/Makefile にある + しまいます.) 3.0-CURRENT の src/Makefile にある `PORTOBJFORMAT=${PORTOBJFORMAT}' とし て make install' で インストールするときには, このスクリプトは自動的に実行されな いということです. もし, 実行される必要があるならば, port の - Makefile で明示的に呼ぶ必要があります. + Makefile から明示的に呼ぶ必要があります. - +

port が(インストールされるシステムの状態によって) インストールされるべきか, されないべきか区別する必要があると @@ -1545,48 +1545,77 @@ diff -u -r1.15 PLIST (package の削除)の時に自動的に実行され, それらが処理されるべ きかを決定します. - - makeの変数にあわせた + + makeの変数にあわせた -

いくつかの port, 特に p5- portsなど, は configure のオプション - (あるいは, p5- ports の場合は perl のバージョン)によって, - %%PERL_VERSION%% は, 適切に置き換えられるようになって - います. いくつかの port, 特に p5- portsなど, は configure のオプション + (あるいは, p5- ports の場合は perl のバージョン)によって, + %%PERL_VERSION%% は, 適切に置き換えられるようになって + います. 他の置き換えが必要であれば, PLIST_SUB 変数に - VAR=VALUE という形式のペアのリストを設定することに - よって, %%VAR%%' は `他の置き換えが必要であれば, PLIST_SUB 変数に + VAR=VALUE という形式のペアのリストを設定することに + よって, %%VAR%%' は ` OCTAVE_VERSION= 2.0.13 PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - と書いて, %%OCTAVE_VERSION%% と書きます. - このようにしておけば, port をアップグレードするときに, - 何十行(ときとして, 何百行)も %%OCTAVE_VERSION%% と書きます. + このようにしておけば, port をアップグレードするときに, + 何十行(ときとして, 何百行)も この書き換えは ( - の追加も) ${PLIST} を読み - ${TMPPLIST} (デフォルトは, - ${WRKDIR}/.PLIST.mktmp) に書き込むことによって - 行なわれます. もし, あなたの port が ${PLIST} - を実行時に生成するのであれば, この書き換えは ( + の追加も) ${PLIST} を読み + ${TMPPLIST} (デフォルトは, + ${WRKDIR}/.PLIST.mktmp) に書き込むことによって + 行なわれます. もし, あなたの port が ${PLIST} + を実行時に生成するのであれば, + +

+ を参照してください.) + +

以下が変数名とそのデフォルト値の表です. + + +COMMENT ${PKGDIR}/COMMENT +DESCR ${PKGDIR}/DESCR +PLIST ${PKGDIR}/PLIST +PKGINSTALL ${PKGDIR}/INSTALL +PKGDEINSTALL ${PKGDIR}/DEINSTALL +PKGREQ ${PKGDIR}/REQ +PKGMESSAGE ${PKGDIR}/MESSAGE + + +

PKG_ARGSを上書きせずに, これらの変数を変更 + するようにしてください. PKG_ARGSを変更すると + これらのファイルは port から正しく /var/db/pkg + にインストールされなくなります. ライセンス上の問題 @@ -1640,7 +1669,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}

Portのバージョンが原作者からのものに比べて古いことに気がつ いたら, まずはあなたの持っているportが私たちの最新のもの (ミラー - サイトのports-currentというディレクトリにあります) + サイトの ports/ports-current というディレクトリにあります) であることを確認してください.

次に, portのMakefileにMAINTAINER (保守担当者) の @@ -1668,6 +1697,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} 超えるようであれば, 圧縮したものを uuencode して下さい. そうでなければそのまま PR に入れるだけでいいです. +

繰り返しになりますが, ports の変更を送るときには, + shar(1) ではなく diff(1) を使用してください. + やってよいことといけないこと @@ -1719,6 +1751,30 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}

これらは基本的にinstallコマンドに適当なフラグを与え たものです. どのようにこれらを使用するかは以下の例を見てください. + + +

${PKGDIR} にあるファイルを修正する必要がある + ときには, + によって行ない, 上書きはしないでください. + + + +

${WRKDIR} を参照している + ときには気を付けてください. 正しい場所は, + ${WRKDIRPREFIX}${PORTSDIR}/subdir/name/work, + です, ${PORTSDIR}/subdir/name/work とか + ${.CURDIR}/../../subdir/name/work とか + ではありません. + +

また, 自分で ${WRKDIRPREFIX}${.CURDIR} が付いている + 事を確認してください. + OS や OS のバージョンの区別 @@ -1743,7 +1799,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} #endif -

これらのシンボルが定義されているすべてのシステムには +

これらの2つのシンボルが定義されているすべてのシステムには sys/param.h があるはずです. もし, そうでないシステムを発見した ら我々にも教えてください. &a.ports; までメールを送ってください. @@ -1820,13 +1876,13 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} __FreeBSD_version の値は以下の通りです: 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 (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 があります(例, archivers/pkg/COMMENT). + Ports to support the AfterStep + window manager. Archiving tools. Astronomical ports. Sound support. @@ -2488,10 +2550,10 @@ pkfonts pkfonts300-1.0 300dpi Miscellaneous networking software. USENET news software. Ports from the OffiX suite. + Software support for the 3Com Palm(tm) series. Ports that require perl version 5 to run. - Software to use with the 3Com PalmPilot. - Various programs from Plan9. + Various programs from Plan9. Printing software. Desktop publishing tools (previewers, etc.) belong here too. Software written in python. @@ -2511,6 +2573,8 @@ pkfonts pkfonts300-1.0 300dpi Ports that use tk version 8.0 to run. Ports that use tk version 8.1 to run. Vietnamese language support. + Ports to support the WindowMaker + window manager. Software related to the World Wide Web. HTML language support belong here too. The X window system and friends. This