Date: Wed, 10 Oct 2012 10:42:07 +0000 (UTC) From: Ryusuke SUZUKI <ryusuke@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r39721 - head/ja_JP.eucJP/books/porters-handbook Message-ID: <201210101042.q9AAg7fu006305@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ryusuke Date: Wed Oct 10 10:42:07 2012 New Revision: 39721 URL: http://svn.freebsd.org/changeset/doc/39721 Log: Merge the following from the English version: r17053 -> r18652 head/ja_JP.eucJP/books/porters-handbook/book.sgml Submitted by: Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org> Reference: [doc-jp-work 1764] Modified: head/ja_JP.eucJP/books/porters-handbook/book.xml Modified: head/ja_JP.eucJP/books/porters-handbook/book.xml ============================================================================== --- head/ja_JP.eucJP/books/porters-handbook/book.xml Wed Oct 10 10:36:14 2012 (r39720) +++ head/ja_JP.eucJP/books/porters-handbook/book.xml Wed Oct 10 10:42:07 2012 (r39721) @@ -9,7 +9,7 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: 1.304 + Original revision: r18652 $FreeBSD$ --> @@ -47,6 +47,8 @@ FreeBSD &a.jp.doc-jp; まで日本語でコメントをお寄せください。</para> </abstract> + &trademarks; + &legalnotice; <releaseinfo>$FreeBSD$</releaseinfo> @@ -81,7 +83,7 @@ なお、このファイルは非標準のタブ設定を使用しています。 <application>Emacs</application> や <application>Vim</application> は、 この設定をファイルの読み込み時に認識するはずです。 - <command>vi</command> と <command>ex</command> では、 + &man.vi.1; と &man.ex.1; では、 一旦ファイルを読み込んでから <command>:set tabstop=4</command> と タイプすることで、正しい値に設定することができます。</para> </note> @@ -646,7 +648,8 @@ lib/X11/oneko/mouse.xpm <title>パッチの適用</title> <para>port の準備段階で追加されたり変更されたりしたファイルは、 - 再帰的 diff によりパッチファイル化することができます。 + 再帰的 &man.diff.1; により後で &man.patch.1; + に与えられる形にすることができます。 パッチは適当にまとめて <filename>patch-<replaceable>*</replaceable></filename> という名前のファイルに入れてください。 @@ -680,7 +683,7 @@ lib/X11/oneko/mouse.xpm <literal>$RCS</literal> などで始まります。</para> - <para><command>diff</command> の再帰 (<option>-r</option>) + <para>&man.diff.1; の再帰 (<option>-r</option>) フラグを使って再帰的なパッチを作るのは大変結構なのですが、 でき上がったパッチは必ず目でチェックして余計なゴミが入っていないことを確認してください。 よくあるのはバックアップファイル同士の変更点、あるいは @@ -814,7 +817,8 @@ lib/X11/oneko/mouse.xpm 大きな影響を与える変更を行なった時には、 <makevar>PORTREVISION</makevar> を増やしてください。</para> - <para>PORTREVISION を上げる必要がある変更の例:</para> + <para><makevar>PORTREVISION</makevar> + を上げる必要がある変更の例:</para> <itemizedlist> <listitem> @@ -824,7 +828,8 @@ lib/X11/oneko/mouse.xpm <listitem> <para>package のコンパイル時オプションの有効化や - 無効化のための Makefile の変更。</para> + 無効化のための port の <filename>Makefile</filename> + の変更。</para> </listitem> <listitem> @@ -893,7 +898,7 @@ lib/X11/oneko/mouse.xpm 利益を受けるような何か かどうか自問してみることです。 もし答がイエスであれば、新しい package が利用可能になった事実を - (例えば <command>pkg_version</command> 等の) 自動化ツールが + (例えば &man.pkg.version.1; 等の) 自動化ツールが 強調することができるように、<makevar>PORTREVISION</makevar> を 上げるべきでしょう。</para> </sect3> @@ -950,7 +955,8 @@ lib/X11/oneko/mouse.xpm <title><makevar>PORTREVISION</makevar> と <makevar>PORTEPOCH</makevar> の使い方の例</title> - <para>gtkmumble の port, バージョン 0.10 が + <para><literal>gtkmumble</literal> の port, + バージョン <literal>0.10</literal> が ports collection にコミットされます。</para> <programlisting>PORTNAME= gtkmumble @@ -983,7 +989,7 @@ PORTREVISION= 1</programlisting> <makevar>PORTEPOCH</makevar> を増やす必要があります。 これは新しいベンダーリリースなので、 <makevar>PORTREVISION</makevar> は 0 にリセット - (または Makefile から削除) されます。</para> + (または <filename>Makefile</filename> から削除) されます。</para> <programlisting>PORTNAME= gtkmumble PORTVERSION= 0.2 @@ -1008,9 +1014,10 @@ PORTEPOCH= 1</programlisting> <makevar>PORTEPOCH</makevar> が <literal>0</literal> に リセットされたとすると、<literal>3</literal> は数字として <literal>10</literal> よりも小さいため、 - gtkmumble-0.10_1 の package をインストールした誰かは - gtkmumble-0.3 の package の方が新しいことに - 気がつかないことになるでしょう。</para> + <literal>gtkmumble-0.10_1</literal> + の package をインストールした誰かは + <literal>gtkmumble-0.3</literal> の package + の方が新しいことに気がつかないことになるでしょう。</para> </note> </sect3> </sect2> @@ -1032,7 +1039,7 @@ PORTEPOCH= 1</programlisting> ハイフン (<literal>-</literal>) を使用することは禁止されています。 また、package 名に <replaceable>language-</replaceable> もしくは - <replaceable>compiled.specifics</replaceable> 部分が + <replaceable>-compiled.specifics</replaceable> 部分が 含まれる場合、それぞれ <makevar>PKGNAMEPREFIX</makevar> と <makevar>PKGNAMESUFFIX</makevar> を使用してください。 これらを <makevar>PORTNAME</makevar> の一部としてはいけません。</para> @@ -1086,7 +1093,7 @@ PORTEPOCH= 1</programlisting> 大文字を含んだソフトウェア名を変換する際の規則は、 あなた自身の裁量に任されています。) - Perl 5 のモジュールでは先頭に + <literal>perl 5</literal> のモジュールでは先頭に <literal>p5-</literal> を付け、 二重コロン (<literal>::</literal>) のセパレータをハイフン @@ -1109,7 +1116,7 @@ PORTEPOCH= 1</programlisting> (ハイフンはあってもなくてもかまいません)。 用紙のサイズ、あるいはフォントの解像度などがこれにあたります。</para> - <para><replaceable>compiled.specifics</replaceable> 部分は、 + <para><replaceable>-compiled.specifics</replaceable> 部分は、 <makevar>PKGNAMESUFFIX</makevar> 変数に定義されなければなりません。</para> </listitem> @@ -1292,7 +1299,7 @@ PORTEPOCH= 1</programlisting> また原作者が新しいバージョンをリリースする可能性が低いときには、 バージョン番号として <literal>1.0</literal> を使えばいいでしょう - (上記の piewm の例がこれにあたります)。 + (上記の <literal>piewm</literal> の例がこれにあたります)。 そうでない場合には原作者に聞くか、日付 (<literal><replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>) を使うなどしてください。</para> @@ -1432,6 +1439,11 @@ PORTEPOCH= 1</programlisting> </row> <row> + <entry><filename>dns</filename></entry> + <entry>DNS 関連ソフトウェア</entry> + </row> + + <row> <entry><filename>editors</filename></entry> <entry>一般的なエディタ。 特殊なエディタはそれぞれふさわしいセクションに入れます @@ -1608,7 +1620,8 @@ PORTEPOCH= 1</programlisting> <row> <entry><filename>perl5*</filename></entry> - <entry>実行に perl バージョン 5 を必要とする ports</entry> + <entry>実行に <literal>perl</literal> + バージョン 5 を必要とする ports</entry> </row> <row> @@ -1622,6 +1635,11 @@ PORTEPOCH= 1</programlisting> </row> <row> + <entry><filename>polish</filename></entry> + <entry>ポーランド語サポート</entry> + </row> + + <row> <entry><filename>portuguese</filename></entry> <entry>ポルトガル語サポート</entry> </row> @@ -2782,6 +2800,9 @@ PATCHFILES= patch1:test</programlist <ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER"> Makefile 中の MAINTAINER</ulink> の セクションを参照してください。</para> + + <para><makevar>MAINTAINER</makevar> の値としては、 + コメント部のないアドレスだけが受け付けられます。</para> </sect1> <sect1 id="makefile-comment"> @@ -2851,7 +2872,7 @@ PATCHFILES= patch1:test</programlist インストールされるマシンが違う場合、どちらのマシンでも そのライブラリが利用できることを確認するためです。) 同様に、依存するライブラリの名前は package 中にも書き込まれていて、 - <command>pkg_add</command> 実行時に そのライブラリが + &man.pkg.add.1; 実行時にそのライブラリが ユーザのシステムに存在していなければ、自動的にインストールされます。 </para> </sect2> @@ -2901,7 +2922,7 @@ PATCHFILES= patch1:test</programlist <para>この依存関係は <maketarget>install</maketarget> ターゲット中でチェックされます。 - また、<command>pkg_add</command> によるインストールの際に、その package + また、&man.pkg.add.1; によるインストールの際に、その package が依存するものがユーザのシステムに存在しない場合には自動的に追加インストールできるように、 依存するものの名前も package 中に記録されます。 <replaceable>target</replaceable> の部分が @@ -3021,8 +3042,10 @@ PATCHFILES= patch1:test</programlist <row> <entry><makevar>USE_PERL5</makevar></entry> - <entry>その port をビルドしてインストールするのに Perl 5 - が必要です。Perl に関連して設定可能な他の変数については + <entry>その port をビルドしてインストールするのに + <literal>perl 5</literal> が必要です。 + <literal>perl</literal> + に関連して設定可能な他の変数については <xref linkend="using-perl"/> をご覧ください。</entry> </row> @@ -3097,10 +3120,11 @@ PATCHFILES= patch1:test</programlist <literal>USE_AUTOCONF=yes</literal> を、 最新の qt toolkit を使用する場合には <literal>USE_QT=yes</literal> を、 - perl 言語のバージョン 5 を必要とする場合には + <literal>perl</literal> 言語のバージョン 5 を必要とする場合には <literal>USE_PERL5=yes</literal> を定義してください (特に最後のものは重要です。 - FreeBSD のバージョンにより、基本システムに perl5 + FreeBSD のバージョンにより、基本システムに + <literal>perl5</literal> が含まれていたり、いなかったりします)。</para> </sect2> @@ -3134,7 +3158,7 @@ PATCHFILES= patch1:test</programlist <programlisting>BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract</programlisting> - とすると、常に JPEG port + とすると、常に <literal>jpeg</literal> port のディレクトリに行ってソースの展開を行ないます。</para> <para>あなたがやりたいことが他の方法ではできない場合以外には @@ -3239,6 +3263,19 @@ PORTVERSION= 1.0</programlisting> </sect2> </sect1> + <sect1 id="conflicts"> + <title><makevar>CONFLICTS</makevar></title> + + <para>あなたが作成している package が他の packageと + (ファイルの衝突や実行時の非互換性により) + 共存できないのであれば、<makevar>CONFLICTS</makevar> + 変数にその package の名称を挙げてください。 + <literal>*</literal> や <literal>?</literal> + のようなシェルの補完が利用できます。package 名は + <filename>/var/db/pkg</filename> + にあるのと同じ形式で並べてください。</para> + </sect1> + <sect1 id="makefile-build"> <title>ビルドのメカニズム</title> @@ -3423,10 +3460,10 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PRE </sect1> <sect1 id="using-perl"> - <title>Perl の利用</title> + <title><literal>perl</literal> の利用</title> <table frame="none"> - <title>Perl を使用する ports 用の変数</title> + <title><literal>perl</literal> を使用する ports 用の変数</title> <tgroup cols="2"> <thead> @@ -3441,40 +3478,56 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PRE <row> <entry><makevar>USE_PERL5</makevar></entry> - <entry>その port のビルドと実行に Perl 5 + <entry>その port のビルドと実行に <literal>perl 5</literal> を使用することを示します。</entry> </row> <row> - <entry><makevar>PERL</makevar></entry> - </row> - + <entry><makevar>PERL_CONFIGURE</makevar></entry> + + <entry>Perl の MakeMaker + を使ってコンフィグレーションを行います。暗黙のうちに + <makevar>USE_PERL5</makevar> を設定します。</entry> + </row> + </tbody> + </tgroup> + + <tgroup cols="2"> + <thead> + <row> + <entry>読み取り専用変数</entry> + </row> + </thead> + + <tbody> <row> <entry><makevar>PERL_VERSION</makevar></entry> - <entry>インストールされている Perl の完全なバージョン + <entry>インストールされている <literal>perl</literal> + の完全なバージョン (たとえば <literal>5.00503</literal>)。</entry> </row> <row> <entry><makevar>PERL_VER</makevar></entry> - <entry>インストールされている Perl のバージョンの短縮形 + <entry>インストールされている <literal>perl</literal> + のバージョンの短縮形 (たとえば <literal>5.005</literal>)。</entry> </row> <row> <entry><makevar>PERL_LEVEL</makevar></entry> - <entry>インストールされている Perl の - MNNNPP 形式の整数で表されるバージョン + <entry>インストールされている <literal>perl</literal> の + <literal>MNNNPP</literal> 形式の整数で表されるバージョン (たとえば <literal>500503</literal>)。</entry> </row> <row> <entry><makevar>PERL_ARCH</makevar></entry> - <entry>Perl + <entry><literal>perl</literal> がアーキテクチャ依存のライブラリをインストールする場所。 デフォルトは <literal>${ARCH}-freebsd</literal>。</entry> </row> @@ -4195,7 +4248,7 @@ MASTERDIR= ${.CURDIR}/../xdvi300 以外のディレクトリの下にマニュアルを置くような port では、そのディレクトリを <makevar>MANPREFIX</makevar> で指定することができます。 - さらに、いくつかの Perl モジュールの ports のように、 + さらに、いくつかの <literal>perl</literal> モジュールの ports のように、 特定のセクションのマニュアルだけを非標準の場所にインストールする場合、 個々のマニュアルのパスを <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> @@ -4313,304 +4366,12 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programl <chapter id="porting-info"> <title>Info ファイル</title> - <para>新しい版の texinfo - (2.2.2-RELEASE およびそれ以降に入っています) には - <command>install-info</command> というコマンドが含まれており、 - <filename>dir</filename> - ファイルに項目を追加したり削除したりすることができます。 - もし、あなたの port が info 文書をインストー ルするのであれば、 - 以下の指示に従ってその port および package - が正しくユーザの - <filename><makevar>PREFIX</makevar>/info/dir</filename> - ファイルを更新するようにしてください - (このセクションはとても長くてすいません。 - しかし info ファイルを作りあげるためにはこれらは不可欠です。 - 正しく行なえば<emphasis>美しい</emphasis>リストができますので、 - 辛抱してください! - <!-- smiley --><emphasis>:-)</emphasis></para> - - <para>まず、これを知っておかなければなりません。</para> - - <screen>&prompt.user; <userinput>install-info --help</userinput> -install-info [OPTION]... [INFO-FILE [DIR-FILE]] - Install INFO-FILE in the Info directory file DIR-FILE. - (訳注: Info ディレクトリの INFO-FILE を DIR-FILE にインストールする) -Options: ---delete Delete existing entries in INFO-FILE; - don't insert any new entries. - (訳注: INFO-FILE の中の項目を削除、 - 新しい項目は一切追加しない。) - : ---entry=TEXT Insert TEXT as an Info directory entry. - (訳注: TEXT を Info ディレクトリの項目として追加する。) - : ---section=SEC Put this file's entries in section SEC of the directory. - (訳注: このファイルの項目を Info ディレクトリの SEC - というセクションに置く。) - :</screen> - - <note> - <para>このプログラムは、実際には info - ファイルを<emphasis>インストール</emphasis>しません。 - 単に <filename>dir</filename> - ファイルにエントリを挿入したり削除したりするだけです。</para> - </note> - - <para>これから、<command>install-info</command> - を使用するように、ports を変換する 7 段階の工程を示します。 - 例として - <filename role="package">editors/emacs</filename> - を使用します。</para> - - <procedure> - <step> - <para>まず、texinfo のソースを見て、 - <literal>@dircategory</literal> と - <literal>@direntry</literal> 文がないファイルについて、 - それらを追加するパッチを作成します。以下は、 - ここでの例での patchの一部です:</para> - - <programlisting>--- ./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 @@ - - @setfilename ../info/vip - @settitle VIP -+@dircategory The Emacs editor and associated tools -+@direntry -+* VIP: (vip). A VI-emulation for Emacs. -+@end direntry - - @iftex - @finalout - :</programlisting> - - <para>フォーマットについては見ればわかると思います。 - <filename>dir</filename> - というファイルに必要な項目を書いておいてくれる作者も多いので、 - まず自分で書く前にさがしてみてください。 - また、関係する ports も調べて、 - セクションの名前やインデントなどがきちんと合っているかどうかを確認してください - (項目のテキスト は、すべて 4 つめのタブ・ストップ - (tab stop) から始めることを推奨します)。</para> - - <note> - <para>一つのファイルに対して一つの info - の項目しか書けないことに注意してください。これは - <command>install-info --delete</command> - <!-- kuriyama - not email --> のバグにより - <email>@direntry</email> - セクションに複数の項目を書いても初めの一つの項目しか削除してくれないからです。</para> - </note> - - <para>texinfo のソースにパッチを適用する代わりに - <literal>dir</literal> の項目を - <command>install-info</command> の引数 - (<option>--section</option>, <option>--entry</option>) - として与えることもできますが、あまり良い方法とは言えません。 - なぜなら同じ情報を三つの場所 - (<filename>Makefile</filename>, - <filename>pkg-plist</filename> の - <literal>@exec</literal>/<literal>@unexec</literal>: - 以下参照) - に重複して書く必要があるからです。 - しかし、日本語 (あるいは、他のマルチバイトエンコーディング) の - info ファイルがある場合には - <command>install-info</command> - の特別な引数を使用する必要があるでしょう。 - なぜなら <command>makeinfo</command> がこのような - texinfo ソースファイルを扱えないからです。 - (このようなものをどう扱うかの例としては - <filename role="package">japanese/skk</filename> の - <filename>Makefile</filename> と - <filename>pkg-plist</filename> を見てください)。</para> - </step> - - <step> - <para>portのディレクトリに戻って - <command>make clean; make</command> を実行し、info ファイルが - texinfo ソースファイルから再び生成されることを確認してください。 - texinfo ソースファイルのほうが info ファイルよりも新しいので - <command>make</command> と入力すれば - info ファイルは再構築されるはずですが、多くの - <filename>Makefile</filename> - には info ファイルの正しい依存関係が書かれていません。 - <application>Emacs</application> の場合、 - info ファイルの再構築の際には - <filename>man</filename> サブディレクトリに降りるように - メインの <filename>Makefile.in</filename> - にパッチを適用する必要がありました。</para> - - <programlisting>--- ./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 - # because the compiled lisp files are part of the distribution - # and you cannot remake them without installing Emacs first. --SUBDIR = lib-src src -+SUBDIR = lib-src src man - - # The makefiles of the directories in $SUBDIR. - SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile ---- ./man/Makefile.in.org Thu Jun 27 15:27:19 1996 -+++ ./man/Makefile.in Tue Apr 15 00:29:52 1997 -@@ -66,6 +66,7 @@ - ${srcdir}/gnu1.texi \ - ${srcdir}/glossary.texi - -+all: info - info: $(INFO_TARGETS) - - dvi: $(DVI_TARGETS)</programlisting> - - <para>メインの <filename>Makefile</filename> からは、 - <maketarget>all</maketarget> として呼びたいのですが、 - <filename>man</filename> - サブディレクトリでのデフォルトターゲットは - <maketarget>info</maketarget> になっています。 - このため、二つ目のパッチが必要になります。 - また、<filename>info</filename> info - ファイルのインストールも削除しました。 - なぜなら、それは同じ名前ですでに - <filename>/usr/share/info</filename> にあるからです - (そのパッチはここでは示しません)。</para> - </step> - - <step> - <para>もし、<filename>Makefile</filename> に - <filename>dir</filename> - ファイルをインストールする個所があれば削除します。 - あなたの port がインストールしてはいけません。 - また、<filename>dir</filename> - ファイルを壊してしまうようなコマンドの類も削除します。</para> - - <programlisting>--- ./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)` ]; \ - then \ - (cd ${infodir}; \ -- if [ -f dir ]; then \ -- if [ ! -f dir.old ]; then mv -f dir dir.old; \ -- else mv -f dir dir.bak; fi; \ -- fi; \ - cd ${srcdir}/info ; \ -- (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \ -- (cd $${thisdir}; chmod a+r ${infodir}/dir); \ - for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \ - (cd $${thisdir}; \ - ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \ - chmod a+r ${infodir}/$$f); \</programlisting> - </step> - - <step> - <para>(これは、既存のportを修正するときのみ必要です。) - <filename>pkg-plist</filename> を見て、 - <filename>info/dir</filename> - にパッチをあてようとするものすべてを削除します。これらは - <filename>pkg-install</filename> - やその他のファイルにもあるかもしれないので、 - いろいろさがしてみてください。</para> - - <programlisting>Index: pkg-plist -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/pkg/pkg-plist,v -retrieving revision 1.15 -diff -u -r1.15 pkg-plist ---- pkg-plist 1997/03/04 08:04:00 1.15 -+++ pkg-plist 1997/04/15 06:32:12 -@@ -15,9 +15,6 @@ - man/man1/emacs.1.gz - man/man1/etags.1.gz - man/man1/ctags.1.gz --@unexec cp %D/info/dir %D/info/dir.bak --info/dir --@unexec cp %D/info/dir.bak %D/info/dir - info/cl - info/cl-1 - info/cl-2</programlisting> - </step> - - <step> - <para><maketarget>post-install</maketarget> ターゲットを - <filename>Makefile</filename> - に加えてインストールされた info ファイルについては、 - <maketarget>install-info</maketarget> - を実行するようします - (<filename>dir</filename> - ファイルが存在しない場合にそれを作成するようにする必要はなくなりました。 - <command>install-info</command> - はこのファイルが存在しなければ自動的に作成します)。 - </para> - - <programlisting>Index: Makefile -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/Makefile,v -retrieving revision 1.26 -diff -u -r1.26 Makefile ---- Makefile 1996/11/19 13:14:40 1.26 -+++ Makefile 1997/05/20 10:25:09 1.28 -@@ -20,5 +20,11 @@ - post-install: - .for file in emacs-19.34 emacsclient etags ctags b2m - strip ${PREFIX}/bin/${file} - .endfor -+.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode -+ install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir -+.endfor - - .include <bsd.port.mk></programlisting> - </step> - - <step> - <para><filename>pkg-plist</filename> を編集して、同じ働きをする - <literal>@exec</literal> 文、 - それに <command>pkg_delete</command> のために - <literal>@unexec</literal> 文を加えてください。</para> - - <programlisting>Index: pkg-plist -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v -retrieving revision 1.15 -diff -u -r1.15 pkg-plist ---- pkg-plist 1997/03/04 08:04:00 1.15 -+++ pkg-plist 1997/05/20 10:25:12 1.17 -@@ -16,7 +14,14 @@ - man/man1/etags.1.gz - man/man1/ctags.1.gz -+@unexec install-info --delete %D/info/emacs %D/info/dir - : -+@unexec install-info --delete %D/info/ccmode %D/info/dir - info/cl - info/cl-1 -@@ -87,6 +94,18 @@ - info/viper-3 - info/viper-4 -+@exec install-info %D/info/emacs %D/info/dir - : -+@exec install-info %D/info/ccmode %D/info/dir - libexec/emacs/19.34/i386--freebsd/cvtmail - libexec/emacs/19.34/i386--freebsd/digest-doc</programlisting> - - <note> - <para><literal>@unexec install-info --delete</literal> - コマンドは info ファイル自身より先に置き、 - コマンドがファイルを読めるようにしておかなければならないことに注意してください。 - また <literal>@exec install-info</literal> コマンドは、 - info ファイルおよび <filename>dir</filename> - ファイルを作る <literal>@exec</literal> - コマンドより後におかなければなりません。</para> - </note> - </step> - - <step> - <para><link linkend="porting-testing">テスト</link> - をして出来栄えに感服しましょう - <!-- smiley --><emphasis>:)</emphasis> - 各段階の前後に <filename>dir</filename> - ファイルをチェックしましょう。</para> - </step> - </procedure> + <para>あなたが作成している package で GNU info + ファイルをインストールする必要があれば、それを + <makevar>INFO</makevar> 変数に (後ろの <literal>.info</literal> + なしで) 書いてください。package 登録の前に一時的に生成された + <filename>pkg-plist</filename> に、 + 適切なインストールおよびアンインストールコードが自動的に追加されます。</para> </chapter> <chapter id="pkg-files"> @@ -4625,7 +4386,7 @@ diff -u -r1.15 pkg-plist <para>もしインストールする人にメッセージを表示する必要がある場合には、 そのメッセージを <filename>pkg-message</filename> に置くことができます。 - この機能は <command>pkg_add</command> + この機能は &man.pkg.add.1; の後の追加のインストール手続きを表示するときなどに重宝します。</para> <note> @@ -4642,12 +4403,12 @@ diff -u -r1.15 pkg-plist <sect1 id="pkg-install"> <title><filename>pkg-install</filename></title> - <para>バイナリパッケージが <command>pkg_add</command> + <para>バイナリパッケージが &man.pkg.add.1; でインストールされるときに実行する必要のあるコマンドがあれば、 <filename>pkg-install</filename> スクリプトを使って実行することができます。 このスクリプトは自動的に package に加えられ、 - <command>pkg_add</command> によって 2 回実行されます。 + &man.pkg.add.1; によって 2 回実行されます。 1 回目は <literal>${SH} pkg-install ${PKGNAME} PRE-INSTALL</literal> として、2 回目には @@ -4669,6 +4430,19 @@ diff -u -r1.15 pkg-plist </note> </sect1> + <sect1 id="pkg-deinstall"> + <title><filename>pkg-deinstall</filename></title> + + <para>このスクリプトは package が削除される際に実行されます。</para> + + <para>このスクリプトは、&man.pkg.delete.1; から + 2 回実行されます。1 回目は + <literal>${SH} pkg-install ${PKGNAME} DEINSTALL</literal> + と、2 回目は + <literal>${SH} pkg-install ${PKGNAME} POST-DEINSTALL</literal> + という形で実行されます。 </para> + </sect1> + <sect1 id="pkg-req"> <title><filename>pkg-req</filename></title> @@ -4679,9 +4453,9 @@ diff -u -r1.15 pkg-plist インストールや削除を実行すべきかどうか判断するために、 このスクリプトがインストールや削除を実行する際に自動的に実行されます。</para> - <para>このスクリプトはインストール時には <command>pkg_add</command> により + <para>このスクリプトはインストール時には &man.pkg.add.1; により <literal>pkg-req ${PKGNAME} INSTALL</literal> として実行され、 - 削除時には <command>pkg_delete</command> により + 削除時には &man.pkg.delete.1; により <literal>pkg-req ${PKGNAME} DEINSTALL</literal> として 実行されます。</para> </sect1> @@ -4690,8 +4464,10 @@ diff -u -r1.15 pkg-plist <title>make の変数にあわせた <filename>pkg-plist</filename> の変更</title> - <para>いくつかの port、特に p5-ports などは configure のオプション - (あるいは、p5-ports の場合は perl のバージョン) によって + <para>いくつかの port、特に <literal>p5-</literal> ports + などは、configure のオプション + (あるいは、<literal>p5-</literal> + の場合は <literal>perl</literal> のバージョン) によって <filename>pkg-plist</filename> を変える必要があります。 これを容易に実現するために <filename>pkg-plist</filename> 中の @@ -4702,11 +4478,11 @@ diff -u -r1.15 pkg-plist <literal>%%OSREL%%</literal> の値はオペレーティングシステムの数字で表されたリビジョンです (たとえば <literal>2.2.7</literal>)。 - <literal>%%PERL_VERSION%%</literal> は perl + <literal>%%PERL_VERSION%%</literal> は <literal>perl</literal> のバージョン番号全体 (たとえば <literal>5.00502</literal>) - で、<literal>%%PERL_VER%%</literal> - はバージョン番号からパッチレベルを引いたものです + で、<literal>%%PERL_VER%%</literal> は <literal>perl</literal> + のバージョン番号からパッチレベルを引いたものです (たとえば <literal>5.005</literal>)。</para> <para>他の置き換えが必要であれば、<makevar>PLIST_SUB</makevar> @@ -4733,8 +4509,8 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ <para>この書き換えは (<link linkend="porting-manpages">マニュアル</link>の追加も) - <maketarget>do-install</maketarget> と - <maketarget>post-install</maketarget> ターゲットの間に + <maketarget>pre-install</maketarget> と + <maketarget>do-install</maketarget> ターゲットの間に <makevar>pkg-plist</makevar> を読み <makevar>TMPPLIST</makevar> (デフォルトは @@ -4742,7 +4518,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ に書き込むことによって行なわれます。 もし、あなたの port が <makevar>PLIST</makevar> を実行時に生成するのであれば、 - <maketarget>do-install</maketarget> + <maketarget>pre-install</maketarget> の間かその前に行なうようにしてください。 また、書きかえられたあとのファイルを編集する必要がある場合には、 <maketarget>post-install</maketarget> @@ -4801,6 +4577,11 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ </row> <row> + <entry><makevar>PKGDEINSTALL</makevar></entry> + <entry><literal>${PKGDIR}/pkg-deinstall</literal></entry> + </row> + + <row> <entry><makevar>PKGREQ</makevar></entry> <entry><literal>${PKGDIR}/pkg-req</literal></entry> </row> @@ -4856,7 +4637,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ <command>imake</command> を使うものについては、 <!-- kuriyama - imake is command --> これは問題にはなりません。 - それ以外の場合にはソース中の Makefile やスクリプトで + それ以外の場合には port の <filename>scripts/Makefile</filename> で <filename>/usr/local</filename> (imake を使わない X のプログラムは <filename>/usr/X11R6</filename>) と書いてあるところを @@ -4906,7 +4687,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ (X Window System を使う port の場合には <programlisting>-DPAGER=\"${LOCALBASE}/bin/less\"</programlisting>) を渡してください。 - こうしておけば、システム管理者が <quote>/usr/local</quote> を + こうしておけば、システム管理者が <filename>/usr/local</filename> を まるごと どこか他の場所に移していたとしても、その port が そのまま使える可能性が高くなります。</para> </sect1> @@ -4921,12 +4702,13 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ 正当性テストでエラーが起きると連絡が行きます。</para> <para>このサービスを利用したい場合、必要なのは FreshPorts - のアカウントだけです。登録したメールアドレスが @FreeBSD.org - のものであれば、 + のアカウントだけです。登録したメールアドレスが + <literal>@FreeBSD.org</literal> のものであれば、 ウェブページの右側にサービスを選択するリンクがあるはずです。 - FreshPorts にアカウントを持っていても @FreeBSD.org + FreshPorts にアカウントを持っていても + <literal>@FreeBSD.org</literal> のメールアドレスを利用していない場合、メールアドレスを - @FreeBSD.org に変え、登録したあとで、 + <literal>@FreeBSD.org</literal> に変え、登録したあとで、 メールアドレスをまた変更してください。</para> </sect1> </chapter> @@ -5796,6 +5578,22 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ </row> <row> + <entry>realpath(3) がスレッドセーフになった後の + 4.8-STABLE</entry> + <entry>480101</entry> + </row> + + <row> + <entry>4.8-STABLE における twe の 3ware API の変更</entry> + <entry>480102</entry> + </row> + + <row> + <entry>4.9-RELEASE</entry> + <entry>490000</entry> + </row> + + <row> <entry>5.0-CURRENT</entry> <entry>500000</entry> </row> @@ -6065,7 +5863,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ </row> <row> - <entry>RELENG_5_0_0 をブランチした後の 5.0-CURRENT</entry> + <entry>RELENG_5_0 をブランチした後の 5.0-CURRENT</entry> <entry>500100</entry> </row> <row> @@ -6132,6 +5930,77 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ <entry>古い rc システムを削除した後の 5.0-CURRENT</entry> <entry>500113</entry> </row> + <row> + <entry>5.1-RELEASE</entry> + <entry>501000</entry> + </row> + <row> + <entry>RELENG_5_1 をブランチした後の 5.1-CURRENT</entry> + <entry>501100</entry> + </row> + <row> + <entry>sigtimedwait(2) と sigwaitinfo(2) + の動作を修正した後の 5.1-CURRENT</entry> + <entry>501101</entry> + </row> + <row> + <entry>bus_dma_tag_create(9) に + lockfunc と lockfuncarg フィールドを追加した後の + 5.1-CURRENT</entry> + <entry>501102</entry> + </row> + <row> + <entry>GCC 3.3.1-pre 20030711 snapshot + 導入後の 5.1-CURRENT</entry> + <entry>501103</entry> + </row> + <row> + <entry>5.1-CURRENT における twe の 3ware API の変更</entry> + <entry>501104</entry> + </row> + <row> + <entry>/bin と /sbin がダイナミックリンクされ、 + ライブラリを /lib に移動した 5.1-CURRENT</entry> + <entry>501105</entry> + </row> + <row> + <entry>Coda 6.x のカーネルサポートを追加した後の + 5.1-CURRENT</entry> + <entry>501106</entry> + </row> + <row> + <entry>16550 UART 定数を + <filename><dev/sio/sioreg.h></filename> から + <filename><dev/ic/ns16550.h></filename> + に移動した後の 5.1-CURRENT</entry> + <entry>501107</entry> + </row> + <row> + <entry>PFIL_HOOKS API を更新した後の 5.1-CURRENT</entry> + <entry>501108</entry> + </row> + <row> + <entry>kiconv(3) を追加した後の 5.1-CURRENT</entry> + <entry>501109</entry> + </row> + <row> + <entry>cdevsw の open および close + のデフォルトの操作を変更した後の 5.1-CURRENT</entry> + <entry>501110</entry> + </row> + <row> + <entry>cdevsw のレイアウトを変更した後の 5.1-CURRENT</entry> + <entry>501111</entry> + </row> + <row> + <entry>kobj の多重継承を追加した後の 5.1-CURRENT</entry> + <entry>501112</entry> + </row> + <row> + <entry>struct ifnet の if_xname が変更された後の + 5.1-CURRENT</entry> + <entry>501113</entry> + </row> </tbody> </tgroup> </informaltable> @@ -6162,7 +6031,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_ をインクルードすることによって避けることができます。</para> <note> - <para><filename>pre.mk</filename>/<filename>post.mk</filename> + <para><filename>bsd.port.pre.mk</filename>/<filename>bsd.port.post.mk</filename> のペアか <filename>bsd.port.mk</filename> だけのどちらかだけをインクルードし、二つを混ぜないでください。</para> </note> @@ -6307,18 +6176,42 @@ post-install: <programlisting>post-install: .if !defined(NOPORTDOCS) - ${MKDIR} ${PREFIX}/share/doc/xv - ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv + ${MKDIR} ${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${DOCSDIR} .endif</programlisting> + <para>ここでは、変数をいくつかと、それを + <filename>Makefile</filename> + で利用した時にどう展開されるかを説明します。</para> + + <itemizedlist> + <listitem> + <para><literal>${DATADIR}</literal> は + <filename>${PREFIX}/share/${PORTNAME}</filename> + に展開されます。</para> + </listitem> + + <listitem> + <para><literal>${DOCSDIR}</literal> は + <filename>${PREFIX}/share/doc/${PORTNAME}</filename> + に展開されます。</para> + </listitem> + + <listitem> + <para><literal>${EXAMPLESDIR}</literal> は + <filename>${PREFIX}/share/examples/${PORTNAME}</filename> + に展開されます。</para> + </listitem> + </itemizedlist> + <para>文書ファイルおよびディレクトリはすべて <filename>pkg-plist</filename> の中に <literal>%%PORTDOCS%%</literal> を頭につけて書く必要があります。 たとえば、次のようにしてください。</para> - <programlisting>%%PORTDOCS%%share/doc/pure-ftpd/AUTHORS -%%PORTDOCS%%share/doc/pure-ftpd/CONTACT -%%PORTDOCS%%@dirrm share/doc/pure-ftpd</programlisting> + <programlisting>%%PORTDOCS%%%%DOCSDIR%%/AUTHORS +%%PORTDOCS%%%%DOCSDIR%%/CONTACT +%%PORTDOCS%%@dirrm %%DOCSDIR%%</programlisting> <para>インストール時に <filename>pkg-message</filename> ファイルを利用してメッセージを表示することができます。詳細は @@ -6354,7 +6247,7 @@ post-install: <filename>info</filename> に GNU Info 用の文書、 そして <filename>share</filename> にアーキテクチャに依存しないファイルが入ります。 - 詳細については &man.hier.7; のマニュアルページを参照してください。 + 詳細については &man.hier.7; を参照してください。 <filename>/usr</filename> の構成方針はほとんどそのまま <filename>/usr/local</filename> にもあてはまります。 USENET <quote>ニュース</quote>を扱う ports は例外です。 @@ -6399,7 +6292,7 @@ lib/X11/oneko/sounds/cat.au port がファイルをインストールしていて <filename><makevar>PREFIX</makevar>/share/doc/gimp</filename> が空でない場合でもエラーメッセージは表示されませんし、 - <command>pkg_delete</command> + &man.pkg.delete.1; が異常終了することもありません。</para> </sect1> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210101042.q9AAg7fu006305>