diff --git a/ja/handbook/porting.sgml b/ja/handbook/porting.sgml index 039b67db24..742abaef90 100644 --- a/ja/handbook/porting.sgml +++ b/ja/handbook/porting.sgml @@ -1,6 +1,6 @@ - + - + フリーソフトウェアの移植 @@ -55,7 +55,7 @@ Makefile に加えてください. -#ifdef (defined(__unix__) || defined(unix)) && !defined(USG) +#if (defined(__unix__) || defined(unix)) && !defined(USG) #include #endif @@ -247,13 +247,16 @@ A cat chasing a mouse all over the screen DESCR -

これは, そのソフトウェアについての, すこし長い説明を記述しま - す. そのportが何をするのかについての数段落程度の簡潔な解説があれば - 十分です. 注: このファイルはマニュアルでもなければ, 使用方 - 法やコンパイル方法についての細かい説明書でもありません. 特 - に, READMEファイルを何も考えずにここにコピー - するようなことはしないでください. (もちろん, READMEが - そのソフトウェアの簡潔な説明になっている場合は別ですが.) +

これは, そのソフトウェアについての, すこし長い説明を記述 + します. その port が何をするのかについての数段落程度の簡潔 + な解説があれば十分です. このファイルはマニュアルでもなけれ + ば, 使用方法やコンパイル方法についての細かい説明書でもあり + ません. 特に, README ファイルや manpage をコ + ピーしようとしてしている場合には注意してください. こ + れらは多くの場合, そのポートの簡潔な説明になっていなかった + り, 扱いにくい形式(manpage の場合, 行を揃えるために空白が + 調整されます)になっていたりします. もしこのソフトウエアに + 公式の WWW のホームページがあれば, ここに書いて下さい.

このファイルの最後にあなたの名前を書くことが推奨されています. たとえば, こんな具合です. @@ -264,6 +267,8 @@ the screen. : (うんぬん.) +http://www.oneko.org/ + - Satoshi asami@cs.berkeley.edu @@ -317,20 +322,31 @@ lib/X11/oneko/mouse.xpm Portの送付 +

まず, + についての節を読んでください. +

さあ, あなたのportに満足したら, あとはそれをFreeBSDのメイ - ンのportsツリーに置いて, 皆に使ってもらうだけです. そのた - めには, 必要なファイル (この節で述べたすべてのファイル -- た - だし, オリジナルのソースファイル, `work' サブディレ - クトリ, およびpackageは含みません) をまとめて - .tar.gz ファイルにし, - -ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/ - - へ置き, send-pr(1) を使って私たちのところにメールを送っ - てください (categoryは `ports', classは `change-request' を - 使ってください). - Packageはこちらで作りますので送っていただく必要はありません. - 私たちは, 何か不明な点があったらあなたに確認したのち, + ンの ports ツリーに置いて, 皆に使ってもらうだけです. + いまある work/ ディレクトリや pkgname.tgz + パッケージは必要ありませんから, まず消去してください. + あとは, バグレポートの中に `shar `find port_dir`' + の出力を, send-pr(1) プログラムを使用して送ってくだ + さい. もし, 圧縮していない状態で, 20KB以上あるようなポートで + あれば, 圧縮して tar ファイルにして, バグレポートに入れる前に + uuencode(1) を使用してください. (20KB以下のものでも, + tar ファイルにして送ってもよいですが, あまり歓迎されません). + バクレポートの category は `ports', class は `change-request' + を必ず使用してください. + +

もう一度, オリジナルのソースファイル, work/ + ディレクトリ, `make package'で作成したパッケージが + 含まれていないことを確認してください. + +

バグレポートについての詳しい説明は + + を見てください. + +

私たちは, 何か不明な点があったらあなたに確認したのち, それをツリーへ置きます. あなたの名前は, FreeBSD ハンドブックやその他のファイルの `Additional FreeBSD contributors' のリストにも載るでしょう. う〜ん, 素晴らし @@ -455,17 +471,20 @@ ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/ ${DISTDIR} にコピーします. 可能なかぎり, 広 く使われている主流のソースを使用するようにしてください. -

もし, ネットワークへの接続のよいFTP/HTTPサイトを見つけるこ +

もし, ネットワークへの接続のよい FTP/HTTP サイトを見つけるこ とができなかったり, 頭にくるような非標準的な形式しか持ってい - ないサイトしか見つけられないときには, 最後の手段として, 私たち - 自身で, + ないサイトしか見つけられないときには, 自分で管理する確実な + HTTP か FTP サイトに置くことができます. + あるいは, あなたが FreeBSD の committer であれば, + 自分の public_html ディレクトリ置くのが理想的です. + もしも, そのような確実な場所が見つけられなけば, 私たちが ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/LOCAL_PORTS/ - に置くことができます. この場所は, 変数 - ${MASTER_SITE_LOCAL} を使って参照してください. - これについての問い合わせのメールは - &a.ports へお願いします. + に置き場所を提供できます. この場所は, 変数 + ${MASTER_SITE_LOCAL} を使って参照してくださ + い. これについての問い合わせのメールは &a.ports へお願いしま + す.

