Update of /cvsroot/fink/scripts/installer/dmg/doc/packaging
In directory 
sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31539/scripts/installer/dmg/doc/packaging

Modified Files:
        packaging.ja.html packaging.zh.html 
Log Message:
en 1.93

Index: packaging.ja.html
===================================================================
RCS file: /cvsroot/fink/scripts/installer/dmg/doc/packaging/packaging.ja.html,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- packaging.ja.html   11 Jan 2007 05:02:24 -0000      1.37
+++ packaging.ja.html   18 Jan 2007 02:22:18 -0000      1.38
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!--
-Generated from $Fink: packaging.ja.xml,v 1.40 2006/09/19 05:54:30 
babayoshihiko Exp $
+Generated from $Fink: packaging.ja.xml,v 1.41 2007/01/18 02:16:52 
babayoshihiko Exp $
 -->
 <title>Fink Documentation - Fink 
パッケージの作成方法</title></head><body>
 <table width="100%" cellspacing="0">
@@ -61,20 +61,20 @@
                        
                        <p>
                                
パッケージは3つの文字列で区別されます.
-                               
すなわち「パッケージ名」,「バージョン」と「版」です.
-                               これらのいずれにも英小文字 (a 
から z),数字 (0 から 9), ダッシュ (-; 註: 
リビジョン中には使えません),プラス (+),ドット (.) 
のみが使えます.
+                               すなわちパッケージ名,version と 
revision です.
+                               これらのいずれにも英小文字 (a 
から z),数字 (0 から 9), ダッシュ (-; 註: revision 
中には使えません),プラス (+),ドット (.) 
のみが使えます.
                                この他の字は使えません.
                                特に,大文字と下線 (_) 
が使えないことに注意して下さい.
                        </p>
                        <p>
                                
「パッケージ名」にはソフトウェアの名前 (openssh など) 
をそのまま使います.
-                               「バージョン」は「upstream 
バージョン」とも呼ばれますが,これには元となるソフトウェアパッケージのバージョンを使います.
-                               「バージョン」には (2.9p1 
のように) 数字以外を使っても構いません.
+                               version は「upstream 
バージョン」とも呼ばれますが,これには元となるソフトウェアパッケージのバージョンを使います.
+                               version には (2.9p1 のように) 
数字以外を使っても構いません.
                                Fink も dpkg 
もそれらを認識してソートできます.
-                               「版」はカウンタで,最初は 1 
で始まり,パッケージ記述情報への変更回数に応じて 1 
ずつ増加します.
+                               revision はカウンタで,最初は 1 
で始まり,パッケージ記述情報への変更回数に応じて 1 
ずつ増加します.
                                「upstream 
バージョン」が変化すると再び 1 に戻ります.
-                               
「版」にダッシュを使ってはいけません.
-                               Fink 
パッケージの正式名称は「パッケージ名」,「バージョン」と「版」をダッシュでつないだもので,
+                               revision 
にダッシュを使ってはいけません.
+                               Fink 
パッケージの正式名称はパッケージ名,version と revision 
をダッシュでつないだもので,
                                "openssh-2.9p1-2" 
などという形式になります.
                        </p>
                
@@ -89,6 +89,11 @@
                                
パッケージ記述ファイルの名前は,Fink 
パッケージの正式名称に拡張子 ".info" を付けたものです.
                                Fink 0.13.0 
以降では,パッケージのアップデートの手間を省くための,
                                「パッケージ名」に拡張子 ".info" 
を付けただけの簡略形式が便利です.
+fink 0.26.0 
の時点で,ファイル名を特定するにはいくつかの方法があります:
+推奨されるのは,他の必要なパッケージファイルと整合性のとれる最も短いものです.
+ファイル名の形式は: 
亜種のないパッケージ名,オプションとして 
architecture,オプションとして 
distribution,オプションとして version または 
version-revision,を
+ハイフンでつなぎ,".info" で終えます.
+"architecture" と "distribution" 
は,対応するフィールドが定義され,値を一つだけ持つ場合に限ります.
                        </p>
                        <p>
                                
パッケージ記述ツリーはいくつかの階層のディレクトリにまとめられています.
@@ -101,14 +106,14 @@
                                </li>
                                <li>
                                        ディストリビューション.
-                                       <tt style="white-space: 
nowrap;">stable</tt>,<tt style="white-space: nowrap;">unstable</tt>, <tt 
style="white-space: nowrap;">local</tt> に分かれる.
+                                       <tt style="white-space: 
nowrap;">stable</tt>, <tt style="white-space: nowrap;">unstable</tt>, <tt 
style="white-space: nowrap;">local</tt> に分かれる.
                                        ディレクトリ <tt 
style="white-space: nowrap;">local</tt> 
は各システムの管理者とユーザが管理する.
                                        ディレクトリ <tt 
style="white-space: nowrap;">stable</tt> と <tt style="white-space: 
nowrap;">unstable</tt> は Fink システムの一部.
                                </li>
                                <li>
                                        ツリー.
                                        ツリー <tt style="white-space: 
nowrap;">main</tt> にはパッケージの大部分が含まれる.
-                                       
暗号を使うソフトウェアは別ツリー <tt style="white-space: 
nowrap;">crypto</tt> 
に収められ,必要とあらば簡単に取り除ける.
+                                       
暗号を使うソフトウェアは別ツリー <tt style="white-space: 
nowrap;">crypto</tt> 
に収められ,必要であれば簡単に取り除ける.
                                </li>
                                <li>
                                        <tt style="white-space: 
