Merge the EN version changes, 1.70 -> 1.71.
Submitted by: simikawa@jp.freebsd.org
This commit is contained in:
parent
a8efbe85e7
commit
52f3e8b911
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=1626
2 changed files with 142 additions and 116 deletions
|
@ -1,11 +1,11 @@
|
|||
<!-- $Id: porting.sgml,v 1.21 1997-05-19 12:32:34 asami Exp $ -->
|
||||
<!-- $Id: porting.sgml,v 1.22 1997-06-08 16:18:41 max Exp $ -->
|
||||
<!-- The FreeBSD Japanese Documentation Project -->
|
||||
<!-- Original revision: 1.70 -->
|
||||
<!-- Original revision: 1.71 -->
|
||||
|
||||
<sect1><heading>フリーソフトウェアの移植<label id="porting"></heading>
|
||||
|
||||
<p><em>原作: &a.jkh;, &a.gpalmer; &a.asami;.
|
||||
<newline>7 November 1996.</em>
|
||||
<p><em>原作: &a.jkh;, &a.gpalmer;, &a.asami;, &a.obrien;.
|
||||
<newline>28 August 1996.</em>
|
||||
|
||||
<p><em>訳: &a.simokawa;, &a.asami;.
|
||||
<newline>10 November 1996.</em>
|
||||
|
@ -16,16 +16,18 @@
|
|||
も重要なことです. 移植されたすべてのソフトウェアは「Portsコレク
|
||||
ション」(the Ports Collection) と呼ばれ, 階層的に分類されて集められ
|
||||
ています. これによって, 新しいユーザでも, 何がすぐに簡単にコンパイルで
|
||||
きる状態で手に入るのか, についての概要をつかむことができます. また, 移植されるソー
|
||||
スコードについては, そのほとんどを実際には含まず, FreeBSDで動かすためのほんのちょっ
|
||||
との差分ファイルといくつかの定義ファイルだけをソースツリーに入れることで,
|
||||
かなりのディスクスペースが節約できます.
|
||||
きる状態で手に入るのか, についての概要をつかむことができます. また, 移
|
||||
植されるソースコードについては, そのほとんどを実際には含まず, FreeBSD
|
||||
で動かすためのほんのちょっとの差分ファイルといくつかの定義ファイルだけ
|
||||
をソースツリーに入れることで, かなりのディスクスペースが節約できます.
|
||||
|
||||
<p>これから, FreeBSD 2.x用のportを作る際の, いくつかのガイドラインを
|
||||
<p>これから, FreeBSD 3.x用のportを作る際の, いくつかのガイドラインを
|
||||
説明します. 実際にportをコンパイルするときのほとんどの仕事は
|
||||
<tt>/usr/share/mk/bsd.port.mk</tt>というファイルでおこないます.
|
||||
Portsコレクションについてのさらに細かい内部の働きについては, そちらのファイルを
|
||||
参照してください.
|
||||
Portsコレクションについてのさらに細かい内部の働きについては, そちらの
|
||||
ファイルを参照してください. これにはコメントが細かく書いてありますので,
|
||||
Makefile を読むのにあまり慣れていない人でも, 得るものはとても大きいで
|
||||
しょう.
|
||||
|
||||
<sect2>
|
||||
<heading>移植を始める前に<label id="porting:starting"></heading>
|
||||
|
@ -33,24 +35,24 @@ Ports
|
|||
<p>注意: ここでは, 変更可能な変数の一部についてのみ記述してい
|
||||
ます. ほとんどの変数は<tt>bsd.port.mk</tt>の始めに記述があり
|
||||
ます. また, このファイルは非標準のタブの設定になっていま
|
||||
す. <tt>Emacs</tt>はファイルのロード時にこれを認識しますが,
|
||||
<tt>vi</tt>や<tt>ex</tt>では, ファイルをロードしたら
|
||||
`<tt>:set tabstop=4</tt>'のようにして正しい値を設定することがで
|
||||
きます.
|
||||
す. <tt>Emacs</tt> や <tt>Vim</tt> はファイルのロード時にこれ
|
||||
を認識しますが, <tt>vi</tt>や<tt>ex</tt>では, ファイルをロード
|
||||
したら `<tt>:set tabstop=4</tt>'のようにして正しい値を設定する
|
||||
ことができます.
|
||||
|
||||
<p>Portの過程で, 修正や, どのバージョンのUNIXで動くかによる条件
|
||||
つきコンパイルなどが必要なコードに出会うかもしれません. その
|
||||
ような条件つきコンパイルなどのための変更をおこなうときには,
|
||||
FreeBSD 1.x システムへの移植や, CSRGの4.4BSD, BSD/386,
|
||||
386BSD, NetBSDなどの他のBSDシステムへの移植が可能なように, でき
|
||||
るだけ普遍的な変更をおこなうことを心がけてください.
|
||||
386BSD, NetBSD, OpenBSD などの他のBSDシステムへの移植が可能な
|
||||
ように, できるだけ普遍的な変更をおこなうことを心がけてください.
|
||||
|
||||
<p>4.3BSD/Renoおよびそれより新しいBSD版を古いバージョンと区別す
|
||||
るには `<tt>BSD</tt>' マクロを利用するのがよいでしょう. これは
|
||||
<tt><sys/param.h></tt>で定義されています. このファイルが
|
||||
すでにインクルードされていればよいのですが, もしそうでない場合
|
||||
には以下のコードを, その<tt>.c</tt> ファイルの適当な場所に加
|
||||
えてください.
|
||||
<p>4.3BSD/Reno (1990) およびそれより新しいBSD版を古いバージョン
|
||||
と区別するには `<tt>BSD</tt>' マクロを利用するのがよいでしょう.
|
||||
これは <tt><sys/param.h></tt> で定義されています. このファ
|
||||
イルがすでにインクルードされていればよいのですが, もしそうでな
|
||||
い場合には以下のコードを, その<tt>.c</tt> ファイルの適当な場所
|
||||
に加えてください.
|
||||
|
||||
<tscreen><verb>
|
||||
#ifdef (defined(__unix__) || defined(unix)) && !defined(USG)
|
||||
|
@ -111,15 +113,17 @@ Ports
|
|||
BSDの流儀です.
|
||||
|
||||
<item>FreeBSD 2.xでは<tt>__FreeBSD__</tt>が2と定義されていま
|
||||
す. それ以前の版では1になっています.
|
||||
す. それ以前の版では1になっています. その後の版では,
|
||||
そのメジャー番号に合うように上がっていきます.
|
||||
|
||||
<item>もし, FreeBSD 1.xシステムとFreeBSD 2.xシステムを区別
|
||||
する必要があれば, 上で述べた<tt>BSD</tt>マクロを使用するのが,
|
||||
<item>もし, FreeBSD 1.x システムと FreeBSD 2.x あるいは
|
||||
FreeBSD 3.x システムを区別する必要があれば, 上で述べた
|
||||
<tt>BSD</tt>マクロを使用するのが,
|
||||
大抵の場合において正しい答です. もし, FreeBSD特有の変更であ
|
||||
れば (`<tt>ld</tt>' を使うときのシェアードライブラリ用のな
|
||||
オプションなど), <tt>__FreeBSD__</tt>を使い
|
||||
`<tt>#if __FreeBSD__ > 1</tt>' のようにFreeBSD 2.x
|
||||
システムを検出するのはかまいません.
|
||||
および, それ以降のシステムを検出するのはかまいません.
|
||||
|
||||
もし, 2.0-RELEASE以降のFreeBSDシステムを細かく検出したけれ
|
||||
ば, 以下を使用することができます.
|
||||
|
@ -238,10 +242,10 @@ A cat chasing a mouse all over the screen
|
|||
<p>これは, そのソフトウェアについての, すこし長い説明を記述しま
|
||||
す. そのportが何をするのかについての数段落程度の簡潔な解説があれば
|
||||
十分です. 注: このファイルはマニュアルでもなければ, 使用方
|
||||
法やコンパイル方法についての細かい説明書ではありません. 特
|
||||
に, <tt>README</tt>ファイルを何も考えずにここにコピーするような
|
||||
ことはしないでください. (もちろん, READMEがそのソフトウ
|
||||
ェアの簡潔な説明になっている場合は別ですが.)
|
||||
法やコンパイル方法についての細かい説明書でもありません. 特
|
||||
に, <em><tt>README</tt>ファイルを何も考えずにここにコピー
|
||||
するようなことはしないでください</em>. (もちろん, READMEが
|
||||
そのソフトウェアの簡潔な説明になっている場合は別ですが.)
|
||||
|
||||
<p>このファイルの最後にあなたの名前を書くことが推奨されています.
|
||||
たとえば, こんな具合です.
|
||||
|
@ -263,8 +267,8 @@ asami@cs.berkeley.edu
|
|||
イルが列挙されます. このファイルはpackageを作る際のリス
|
||||
トとして使われるため, `packing list' とも呼ばれます. ここ
|
||||
に書かれているファイル名は, インストール時のプレフィックス
|
||||
(普通は<tt>/usr/local</tt>か<tt>/usr/X11R6</tt>) からの
|
||||
相対パスです.
|
||||
(普通は <tt>/usr/local</tt> か <tt>/usr/X11R6</tt>) からの
|
||||
相対パスです. また, マニュアルは圧縮されているものとします.
|
||||
|
||||
<p>簡単な例を載せておきましょう:
|
||||
|
||||
|
@ -442,10 +446,12 @@ ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/
|
|||
ないサイトしか見つけられないときには, 最後の手段として, 私たち
|
||||
自身で,
|
||||
<tscreen><verb>
|
||||
ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
|
||||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/LOCAL_PORTS/
|
||||
</verb></tscreen>
|
||||
に置くことができます. これについての問い合わせのメールは
|
||||
は &a.ports へお願いします.
|
||||
に置くことができます. この場所は, 変数
|
||||
<tt>${MASTER_SITE_LOCAL}</tt> を使って参照してください.
|
||||
これについての問い合わせのメールは
|
||||
&a.ports へお願いします.
|
||||
|
||||
<p>もし, あなたのportに必要ないくつかの追加パッチがインター
|
||||
ネット上で手に入るのならば, それらも取ってきて,
|
||||
|
@ -453,8 +459,7 @@ ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
|
|||
のソースのtarファイルとは別のサイトにあっても, 心配する必要
|
||||
はありません. そのような状況にはちゃんと対応できるようになっ
|
||||
ています. (以下の<ref id="porting:patchfiles"
|
||||
name="${PATCHFILES}の記述">をご覧く
|
||||
ださい).
|
||||
name="${PATCHFILES}の記述">をご覧ください).
|
||||
|
||||
<sect3>
|
||||
<heading>Portの修正</heading>
|
||||
|
@ -932,13 +937,14 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
|
|||
プグレードをしたのち, 変更前と変更後のディレクトリの再帰的diff
|
||||
をとって送ってください. (例えば, 変更前のディレクトリが
|
||||
`<tt>superedit.bak</tt>' という名前でとってあり, 変更後のもの
|
||||
が `<tt>superedit</tt>' に入っているなら, `<tt>diff -ru
|
||||
が `<tt>superedit</tt>' に入っているなら, `<tt>diff -ruN
|
||||
superedit.bak superedit</tt>' の結果を送ってください. )
|
||||
diff の出力を見て, すべての変更が正しくなされているか確認してください.
|
||||
変更箇所については, <tt>send-pr</tt> に diff の出力結果を入れて私たち
|
||||
に送ってもらうのが一番よいです. commit する際に CVS に明確に記述しな
|
||||
ければならないので, 付け加えたり削除したりしたファイルがあったら,
|
||||
それについて書いておいてください.
|
||||
diff の出力を見て, すべての変更が正しくなされているか確認して
|
||||
ください. 変更箇所については, <tt>send-pr</tt> (カテゴリーは,
|
||||
`ports')に diff の出力結果を添えて, 私たちに送ってもらうのが一
|
||||
番よいです. commit する際に CVS に明確に記述しなければならない
|
||||
ので, 付け加えたり削除したりしたファイルがあったら, それについ
|
||||
て書いておいてください.
|
||||
|
||||
<sect2>
|
||||
<heading>やっていいことといけないこと</heading>
|
||||
|
@ -953,18 +959,20 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
|
|||
いようにしてください. うっかり `<tt>make clean</tt>' とやっ
|
||||
たらこのディレクトリはその下のファイルとともに<em>あとかたも
|
||||
なく</em>消え去ってしまいます! スクリプトやパッチ以外に必要
|
||||
なファイルがある場合には, <tt>files</tt>というサブディレクト
|
||||
リに入れ, <tt>post-extract</tt>ターゲットで<tt>work</tt>サ
|
||||
ブディレクトリにコピーするようにしてください.
|
||||
なファイルがある場合には, <tt>${FILESDIR}</tt>という
|
||||
サブディレクトリ(デフォルトでは, <tt>files</tt>)に入れ,
|
||||
<tt>post-extract</tt>ターゲットで<tt>work</tt>サブディレクト
|
||||
リにコピーするようにしてください.
|
||||
|
||||
<sect3>
|
||||
<heading>Package情報</heading>
|
||||
|
||||
<p>Package情報, すなわち<tt>pkg</tt>ディレクトリ内の三つ
|
||||
のファイルは必ず用意してください. これらはpackageを作る以
|
||||
<p>Package情報, すなわち<tt>pkg</tt>ディレクトリ内の
|
||||
<tt>COMMENT</tt>, <tt>DESCR</tt>, <tt>PLIST</tt>
|
||||
は必ず用意してください. これらはpackageを作る以
|
||||
外にもいろいろ使われていますので,
|
||||
<tt>${NO_PACKAGE}</tt>が指定してあってpackageを作
|
||||
るのが禁止してあるportの場合でも<em>必ず</em>必要です.
|
||||
るのが禁止してあるportの場合でも<em>常に必要</em>です.
|
||||
|
||||
<sect3>
|
||||
<heading>マニュアルの圧縮, バイナリのstrip</heading>
|
||||
|
@ -1017,8 +1025,8 @@ MAN8= baz.8
|
|||
インストールするコマンドです.
|
||||
<item><tt>${INSTALL_DATA}</tt> は共有可能なデータを
|
||||
インストールするコマンドです.
|
||||
<item><tt>${INSTALL_MAN}</tt> はマニュアルを
|
||||
インストールするコマンドです.(圧縮をしません)
|
||||
<item><tt>${INSTALL_MAN}</tt> はマニュアルとその他のドキュメ
|
||||
ントをインストールするコマンドです.(圧縮はしません)
|
||||
</itemize>
|
||||
|
||||
<p>これらは基本的に<tt>install</tt>コマンドに適当なフラグを与え
|
||||
|
@ -1076,7 +1084,7 @@ MAN8= baz.8
|
|||
post-install:
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} -p ${PREFIX}/share/doc/xv
|
||||
${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
|
||||
${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
|
||||
.endif
|
||||
</verb></tscreen>
|
||||
|
||||
|
@ -1144,10 +1152,11 @@ MAN8= baz.8
|
|||
チを作るのは大変結構なのですが, でき上がったパッチは必ず目で
|
||||
チェックして余計なゴミが入っていないことを確認してくださ
|
||||
い. よくあるのはバックアップファイル同士の変更点, あるいは
|
||||
imakeやGNU configureを使うソフトウェアのMakefileの変更点が
|
||||
Imake や GNU configure を使うソフトウェアの Makefile の変更点が
|
||||
入っている場合などです. また, ファイルをまるごと消す場合には
|
||||
パッチを使わずに<tt>post-extract</tt>ターゲットで消す方が簡
|
||||
単です.
|
||||
単です. できあがった差分に満足したら, それらをソースのfileご
|
||||
とに別々のパッチファイルに分割してください.
|
||||
|
||||
<sect3>
|
||||
<heading>PREFIX</heading>
|
||||
|
@ -1208,7 +1217,9 @@ MAN8= baz.8
|
|||
`<tt>share</tt>' にアーキテクチャに依存しないファイルが入り
|
||||
ます. 詳細については man <tt>hier(7)</tt> を見てくださ
|
||||
い. <tt>/usr</tt>の構成方針はほとんどそのまま
|
||||
<tt>/usr/local</tt>にもあてはまります.
|
||||
<tt>/usr/local</tt>にもあてはまります. USENET ニュースを
|
||||
扱う ports は例外です. これらは, ファイルのインストール先として
|
||||
<tt>${PREFIX}/news</tt> を使用します.
|
||||
|
||||
<sect3>
|
||||
<heading>ldconfig</heading>
|
||||
|
@ -1278,7 +1289,8 @@ lib/libtcl.so.7.3
|
|||
DISTNAME= xdvi
|
||||
PKGNAME= xdvi-pl18
|
||||
CATEGORIES= print
|
||||
[最後のスラッシュを忘れないように ("/")!]
|
||||
[MASTER_SITE_* マクロを使用しない場合は,
|
||||
最後のスラッシュを忘れないように ("/")!]
|
||||
MASTER_SITES= ${MASTER_SITE_XCONTRIB}
|
||||
MASTER_SITE_SUBDIR= applications
|
||||
[ソースファイルが標準の ".tar.gz" 形式でない時にこれを使いましょう]
|
||||
|
@ -1354,7 +1366,8 @@ lib/libtcl.so.7.3
|
|||
<item>FreeBSDはユーザの慣れ親しんだ言語のサポートに力を入れて
|
||||
います. 特定の言語のためのportのpackage名には
|
||||
`<言語>' に言語名の略称を入れてください. 例えば, 日本
|
||||
語なら `jp', ロシア語なら `ru' といった具合です.
|
||||
語なら `jp', ロシア語なら `ru', ベトナム語なら `vn', 韓国語
|
||||
ならば `kr', といった具合です.
|
||||
|
||||
<item>`<tt><名前></tt>' の部分は原則的にはすべて英小文字
|
||||
を使います. 例外はたくさんのプログラムが入っている巨大なport
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<!-- $Id: porting.sgml,v 1.21 1997-05-19 12:32:34 asami Exp $ -->
|
||||
<!-- $Id: porting.sgml,v 1.22 1997-06-08 16:18:41 max Exp $ -->
|
||||
<!-- The FreeBSD Japanese Documentation Project -->
|
||||
<!-- Original revision: 1.70 -->
|
||||
<!-- Original revision: 1.71 -->
|
||||
|
||||
<sect1><heading>フリーソフトウェアの移植<label id="porting"></heading>
|
||||
|
||||
<p><em>原作: &a.jkh;, &a.gpalmer; &a.asami;.
|
||||
<newline>7 November 1996.</em>
|
||||
<p><em>原作: &a.jkh;, &a.gpalmer;, &a.asami;, &a.obrien;.
|
||||
<newline>28 August 1996.</em>
|
||||
|
||||
<p><em>訳: &a.simokawa;, &a.asami;.
|
||||
<newline>10 November 1996.</em>
|
||||
|
@ -16,16 +16,18 @@
|
|||
も重要なことです. 移植されたすべてのソフトウェアは「Portsコレク
|
||||
ション」(the Ports Collection) と呼ばれ, 階層的に分類されて集められ
|
||||
ています. これによって, 新しいユーザでも, 何がすぐに簡単にコンパイルで
|
||||
きる状態で手に入るのか, についての概要をつかむことができます. また, 移植されるソー
|
||||
スコードについては, そのほとんどを実際には含まず, FreeBSDで動かすためのほんのちょっ
|
||||
との差分ファイルといくつかの定義ファイルだけをソースツリーに入れることで,
|
||||
かなりのディスクスペースが節約できます.
|
||||
きる状態で手に入るのか, についての概要をつかむことができます. また, 移
|
||||
植されるソースコードについては, そのほとんどを実際には含まず, FreeBSD
|
||||
で動かすためのほんのちょっとの差分ファイルといくつかの定義ファイルだけ
|
||||
をソースツリーに入れることで, かなりのディスクスペースが節約できます.
|
||||
|
||||
<p>これから, FreeBSD 2.x用のportを作る際の, いくつかのガイドラインを
|
||||
<p>これから, FreeBSD 3.x用のportを作る際の, いくつかのガイドラインを
|
||||
説明します. 実際にportをコンパイルするときのほとんどの仕事は
|
||||
<tt>/usr/share/mk/bsd.port.mk</tt>というファイルでおこないます.
|
||||
Portsコレクションについてのさらに細かい内部の働きについては, そちらのファイルを
|
||||
参照してください.
|
||||
Portsコレクションについてのさらに細かい内部の働きについては, そちらの
|
||||
ファイルを参照してください. これにはコメントが細かく書いてありますので,
|
||||
Makefile を読むのにあまり慣れていない人でも, 得るものはとても大きいで
|
||||
しょう.
|
||||
|
||||
<sect2>
|
||||
<heading>移植を始める前に<label id="porting:starting"></heading>
|
||||
|
@ -33,24 +35,24 @@ Ports
|
|||
<p>注意: ここでは, 変更可能な変数の一部についてのみ記述してい
|
||||
ます. ほとんどの変数は<tt>bsd.port.mk</tt>の始めに記述があり
|
||||
ます. また, このファイルは非標準のタブの設定になっていま
|
||||
す. <tt>Emacs</tt>はファイルのロード時にこれを認識しますが,
|
||||
<tt>vi</tt>や<tt>ex</tt>では, ファイルをロードしたら
|
||||
`<tt>:set tabstop=4</tt>'のようにして正しい値を設定することがで
|
||||
きます.
|
||||
す. <tt>Emacs</tt> や <tt>Vim</tt> はファイルのロード時にこれ
|
||||
を認識しますが, <tt>vi</tt>や<tt>ex</tt>では, ファイルをロード
|
||||
したら `<tt>:set tabstop=4</tt>'のようにして正しい値を設定する
|
||||
ことができます.
|
||||
|
||||
<p>Portの過程で, 修正や, どのバージョンのUNIXで動くかによる条件
|
||||
つきコンパイルなどが必要なコードに出会うかもしれません. その
|
||||
ような条件つきコンパイルなどのための変更をおこなうときには,
|
||||
FreeBSD 1.x システムへの移植や, CSRGの4.4BSD, BSD/386,
|
||||
386BSD, NetBSDなどの他のBSDシステムへの移植が可能なように, でき
|
||||
るだけ普遍的な変更をおこなうことを心がけてください.
|
||||
386BSD, NetBSD, OpenBSD などの他のBSDシステムへの移植が可能な
|
||||
ように, できるだけ普遍的な変更をおこなうことを心がけてください.
|
||||
|
||||
<p>4.3BSD/Renoおよびそれより新しいBSD版を古いバージョンと区別す
|
||||
るには `<tt>BSD</tt>' マクロを利用するのがよいでしょう. これは
|
||||
<tt><sys/param.h></tt>で定義されています. このファイルが
|
||||
すでにインクルードされていればよいのですが, もしそうでない場合
|
||||
には以下のコードを, その<tt>.c</tt> ファイルの適当な場所に加
|
||||
えてください.
|
||||
<p>4.3BSD/Reno (1990) およびそれより新しいBSD版を古いバージョン
|
||||
と区別するには `<tt>BSD</tt>' マクロを利用するのがよいでしょう.
|
||||
これは <tt><sys/param.h></tt> で定義されています. このファ
|
||||
イルがすでにインクルードされていればよいのですが, もしそうでな
|
||||
い場合には以下のコードを, その<tt>.c</tt> ファイルの適当な場所
|
||||
に加えてください.
|
||||
|
||||
<tscreen><verb>
|
||||
#ifdef (defined(__unix__) || defined(unix)) && !defined(USG)
|
||||
|
@ -111,15 +113,17 @@ Ports
|
|||
BSDの流儀です.
|
||||
|
||||
<item>FreeBSD 2.xでは<tt>__FreeBSD__</tt>が2と定義されていま
|
||||
す. それ以前の版では1になっています.
|
||||
す. それ以前の版では1になっています. その後の版では,
|
||||
そのメジャー番号に合うように上がっていきます.
|
||||
|
||||
<item>もし, FreeBSD 1.xシステムとFreeBSD 2.xシステムを区別
|
||||
する必要があれば, 上で述べた<tt>BSD</tt>マクロを使用するのが,
|
||||
<item>もし, FreeBSD 1.x システムと FreeBSD 2.x あるいは
|
||||
FreeBSD 3.x システムを区別する必要があれば, 上で述べた
|
||||
<tt>BSD</tt>マクロを使用するのが,
|
||||
大抵の場合において正しい答です. もし, FreeBSD特有の変更であ
|
||||
れば (`<tt>ld</tt>' を使うときのシェアードライブラリ用のな
|
||||
オプションなど), <tt>__FreeBSD__</tt>を使い
|
||||
`<tt>#if __FreeBSD__ > 1</tt>' のようにFreeBSD 2.x
|
||||
システムを検出するのはかまいません.
|
||||
および, それ以降のシステムを検出するのはかまいません.
|
||||
|
||||
もし, 2.0-RELEASE以降のFreeBSDシステムを細かく検出したけれ
|
||||
ば, 以下を使用することができます.
|
||||
|
@ -238,10 +242,10 @@ A cat chasing a mouse all over the screen
|
|||
<p>これは, そのソフトウェアについての, すこし長い説明を記述しま
|
||||
す. そのportが何をするのかについての数段落程度の簡潔な解説があれば
|
||||
十分です. 注: このファイルはマニュアルでもなければ, 使用方
|
||||
法やコンパイル方法についての細かい説明書ではありません. 特
|
||||
に, <tt>README</tt>ファイルを何も考えずにここにコピーするような
|
||||
ことはしないでください. (もちろん, READMEがそのソフトウ
|
||||
ェアの簡潔な説明になっている場合は別ですが.)
|
||||
法やコンパイル方法についての細かい説明書でもありません. 特
|
||||
に, <em><tt>README</tt>ファイルを何も考えずにここにコピー
|
||||
するようなことはしないでください</em>. (もちろん, READMEが
|
||||
そのソフトウェアの簡潔な説明になっている場合は別ですが.)
|
||||
|
||||
<p>このファイルの最後にあなたの名前を書くことが推奨されています.
|
||||
たとえば, こんな具合です.
|
||||
|
@ -263,8 +267,8 @@ asami@cs.berkeley.edu
|
|||
イルが列挙されます. このファイルはpackageを作る際のリス
|
||||
トとして使われるため, `packing list' とも呼ばれます. ここ
|
||||
に書かれているファイル名は, インストール時のプレフィックス
|
||||
(普通は<tt>/usr/local</tt>か<tt>/usr/X11R6</tt>) からの
|
||||
相対パスです.
|
||||
(普通は <tt>/usr/local</tt> か <tt>/usr/X11R6</tt>) からの
|
||||
相対パスです. また, マニュアルは圧縮されているものとします.
|
||||
|
||||
<p>簡単な例を載せておきましょう:
|
||||
|
||||
|
@ -442,10 +446,12 @@ ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/
|
|||
ないサイトしか見つけられないときには, 最後の手段として, 私たち
|
||||
自身で,
|
||||
<tscreen><verb>
|
||||
ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
|
||||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/LOCAL_PORTS/
|
||||
</verb></tscreen>
|
||||
に置くことができます. これについての問い合わせのメールは
|
||||
は &a.ports へお願いします.
|
||||
に置くことができます. この場所は, 変数
|
||||
<tt>${MASTER_SITE_LOCAL}</tt> を使って参照してください.
|
||||
これについての問い合わせのメールは
|
||||
&a.ports へお願いします.
|
||||
|
||||
<p>もし, あなたのportに必要ないくつかの追加パッチがインター
|
||||
ネット上で手に入るのならば, それらも取ってきて,
|
||||
|
@ -453,8 +459,7 @@ ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
|
|||
のソースのtarファイルとは別のサイトにあっても, 心配する必要
|
||||
はありません. そのような状況にはちゃんと対応できるようになっ
|
||||
ています. (以下の<ref id="porting:patchfiles"
|
||||
name="${PATCHFILES}の記述">をご覧く
|
||||
ださい).
|
||||
name="${PATCHFILES}の記述">をご覧ください).
|
||||
|
||||
<sect3>
|
||||
<heading>Portの修正</heading>
|
||||
|
@ -932,13 +937,14 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
|
|||
プグレードをしたのち, 変更前と変更後のディレクトリの再帰的diff
|
||||
をとって送ってください. (例えば, 変更前のディレクトリが
|
||||
`<tt>superedit.bak</tt>' という名前でとってあり, 変更後のもの
|
||||
が `<tt>superedit</tt>' に入っているなら, `<tt>diff -ru
|
||||
が `<tt>superedit</tt>' に入っているなら, `<tt>diff -ruN
|
||||
superedit.bak superedit</tt>' の結果を送ってください. )
|
||||
diff の出力を見て, すべての変更が正しくなされているか確認してください.
|
||||
変更箇所については, <tt>send-pr</tt> に diff の出力結果を入れて私たち
|
||||
に送ってもらうのが一番よいです. commit する際に CVS に明確に記述しな
|
||||
ければならないので, 付け加えたり削除したりしたファイルがあったら,
|
||||
それについて書いておいてください.
|
||||
diff の出力を見て, すべての変更が正しくなされているか確認して
|
||||
ください. 変更箇所については, <tt>send-pr</tt> (カテゴリーは,
|
||||
`ports')に diff の出力結果を添えて, 私たちに送ってもらうのが一
|
||||
番よいです. commit する際に CVS に明確に記述しなければならない
|
||||
ので, 付け加えたり削除したりしたファイルがあったら, それについ
|
||||
て書いておいてください.
|
||||
|
||||
<sect2>
|
||||
<heading>やっていいことといけないこと</heading>
|
||||
|
@ -953,18 +959,20 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2
|
|||
いようにしてください. うっかり `<tt>make clean</tt>' とやっ
|
||||
たらこのディレクトリはその下のファイルとともに<em>あとかたも
|
||||
なく</em>消え去ってしまいます! スクリプトやパッチ以外に必要
|
||||
なファイルがある場合には, <tt>files</tt>というサブディレクト
|
||||
リに入れ, <tt>post-extract</tt>ターゲットで<tt>work</tt>サ
|
||||
ブディレクトリにコピーするようにしてください.
|
||||
なファイルがある場合には, <tt>${FILESDIR}</tt>という
|
||||
サブディレクトリ(デフォルトでは, <tt>files</tt>)に入れ,
|
||||
<tt>post-extract</tt>ターゲットで<tt>work</tt>サブディレクト
|
||||
リにコピーするようにしてください.
|
||||
|
||||
<sect3>
|
||||
<heading>Package情報</heading>
|
||||
|
||||
<p>Package情報, すなわち<tt>pkg</tt>ディレクトリ内の三つ
|
||||
のファイルは必ず用意してください. これらはpackageを作る以
|
||||
<p>Package情報, すなわち<tt>pkg</tt>ディレクトリ内の
|
||||
<tt>COMMENT</tt>, <tt>DESCR</tt>, <tt>PLIST</tt>
|
||||
は必ず用意してください. これらはpackageを作る以
|
||||
外にもいろいろ使われていますので,
|
||||
<tt>${NO_PACKAGE}</tt>が指定してあってpackageを作
|
||||
るのが禁止してあるportの場合でも<em>必ず</em>必要です.
|
||||
るのが禁止してあるportの場合でも<em>常に必要</em>です.
|
||||
|
||||
<sect3>
|
||||
<heading>マニュアルの圧縮, バイナリのstrip</heading>
|
||||
|
@ -1017,8 +1025,8 @@ MAN8= baz.8
|
|||
インストールするコマンドです.
|
||||
<item><tt>${INSTALL_DATA}</tt> は共有可能なデータを
|
||||
インストールするコマンドです.
|
||||
<item><tt>${INSTALL_MAN}</tt> はマニュアルを
|
||||
インストールするコマンドです.(圧縮をしません)
|
||||
<item><tt>${INSTALL_MAN}</tt> はマニュアルとその他のドキュメ
|
||||
ントをインストールするコマンドです.(圧縮はしません)
|
||||
</itemize>
|
||||
|
||||
<p>これらは基本的に<tt>install</tt>コマンドに適当なフラグを与え
|
||||
|
@ -1076,7 +1084,7 @@ MAN8= baz.8
|
|||
post-install:
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} -p ${PREFIX}/share/doc/xv
|
||||
${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
|
||||
${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
|
||||
.endif
|
||||
</verb></tscreen>
|
||||
|
||||
|
@ -1144,10 +1152,11 @@ MAN8= baz.8
|
|||
チを作るのは大変結構なのですが, でき上がったパッチは必ず目で
|
||||
チェックして余計なゴミが入っていないことを確認してくださ
|
||||
い. よくあるのはバックアップファイル同士の変更点, あるいは
|
||||
imakeやGNU configureを使うソフトウェアのMakefileの変更点が
|
||||
Imake や GNU configure を使うソフトウェアの Makefile の変更点が
|
||||
入っている場合などです. また, ファイルをまるごと消す場合には
|
||||
パッチを使わずに<tt>post-extract</tt>ターゲットで消す方が簡
|
||||
単です.
|
||||
単です. できあがった差分に満足したら, それらをソースのfileご
|
||||
とに別々のパッチファイルに分割してください.
|
||||
|
||||
<sect3>
|
||||
<heading>PREFIX</heading>
|
||||
|
@ -1208,7 +1217,9 @@ MAN8= baz.8
|
|||
`<tt>share</tt>' にアーキテクチャに依存しないファイルが入り
|
||||
ます. 詳細については man <tt>hier(7)</tt> を見てくださ
|
||||
い. <tt>/usr</tt>の構成方針はほとんどそのまま
|
||||
<tt>/usr/local</tt>にもあてはまります.
|
||||
<tt>/usr/local</tt>にもあてはまります. USENET ニュースを
|
||||
扱う ports は例外です. これらは, ファイルのインストール先として
|
||||
<tt>${PREFIX}/news</tt> を使用します.
|
||||
|
||||
<sect3>
|
||||
<heading>ldconfig</heading>
|
||||
|
@ -1278,7 +1289,8 @@ lib/libtcl.so.7.3
|
|||
DISTNAME= xdvi
|
||||
PKGNAME= xdvi-pl18
|
||||
CATEGORIES= print
|
||||
[最後のスラッシュを忘れないように ("/")!]
|
||||
[MASTER_SITE_* マクロを使用しない場合は,
|
||||
最後のスラッシュを忘れないように ("/")!]
|
||||
MASTER_SITES= ${MASTER_SITE_XCONTRIB}
|
||||
MASTER_SITE_SUBDIR= applications
|
||||
[ソースファイルが標準の ".tar.gz" 形式でない時にこれを使いましょう]
|
||||
|
@ -1354,7 +1366,8 @@ lib/libtcl.so.7.3
|
|||
<item>FreeBSDはユーザの慣れ親しんだ言語のサポートに力を入れて
|
||||
います. 特定の言語のためのportのpackage名には
|
||||
`<言語>' に言語名の略称を入れてください. 例えば, 日本
|
||||
語なら `jp', ロシア語なら `ru' といった具合です.
|
||||
語なら `jp', ロシア語なら `ru', ベトナム語なら `vn', 韓国語
|
||||
ならば `kr', といった具合です.
|
||||
|
||||
<item>`<tt><名前></tt>' の部分は原則的にはすべて英小文字
|
||||
を使います. 例外はたくさんのプログラムが入っている巨大なport
|
||||
|
|
Loading…
Reference in a new issue