もし, あなたのportに必要ないくつかの追加パッチがインター ネット上で手に入るのならば, それらも取ってきて, @@ -1229,10 +1248,18 @@ diff -u -r1.15 PLIST そうでなければそのまま PR に入れるだけでいいです. - やっていいことといけないこと + やってよいことといけないこと +

この節では, ソフトウェアをportする上でよくある落し穴などにつ - いて説明します. + いて説明します. このリストを使って, あなた自身が作成した port + のチェックはもとより, PR データベースにある, 他の人が作成した + port のチェックもできます. あなたがチェックした port について + のコメントを + + にしたがって, 送ってください. PR データベースにある port を + チェックすることによって, 私達がそれらを commit するのを早くし, + あなたが何をしているか理解していることも示します. WRKDIR @@ -1247,15 +1274,13 @@ diff -u -r1.15 PLIST リにコピーするようにしてください. - Package情報 - -

Package情報, すなわちpkgディレクトリ内の - COMMENT, DESCR, PLIST - は必ず用意してください. これらはpackageを作る以 - 外にもいろいろ使われていますので, - ${NO_PACKAGE}が指定してあってpackageを作 - るのが禁止してあるportの場合でも常に必要です. + Portlint でチェック +

必ずportlintを使いましょう! + プログラムは ports コレクション + に含まれています. + マニュアルの圧縮, バイナリのstrip @@ -1555,11 +1580,51 @@ wnn:*:69:7:Wnn:/nonexistent:/nonexistent ifmail:*:70:66:Ifmail user:/nonexistent:/nonexistent pgsql:*:71:246:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh msql:*:80:249:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh +alias:*:81:81:QMail user:/var/qmail/alias:/nonexistent +qmaill:*:83:81:QMail user:/var/qmail:/nonexistent +qmaild:*:82:81:QMail user:/var/qmail:/nonexistent +qmailq:*:85:80:QMail user:/var/qmail:/nonexistent +qmails:*:87:80:QMail user:/var/qmail:/nonexistent +qmailp:*:84:81:QMail user:/var/qmail:/nonexistent +qmailr:*:86:80:QMail user:/var/qmail:/nonexistent

このリストを最新の状態に保つためにもこの範囲の UIDを利用する portを作った場合には, &a.ports; までご連絡ください. + + 合理的な port + +

Makefile は単純かつ適切であるべきです. もし, Makefile を + 数行短かくできたり, もっと読みやすくできるのであれば, そうし + てください. 例えば, shell の `if' 構文を使う代りに, + make の `.if' 構文を使う, + ${EXTRACT*}の再定義で代用できるのであれば, + do-extractを再定義しない, `CONFIGURE_ARGS += + --prefix=${PREFIX}' とするかわりに, + $GNU_CONFIGURE とする, などです. + + + CFLAGS の尊重 +

${CFLAGS} 変数は尊重すべきです. その port + がこれを無視するのであれば, `NO_PACKAGE=ignores + cflags' を Makefile に加えてください. + + + その他諸々 + +

pkg/DESCR, pkg/COMMENT, + pkg/PLIST などのファイルは, それぞれ2重にチェックし + てください. 再検討してもっと良い記述があれば, それに置きかえ + てください. + +

GNU General Public License(GNU一般公有使用許諾)のコピーは + (すでにあるので)コピーしないでください, おねがいします. + +

法律に関することには, 十分注意をはらってください. + 私達に法律に反するような形でソフトフェアの配布をさせない + でください! + 困ったら.... @@ -1690,7 +1755,13 @@ msql:*:80:249:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh を使います. 例外はたくさんのプログラムが入っている巨大なport の場合で, XFree86 (ほんとにあるんですよ) やImageMagickな どがこれにあたります. そうでない場合には, 名前の大文字を小文 - 字に (少なくとも最初の一字だけは) 変えてください. また, その + 字に (少なくとも最初の一字だけは) 変えてください. + もし, 大文字であることが重要な場合(例えば, 1文字の名前, + R とか V)には, あなたの裁量で大文字を使うのも良いでしょう. + Perl 5 のモジュールでは, 頭に `p5-' を付け, 2重コロン(::) + のセパレータをハイフン(-)に置きかえるしきたりになっています. + 例えば, `Data::Dumper' は `p5-Data-Dumper' + になります. また, その ソフトウェアの名前として通常使われるものに番号, ハイフン, あ るいは下線が入っている場合には, それらを使うことも構いません (`kinput2' など).