nowrap;">finkinfo</tt> または <tt style="white-space: 
nowrap;">binary-darwin-powerpc</tt>.
@@ -238,7 +243,7 @@
                                                </p>
                                        </td></tr><tr 
valign="top"><td>%i</td><td>
                                                <p>
-                                                       the full 
<b>i</b>nstall-phase 
prefix.インストール段階での一時インストールディレクトリの完全名.
 %d%p と等価.
+                                                       完全な 
<b>i</b>nstall-phase 
prefix.インストール段階での一時インストールディレクトリの完全名.
 %d%p と等価.
                                                </p>
                                        </td></tr><tr 
valign="top"><td>%I</td><td>
                                                <p>
@@ -271,6 +276,8 @@
                                        </td></tr><tr 
valign="top"><td>%c</td><td>
                                                <p>
                                                        configure 
に渡すパラメータ: <tt style="white-space: nowrap;">--prefix=%p</tt> 
の他,フィールド <tt style="white-space: nowrap;">ConfigureParams</tt> 
で指定したもの全て.
+(<tt style="white-space: nowrap;">Type: perl</tt> 
を持つパッケージについては,挙動が異なる;
+この場合,%c 中の <tt style="white-space: nowrap;">--prefix=%p</tt> 
の代わりに,perl 
パッケージをビルドする既定フラグが用いられる.)
                                                </p>
                                        </td></tr><tr 
valign="top"><td>%m</td><td>
                                                <p>
@@ -285,13 +292,16 @@
                                                        
展開は厳密に左から右に行われるので, %%n 
はパッケージ名とは一切関係なく,単なる文字列 %n 
を表すことになる.
                                                        (fink-0.18.0 で導入)
                                                </p>
-                                       </td></tr><tr 
valign="top"><td>%type_raw[<b>タイプ</b>], 
%type_pkg[<b>タイプ</b>]</td><td>
+                                       </td></tr><tr 
valign="top"><td>%type_raw[<b>タイプ</b>], %type_pkg[<b>タイプ</b>],
+                                       %type_num[<b>タイプ</b>]</td><td>
                                                <p>
                                                        指定された 
<b>タイプ</b> のサブタイプを返す疑似ハッシュ.
                                                        
詳細は後述のフィールド <tt style="white-space: nowrap;">Type</tt> 
の解説を参照.
                                                        _raw 
形式はサブタイプの文字列をそのまま返すが, _pkg 
形式はドット (.) を 全て取り除いた文字列を返す.
                                                        (Fink 
のパッケージ命名規約の「プログラミング言語-バージョン」方式に使う.他にもうまい使い方があるかも).
                                                        (0.19.2 CVS 
版以降の Fink で利用可能)
+_num 式 は fink-0.26.0 より導入.
+<tt style="white-space: nowrap;">Type</tt> から数字以外を全て除く.
                                                </p>
                                        </td></tr><tr valign="top"><td>%{ni}, 
%{Ni}</td><td>
                                                <p>
@@ -315,6 +325,14 @@
 <tt style="white-space: nowrap;">PatchFile</tt> 
フィールドで示されたファイルのフルパス.
 (fink-0.24.12 にて導入)
 </p>
+</td></tr><tr valign="top"><td>%lib</td><td>
+<p>
+<tt style="white-space: nowrap;">Type: -64bit</tt> が <tt 
style="white-space: nowrap;">-64bit</tt>と定義されている場合,
+powerpc マシン上では <b>lib/ppc64</b> と拡張され,
+intel マシン上では <b>lib/x86_64</b> と拡張されます (64-bit 
ライブラリの正しい保存場所).
+それ以外は, <b>lib</b> と拡張されます.
+(fink-0.26.0 で導入)
+</p>
 </td></tr></table>
                
        <h2><a name="policy">3 パッケージ化ポリシー</a></h2>
@@ -449,7 +467,9 @@
                        
                        <p>
                                Fink 
は共有ライブラリに関して新しいポリシーを定め, 2002 年 
2 月から施行しています.
-                               以下では Fink 0.5.0 
と共に公布された,共有ライブラリについてのポリシー第 
4 版について説明します.
+                               以下では Fink 0.5.0 
と共に公布された,共有ライブラリについてのポリシー第 
4 版
+                               (及び 64bit 
ライブラリを扱うために2006年12月の変更)
+                               について説明します.
                                
最初に要点をかいつまんで述べ,後から詳細に移ります.
                        </p>
                        <p>
@@ -460,7 +480,7 @@
                        </p>
                        <ul>
                                <li>
-                                       コマンド <tt style="white-space: 
nowrap;">otool -L</tt> を使い,各ライブラリの install_name 
,互換性,バージョンが適切か確認する.
+                                       コマンド <tt style="white-space: 
nowrap;">otool -L</tt> (64bit ライブラリの場合は otool64 -L) 
を使い,各ライブラリの install_name 
,互換性,バージョンが適切か確認する.
                                </li>
                                <li>
                                        
共有ライブラリを別パッケージとし (例外は libfoo.dylib から 
install_name へのリンク) ,
@@ -589,7 +609,7 @@
                        <p>
                                「メジャーバージョン」が N 
の共有ライブラリをビルドするとき,その共有ライブラリの
 "install_name" が
                                <tt style="white-space: 
nowrap;">%p/lib/bar.N.dylib</tt> になることが重要です.
-                               (install_name は,ライブラリに対し 
<tt style="white-space: nowrap;">otool -L</tt> 
を実行すれば分かります.)
+                               (install_name は,ライブラリに対し 
<tt style="white-space: nowrap;">otool -L</tt>,64bit 
ライブラリの場合は <tt style="white-space: nowrap;">otool64 -L</tt> 
を実行すれば分かります.)
                                
実際のライブラリファイルのインストール先は,
                        </p>
 <pre>
@@ -612,7 +632,7 @@
                                パッケージが libtool 
を利用する場合,上記のことはほぼ自動的に処理されますが,
                                
どの段階でも処理が適切に行われたか確認する必要があります.
                                また,共有ライブラリの 
current_version と compatibility_version 
が適切に定義されているかどうかも確認して下さい.
-                               (これらも <tt style="white-space: 
nowrap;">otool -L</tt> で表示されます.)
+                               (これらも <tt style="white-space: 
nowrap;">otool -L</tt> または 64bit ライブラリの場合 <tt 
style="white-space: nowrap;">otool64 -L</tt> で表示されます.)
                        </p>
                        <p>
                                次に,ファイルを以下のように 2 
つのパッケージに分類します.
@@ -715,23 +735,30 @@
                        </p>
                        <p><b>フィールド Shlibs:</b></p>
                        <p>
-                               
共有ライブラリを適切なパッケージに分類する他に, Fink 
ポリシー第 4版では,
-                               共有ライブラリ全てをフィールド 
<tt style="white-space: nowrap;">Shlibs</tt> 
を使って宣言しなければいけません.
-                               
このフィールドでは,各共有ライブラリに対して 1 行ずつ 
1) ライブラリの -install_name, 2) ライブラリの 
-compatibility_version,
-                               3) そのライブラリを提供する Fink 
パッケージを指定するバージョン付き依存性情報
-                               (ただし -compatibility_version 
が同じでなければならない) を記します.
-                               依存性情報は <tt style="white-space: 
nowrap;">foo (&gt;= バージョン-版)</tt> という形式で示します.
-                               ここで <tt style="white-space: 
nowrap;">バージョン-版</tt> にはこの (-compatibility_version 
が同じ) ライブラリを利用可能にしてくれる
-                               Fink 
パッケージの<b>最初</b>の「バージョン」を使います.
-                               例えば次の宣言は,
+共有ライブラリを適切なパッケージに分類する他にも, 
Fink ポリシー第 4版では,
+共有ライブラリ全てをフィールド <tt style="white-space: 
nowrap;">Shlibs</tt> 
を使って宣言することが求められています.
+
+このフィールドでは,各共有ライブラリに対して 1 
行ずつ,
+1) ライブラリの <tt style="white-space: nowrap;">-install_name</tt>, 
+2) ライブラリの <tt style="white-space: 
nowrap;">-compatibility_version</tt>,
+3) そのライブラリを提供する Fink 
パッケージを指定するバージョン付き依存性情報
+(ただし -compatibility_version が同じでなければならない),
+そしてライブラリのアーキテクチャ (値は "32", "64", または
+"32-64", あるいは空欄; 空欄時の既定値は "32" .) 
+
+を記します.
+依存性情報は <tt style="white-space: nowrap;">foo (&gt;= 
バージョン-版)</tt> という形式で示します.
+ここで <tt style="white-space: nowrap;">バージョン-版</tt> 
にはこの (-compatibility_version が同じ) 
ライブラリを利用可能にしてくれる
+Fink パッケージの<b>最初</b>の「バージョン」を使います.
+例えば次の宣言は,
                        </p>
 <pre>
 Shlibs: &lt;&lt;
-%p/lib/bar.1.dylib 2.1.0 bar1 (&gt;= 1.1-2)
+%p/lib/bar.1.dylib 2.1.0 bar1 (&gt;= 1.1-2) 32
 &lt;&lt;
 </pre>
                        <p>
-                               <tt style="white-space: 
nowrap;">-install_name</tt> が %p/lib/bar.1.dylib で <tt style="white-space: 
nowrap;">-compatibility_version</tt> が 2.1.0 のライブラリが,
+                               <tt style="white-space: 
nowrap;">-install_name</tt> が %p/lib/bar.1.dylib で <tt style="white-space: 
nowrap;">-compatibility_version</tt> が 2.1.0 の (32bit) ライブラリが,
                                Fink パッケージ <b>bar1</b> 
の「バージョン」1.1-2 
以降でインストールされることを示します.
                                
それに加え,この宣言は「この名前がついていて 
compatibility_version が少なくとも 2.1.0 のライブラリは,
                                Fink パッケージ bar1 
の今後のバージョンには必ず含まれている」というメンテナからの保証にも相当します.
@@ -1058,7 +1085,15 @@
                                                        <tt style="white-space: 
nowrap;">powerpc-apple-darwin1.3.3</tt> 
は,互換性の観点から問題があります.
                                                        <tt style="white-space: 
nowrap;">powerpc-apple-darwin1.3</tt> または単に <tt style="white-space: 
nowrap;">powerpc-apple-darwin</tt> とします.
                                                </p>
-                                       </td></tr><tr valign="top"><td>
+                                       </td></tr><tr valign="top"><td><tt 
style="white-space: nowrap;">/sw/lib/ppc64</tt>
+<tt style="white-space: nowrap;">/sw/lib/x86_64</tt></td><td>
+<p>
+このディレクトリは 64-bit ライブラリ用で,
+powerpc アーチテクチャーでは <tt style="white-space: 
nowrap;">/sw/lib/ppc64</tt> が,
+i386 アーチテクチャーでは <tt style="white-space: 
nowrap;">/sw/lib/x86_64</tt> が用いられます.
+'fat' としてビルドされたライブラリは, <tt style="white-space: 
nowrap;">/sw/lib</tt> に保存されます.
+</p>
+</td></tr><tr valign="top"><td>
                                                <tt style="white-space: 
nowrap;">/sw/share</tt>
                                        </td><td>
                                                <p>
@@ -1457,6 +1492,27 @@
 &lt;&lt;
 &lt;&lt;
 </pre>
+<p>
+fink 0.26.0 より, <tt style="white-space: nowrap;">Type: -64bit</tt> 
によって新しいパーセント展開 <tt style="white-space: 
nowrap;">%lib</tt> を制御することができます.
+また,<tt style="white-space: nowrap;">LDFLAGS</tt> 
の既定値も変更になりました.
+こちらも新しい式 %type_num[] 
と用いることで,ライブラリの 32-bit バージョンと 64-bit 
バージョンを一つの .info 
ファイルから作ることが可能になりました.
+以下はサンプルコードです:
+</p>
+<pre>
+Info2: &lt;&lt;
+Package: foo%type_pkg[-64bit]
+Type: -64bit (boolean)
+Depends: (%type_raw[-64bit] = -64bit) 64bit-cpu
+ConfigureParams: --libdir='${prefix}/%lib'
+SplitOff: &lt;&lt;
+ Package: %N-shlibs
+ Files: %lib/libfoo.*.dylib
+ Shlibs: &lt;&lt;
+    %p/%lib/libfoo.1.dylib 1.0.0 %n (&gt;= 1.0-1) %type_num[-64bit]
+  &lt;&lt;
+&lt;&lt;
+&lt;&lt;
+</pre>
                                        </td></tr><tr 
valign="top"><td>License</td><td>
                                                <p>
                                                        
パッケージ配布の際にパッケージの従うライセンスの性質を表す.
@@ -1493,6 +1549,12 @@
 .info ファイル中のメインの <tt style="white-space: 
nowrap;">Package</tt> フィールドでのパーセント展開の使用.
 <tt style="white-space: nowrap;">SplitOff</tt> (および <tt 
style="white-space: nowrap;">SplitOff<b>N</b></tt>) での <tt 
style="white-space: nowrap;">%type_*</tt> パーセント展開の使用.
 </li>
+<li>
+<tt style="white-space: nowrap;">Info3</tt> (fink&gt;=0.25.0): 
+.info ファイル中でインデントを正しく扱うことができる.
+RFC-822 複数業のサポートは終了.
+pkglist フィールドにコメントが可能.
+</li>
 </ul>
                                        </td></tr></table>
                        <p>
@@ -1963,10 +2025,12 @@
 CPPFLAGS: -I%p/include
 LDFLAGS: -L%p/lib
 </pre>
-                                               <p>
-fink-0.17.0 より,10.4-transitional 
ディストリビューションまで,以下の値が設定されます
-(が,10.4 以降では設定されません).
-                                               </p>
+<p>fink 0.26.0 より,これらの既定値に例外が一つあります.
+<tt style="white-space: nowrap;">Type: -64bit</tt> が <tt style="white-space: 
nowrap;">-64bit</tt> と定義されている場合,
+<tt style="white-space: nowrap;">LDFLAGS</tt> は <tt style="white-space: 
nowrap;">-L%p/%lib -L%p/lib</tt> となります.
+</p>
+<p>fink-0.17.0 より,10.4-transitional 
ディストリビューションまで,以下の値が設定されます
+(が,10.4 以降では設定されません).</p>
 <pre>
 LD_PREBIND: 1
 LD_PREBIND_ALLOW_OVERLAP: 1
@@ -1984,16 +2048,18 @@
                                                        例えば,LDFLAGS を 
unset のままにしたい場合, <tt style="white-space: 
nowrap;">NoSetLDFLAGS: true</tt> とします.
                                                </p>
                                        </td></tr><tr 
valign="top"><td>ConfigureParams</td><td>
-                                               <p>
-                                                       configure 
スクリプトに渡す付加的なパラメータ.
-                                                       (詳細は 
CompileScript を参照)
-                                                       
ビルド時にテストスイートが有効な場合,<tt 
style="white-space: nowrap;">TestConfigureParams</tt>
-                                                       
の値がここに追加されます.
-
-                                                       バージョン 0.13.7 
以降の Fink では,
-                                                       
このパラメータは <tt style="white-space: nowrap;">Type: Perl</tt> 
となっている perl モジュールにも使えます.
-                                                       
その場合,指定した値はデフォルトの文字列 perl Makefile.PL 
の後ろに追加されます.
-                                               </p>
+<p>
+configure スクリプトに渡す付加的なパラメータ.
+(詳細は CompileScript を参照)
+<tt style="white-space: nowrap;">Type: Perl</tt> 
となっていないパッケージに関しては,
+パラメータ <tt style="white-space: nowrap;">--prefix=%p</tt> 
が,この値の前に追加されます.
+fink &gt; 0.13.7 からは,このフィールドは perl モジュール 
<tt style="white-space: nowrap;">Type: Perl</tt> にも適用されます;
+既定の perl Makefile.PL 文字列が, <tt style="white-space: 
nowrap;">ConfigureParams</tt> 
に与えられる値の前に追加されます.
+</p>
+<p>
+テストスイートが有効でビルドする場合,<tt 
style="white-space: nowrap;">TestConfigureParams</tt>
+の値が 通常の <tt style="white-space: nowrap;">ConfigureParams</tt> 
の後に追加されます.
+</p>
                                                <p>
                                                        fink-0.22.0 
より,このフィールドは条件をサポートする.
                                                        文法は <tt 
style="white-space: nowrap;">Depends</tt> 
や他のパッケージ一覧フィールドと同様です.
@@ -2251,10 +2317,14 @@
                                                <p>
                                                        <b>Fink 0.11.0 
で導入:</b>
                                                        
このフィールドでは,そのパッケージでインストールされる共有ライブラリを指定します.
-                                                       
各共有ライブラリ毎に1行ずつ,空白文字で区切った以下の3項目を記述します.
-                                                       1) ライブラリの 
<tt style="white-space: nowrap;">-install_name</tt> 2) ライブラリの <tt 
style="white-space: nowrap;">-compatibility_version</tt>
+                                                       
各共有ライブラリ毎に1行ずつ,空白文字で区切った以下の 
3 あるいは 4 項目を記述します.
+                                                       1) ライブラリの 
<tt style="white-space: nowrap;">-install_name</tt>
+                                                       2) ライブラリの 
<tt style="white-space: nowrap;">-compatibility_version</tt>
                                                        3) 
そのライブラリを提供する Fink 
パッケージを指定するバージョン付き依存性情報
                                                        (ただし 
-compatibility_version が同じでなければならない).
+                                                       4) 
ライブラリのアーキテクチャ
+                                                       (値は "32", "64", 
または
+                             "32-64", あるいは空欄; 
空欄時の既定値は "32" .) 
                                                        依存情報は <tt 
style="white-space: nowrap;">foo (&gt;= バージョン-版)</tt> 
という型式で指定しなければいけません.
                                                        ここで <tt 
style="white-space: nowrap;">バージョン-版</tt> は, 
(互換性バージョンの同じ) 
そのライブラリを利用可能にしてくれる Fink パッケージの
                                                        
<b>一番古い</b>バージョンを指します.
@@ -2339,7 +2409,7 @@
                                                </ul>
                                                <p>
                                                        補足説明: 
アップグレードは新バージョンの ...InstScript 
と,旧バージョンの ...RmScript を実行します.
-                                                       詳細については 
the Debian Policy Manual,
+                                                       詳細については 
Debian Policy Manual,
                                                        <a 
href="http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html";>第6章</a>
 を参照.
                                                </p>
                                                <p>
@@ -2466,9 +2536,9 @@
 <pre>
 Package: mime-base64-pm%type_pkg[perl]
 Type: perl (5.8.1 5.8.6)
-SplitOff: %lt;%lt;
+SplitOff: &lt;&lt;
   Package: mime-base64-pm-bin
-%lt;%lt;
+&lt;&lt;
 </pre>
                        <p>
                                
インストール段階では,まず親パッケージの <tt 
style="white-space: nowrap;">InstallScript</tt> と <tt style="white-space: 
nowrap;">DocFiles</tt> が実行されます.
@@ -2593,4 +2663,4 @@
 provided the document and this copyright notice remain complete and
 unmodified. Any commercial reproduction and any online publication
 requires the explicit consent of the author.</p><hr>
-<p>Generated from <i>$Fink: packaging.ja.xml,v 1.40 2006/09/19 05:54:30 
babayoshihiko Exp $</i></p></body></html>
+<p>Generated from <i>$Fink: packaging.ja.xml,v 1.41 2007/01/18 02:16:52 
babayoshihiko Exp $</i></p></body></html>

Index: packaging.zh.html
===================================================================
RCS file: /cvsroot/fink/scripts/installer/dmg/doc/packaging/packaging.zh.html,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- packaging.zh.html   11 Jan 2007 05:02:24 -0000      1.37
+++ packaging.zh.html   18 Jan 2007 02:22:18 -0000      1.38
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!--
-Generated from $Fink: packaging.zh.xml,v 1.28 2006/09/19 05:54:30 
babayoshihiko Exp $
+Generated from $Fink: packaging.zh.xml,v 1.29 2007/01/18 02:16:52 
babayoshihiko Exp $
 -->
 <title>Fink Documentation - 创建 Fink 软件包</title></head><body>
 <table width="100%" cellspacing="0">
@@ -82,6 +82,19 @@
 <tt style="white-space: nowrap;">/sw/etc/fink.conf</tt> 中的 "Trees" 
设置控制会控制应该读取那个目录。
 软件包描述文件的名字必须要软件包全名加上 ".info" 
扩展名组成。
 从 fink 0.13.0 
开始,为了简化软件包的升级,也可以允许简单地使用软件包加
 ".info" 来组成。
+
+As of fink 0.26.0, there are several different ways to specify the
+filename: it is recommended to use the shortest version which is
+consistent with other needed package files.  The filename takes
+the form: the invariant packagename, optionally 
+followed by the architecture, optionally followed by the
+distribution, 
+optionally followed by either version or version-revision, each delimited by 
+hyphens, concluding with ".info".  
+The "architecture" and "distribution" components are only allowed
+if the corresponding field is present in the package, and if it specifies
+exactly one value.
+
 </p>
 <p>
 到软件包描述文件的目录树由几层目录组成。
@@ -235,6 +248,12 @@
 </td></tr><tr valign="top"><td>%c</td><td>
 <p>
 <b>c</b>onfigure 命令将使用的参数:<tt style="white-space: 
nowrap;">--prefix=%p</tt> 加上 ConfigureParams 指定的其它参数。
+
+(The behavior is different when the package
+has <tt style="white-space: nowrap;">Type: perl</tt>; in that case, the 
default flags for
+building a perl package are used instead of <tt style="white-space: 
nowrap;">--prefix=%p</tt>
+in the definition of <tt style="white-space: nowrap;">%c</tt>.)
+
 </p>
 </td></tr><tr valign="top"><td>%m</td><td>
 <p>
@@ -245,12 +264,17 @@
 <p>
 
百分号字符(它部分展开后面跟着它的东西)。展开严格按照从左到右的顺序进行,所以
 %%n 和软件包名没有关系,而只是字符串 %n。(从 fink-0.18.0 
开始引入)
 </p>
-</td></tr><tr valign="top"><td>%type_raw[<b>类型</b>], 
%type_pkg[<b>类型</b>]</td><td>
+</td></tr><tr valign="top"><td>%type_raw[<b>类型</b>], 
%type_pkg[<b>类型</b>],
+%type_num[<b>类型</b>]</td><td>
 <p>
 对给定<b>类型</b>返回的代表子类型的伪哈希值。
 查阅本文档后面关于 <tt style="white-space: nowrap;">Type</tt> 
字段的内容。
 _raw 形式表明使用子类型字符串的精确形式,
 _pkg 形式表明使用去除句点之后的形式(就好象 Fink 
的语言版本软件包的命名约定一样)。(在 fink 的 CVS 0.19.2 
后版本中引入)。
+
+The _num form was introduced in fink-0.26.0
+and removes all non-digits from the <tt style="white-space: nowrap;">Type</tt> 
field.
+
 </p>
 </td></tr><tr valign="top"><td>%{ni}, %{Ni}</td><td>
 <p>
@@ -274,6 +298,14 @@
 The full path to the file given in the <tt style="white-space: 
nowrap;">PatchFile</tt> field.
 (Introduced in fink-0.24.12)
 </p>
+</td></tr><tr valign="top"><td>%lib</td><td>
+<p>
+If <tt style="white-space: nowrap;">Type: -64bit</tt> is defined to be <tt 
style="white-space: nowrap;">-64bit</tt>,
+this expands to <b>lib/ppc64</b> on powerpc machines, and to
+<b>lib/x86_64</b> on intel machines (the proper storage locations
+for 64-bit libraries); otherwise, this expands to <b>lib</b>.
+(Introduced in fink-0.26.0)
+</p>
 </td></tr></table>
 
 
@@ -381,12 +413,13 @@
 <h3><a name="policy.sharedlibs">3.4 共享函数库</a></h3>
 <p>
 Fink 对于共享库有了新的规则,它从 2002 年 2 月开始生效。
-本段内容讨论的是规则的第四版,它是与 Fink's 0.5.0 
一同发布的。
+本段内容讨论的是规则的第四版,它是与 Fink's 0.5.0 
一同发布的
+(as well as some updates from December, 2006 to handle 64bit libraries)。
 
我们首先以一个简要的概括开始,然后讨论更多的细节问题。
 </p><p>
 
任何会产生共享库的软件包,无论它是⑴被放在稳定树中,或是⑵一个新的软件包,都应该使得他们的库满足
 Fink 的规则。即:</p>
 <ul>
-<li>   使用 <tt style="white-space: nowrap;">otool -L</tt> 
验证每个库的安装名(install_name),兼容性和当前版本号是正确的。</li>
+<li>   使用 <tt style="white-space: nowrap;">otool -L</tt> (或 otool64 -L 
for 64bit libraries) 
验证每个库的安装名(install_name),兼容性和当前版本号是正确的。</li>
 <li>   把共享库放到一个单独的软件包(除了从 libfoo.dylib 
连接 install_name 的以外),并在软件包中包括 <tt 
style="white-space: nowrap;">Shlibs</tt> 字段</li>
 <li>   把头文件以最终从 libfoo.dylib 
的连接放到一个软件包中,并分类为: <tt style="white-space: 
nowrap;">BuildDependsOnly: 
True</tt>,应该不会有其他软件包会依赖它。</li>
 </ul>
@@ -442,7 +475,7 @@
 </p><p>
 
如果你的软件包包括共享库和二进制文件,而且二进制文件需要在运行时使用(而不仅仅时编译时),那么这些二进制文件应该被分离到第三个软件包中,这个软件包命名为
 barN-bin。其它软件包可以依赖于 barN-shlibs 及 barN-bin。
 </p><p>
-当编译主版本号为 N 的共享库时,很重要的是要使 <tt 
style="white-space: nowrap;">%p/lib/bar.N.dylib</tt> 来作为 
"install_name"。(你可以用 <tt style="white-space: nowrap;">otool -L</tt> 
来查看你的库的 install_name)。实际的库文件应该被安装在
+当编译主版本号为 N 的共享库时,很重要的是要使 <tt 
style="white-space: nowrap;">%p/lib/bar.N.dylib</tt> 来作为 
"install_name"。(你可以用 <tt style="white-space: nowrap;">otool -L</tt> 
或 otool64 -L for 64bit libraries 来查看你的库的 
install_name)。实际的库文件应该被安装在
 </p>
 <pre>
   %i/lib/bar.N.x.y.dylib
@@ -463,7 +496,7 @@
 <p>
 如果软件包使用 libtool,这些事情通常会被自动处理,
 
但无论任何情况下,你都应该检查结果时候正确。你还应该检查你的共享库是否已经定义了正确的
 current_version 和 compatibility_version 值(
-<tt style="white-space: nowrap;">otool -L</tt> 
应该也可以查询得到这些设置值)。
+<tt style="white-space: nowrap;">otool -L</tt> 或 <tt style="white-space: 
nowrap;">otool64 -L</tt> for 64bit libraries 
应该也可以查询得到这些设置值)。
 </p><p>
 文件应该象下面一样分到两个文件包中
 </p>
@@ -560,14 +593,21 @@
 
 <p><b>Shlibs 字段:</b>
 </p><p>
-除了把共享库放到合适的软件包中外,作为规则版本 
4,你还需要用 <tt style="white-space: nowrap;">Shlibs</tt> 
字段声明全部共享库。这个字段每个共享库占一行,这行中包含库的
 <tt style="white-space: nowrap;">-install_name</tt>,<tt style="white-space: 
nowrap;">-compatibility_version</tt>,以及版本依赖信息,这个信息指明在本兼容版本中提供库的
 Fink 软件包。依赖关系应该用 <tt style="white-space: nowrap;">foo 
(&gt;= version-revision)</tt> 的形式指明。其中
+除了把共享库放到合适的软件包中外,作为规则版本 
4,你还需要用 <tt style="white-space: nowrap;">Shlibs</tt> 
字段声明全部共享库。
+这个字段每个共享库占一行,这行中包含库的 <tt 
style="white-space: nowrap;">-install_name</tt>,<tt style="white-space: 
nowrap;">-compatibility_version</tt>
+
+,and the library architecture.  (The library architecture may either be 
"32", "64", or
+"32-64", and may be absent; the value defaults to "32" if it is absent.) 
+
+以及版本依赖信息,这个信息指明在本兼容版本中提供库的 
Fink 软件包。
+依赖关系应该用 <tt style="white-space: nowrap;">foo (&gt;= 
version-revision)</tt> 的形式指明。其中
 <tt style="white-space: nowrap;">version-revision</tt> 
指提供这个与(本版本兼容)的共享库的 Fink 
软件包的<b>第一个</b>版本。例如,这样</p>
 <pre>
   Shlibs: &lt;&lt;
-    %p/lib/bar.1.dylib 2.1.0 bar1 (&gt;= 1.1-2)
+    %p/lib/bar.1.dylib 2.1.0 bar1 (&gt;= 1.1-2) 32
   &lt;&lt;
 </pre>
-<p>一个声明表示从 <b>bar1</b> 软件包的版本 1.1-2 
开始,已经开始安装一个 <tt style="white-space: 
nowrap;">-install_name</tt> 为 %p/lib/bar.1.dylib,<tt style="white-space: 
nowrap;">-compatibiliary_version</tt> 为 2.1.0 
的函数库。另外,这个声明还表示维护者承诺这个名字及 
compatibility-version 至少为 2.1.0 以上的函数库可以在 <b>bar1</b> 
软件包的以后版本中找到。
+<p>一个声明表示从 <b>bar1</b> 软件包的版本 1.1-2 
开始,已经开始安装一个 <tt style="white-space: 
nowrap;">-install_name</tt> 为 %p/lib/bar.1.dylib,<tt style="white-space: 
nowrap;">-compatibiliary_version</tt> 为 2.1.0 
的函数库。另外,这个声明还表示维护者承诺这个名字及 
compatibility-version 至少为 2.1.0 以上的 (32bit) 函数库可以在 
<b>bar1</b> 软件包的以后版本中找到。
 </p><p>
 注意在库的名字中使用 
%p,这使得无论他们选择什么安装路径前缀,Fink 
的所有用户都可以找到正确的 <tt style="white-space: 
nowrap;">-install_name</tt> 代表的函数库。
 </p><p>
@@ -837,6 +877,17 @@
 <tt style="white-space: nowrap;">powerpc-apple-darwin1.3.3</tt> 
这样的目录对兼容性是不利的,<tt style="white-space: 
nowrap;">powerpc-apple-darwin1.3</tt> 或仅仅是
 <tt style="white-space: nowrap;">powerpc-apple-darwin</tt> 
是个好些的选择。
 </p>
+</td></tr><tr valign="top"><td><tt style="white-space: 
nowrap;">/sw/lib/ppc64</tt>
+<tt style="white-space: nowrap;">/sw/lib/x86_64</tt></td><td>
+
+<p>
+This directory is for 64-bit libraries, with <tt style="white-space: 
nowrap;">/sw/lib/ppc64</tt>
+being used under powerpc architecture, and
+<tt style="white-space: nowrap;">/sw/lib/x86_64</tt> being used under i386 
architecture.
+Libraries which have been built 'fat' should be stored in
+<tt style="white-space: nowrap;">/sw/lib</tt> instead.
+</p>
+
 </td></tr><tr valign="top"><td><tt style="white-space: 
nowrap;">/sw/share</tt></td><td>
 <p>
 这个目录是存放那些系统体系架构无关的数据文件。
@@ -1206,6 +1257,31 @@
 &lt;&lt;
 &lt;&lt;
 </pre>
+
+<p>
+Starting in fink 0.26.0, there is a special <tt style="white-space: 
nowrap;">Type: -64bit</tt>
+which controls a new percent expansion <tt style="white-space: 
nowrap;">%lib</tt> and also
+changes the default value of <tt style="white-space: nowrap;">LDFLAGS</tt>.  
When combined
+with the new construction %type_num[], this allows a single .info file
+to build both a 32-bit version of a library and a 64-bit version.
+Here's some sample code:
+</p>
+<pre>
+Info2: &lt;&lt;
+Package: foo%type_pkg[-64bit]
+Type: -64bit (boolean)
+Depends: (%type_raw[-64bit] = -64bit) 64bit-cpu
+ConfigureParams: --libdir='${prefix}/%lib'
+SplitOff: &lt;&lt;
+ Package: %N-shlibs
+ Files: %lib/libfoo.*.dylib
+ Shlibs: &lt;&lt;
+    %p/%lib/libfoo.1.dylib 1.0.0 %n (&gt;= 1.0-1) %type_num[-64bit]
+  &lt;&lt;
+&lt;&lt;
+&lt;&lt;
+</pre>
+
 </td></tr><tr valign="top"><td>License</td><td>
 <p>
 
本字段给出软件包发布所依据的授权协议的性质。它必须是本文档前面<a
 href="#policy.licenses">软件包授权协议</a>中所描述的值之一。 
另外,只有软件包确实满足打包规则在这方面的要求时,比如已经在软件包的
 doc 目录安装了一份授权协议,才能够设置这个字段。
@@ -1234,6 +1310,11 @@
 the <tt style="white-space: nowrap;">Package</tt> field of <tt 
style="white-space: nowrap;">SplitOff</tt>
 (and <tt style="white-space: nowrap;">SplitOff<b>N</b></tt>) packages.
 </li>
+<li>
+<tt style="white-space: nowrap;">Info3</tt> (fink&gt;=0.25.0): Can indent 
nicely in .info files,
+no more support for RFC-822 multi-lines, and can put comments in
+pkglist fields.
+</li>
 </ul>
 
 
@@ -1647,6 +1728,10 @@
 CPPFLAGS: -I%p/include
 LDFLAGS: -L%p/lib
 </pre>
+<p> Starting in fink 0.26.0, there is one exception to these defaults:
+if <tt style="white-space: nowrap;">Type: -64bit</tt> is set to <tt 
style="white-space: nowrap;">-64bit</tt>, then the
+default value of <tt style="white-space: nowrap;">LDFLAGS</tt> is <tt 
style="white-space: nowrap;">-L%p/%lib -L%p/lib</tt> 
+instead.</p>
 <p>
 In addition, starting in fink 0.17.0, the following values are set for
 the 10.4-transitional distribution and earlier (but are not set for
@@ -1674,14 +1759,18 @@
 <p>
 传递给 configure 脚本的额外参数(查阅
 CompileScript 字段的说明获取详细信息)。
+
+For packages not of <tt style="white-space: nowrap;">Type: Perl</tt>, the 
parameter
+<tt style="white-space: nowrap;">--prefix=%p</tt> is prepended to this value.
+As of fink &gt; 0.13.7, this field will also work with perl modules
+<tt style="white-space: nowrap;">Type: Perl</tt>; the default perl Makefile.PL
+string is prepended to the value supplied for <tt style="white-space: 
nowrap;">ConfigureParams</tt>.
+</p>
+<p>
 If a build is being done
 with test suites enabled, the value of the <tt style="white-space: 
nowrap;">TestConfigureParams</tt>
-field will be appended to this.
-
-对于 &lt; 0.13.7 的 fink 版本,这个参数也对 perl 模块<tt 
style="white-space: nowrap;">Type: Perl</tt>有效,并会添加到默认的 
perl Makefile.PL
-字符串中。
+field will be appended to the normal <tt style="white-space: 
nowrap;">ConfigureParams</tt> value.
 </p>
-
 <p>
   Starting in fink-0.22.0, this field supports conditionals. The
   syntax is the same as that used in the <tt style="white-space: 
nowrap;">Depends</tt> and
@@ -1918,8 +2007,14 @@
 <p>
 <b>从 fink 0.11.0 开始。</b>
 这个字段声明软件包中要安装的共享库。
-每个共享库占一行,每行包括以空格分开的三项:
-共享库的 <tt style="white-space: 
nowrap;">-install_name</tt>(安装名),<tt style="white-space: 
nowrap;">-compatibility_version</tt>(兼容版本号),和版本相关的指明提供这个兼容版本的
 Fink 软件包的依赖信息
+每个共享库占一行,每行包括以空格分开的三或四项:
+共享库的 <tt style="white-space: nowrap;">-install_name</tt>(安装名),
+<tt style="white-space: 
nowrap;">-compatibility_version</tt>(兼容版本号),
+和版本相关的指明提供这个兼容版本的 Fink 
软件包的依赖信息,
+
+the library architecture.  (The library architecture may either be "32", "64", 
or
+"32-64", and may be absent; the value defaults to "32" if it is absent.)  
+
 依赖信息应该以下面的形式描述:<tt style="white-space: nowrap;"> 
foo (&gt;= version-revision)</tt> 其中 
 <tt style="white-space: nowrap;">version-revision</tt> 
指提供(这个兼容版本)函数库的 Fink 软件包的 
<b>第一个</b>版本。
 Shlibs 声明表明维护者承诺这个名字和至少
@@ -2192,4 +2287,4 @@
 provided the document and this copyright notice remain complete and
 unmodified. Any commercial reproduction and any online publication
 requires the explicit consent of the author.</p><hr>
-<p>Generated from <i>$Fink: packaging.zh.xml,v 1.28 2006/09/19 05:54:30 
babayoshihiko Exp $</i></p></body></html>
+<p>Generated from <i>$Fink: packaging.zh.xml,v 1.29 2007/01/18 02:16:52 
babayoshihiko Exp $</i></p></body></html>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to