[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Packaging Manual 第14章



早瀬です。
Packaging Manual 第14章 (最終章)が終りました。

# なんとか、freeze に間に合わせることができました。


芳尾さんへ:
頃合を見計らって、私の WWW Page から sgml と version-ja.ent を
持って行って、packaging して頂いてかまいません。
よろしくお願いします。

-- 
早瀬 茂規 (shayase@xxxxxxxxxxxxxxx)

<!-- ORIG
    <chapt id="conversion"><heading>Conversion procedure from old
    source packages
 ORIG -->
    <chapt id="conversion"><heading>古いソースパッケージからの変換手続き
      </heading>

      <p>	
<!-- ORIG
	This is a brief summary of the procedure for converting a
	pre-2.0.0.0-format source package into the new format.
 ORIG -->
	ここでは、2.0.0.0 以前の形式のソースパッケージを新しい形式に
	変換する手続きについて簡単にまとめます。
      </p>

      <p>	
<!-- ORIG
	You are strongly advised to download and examine the <prgn>hello</prgn>
	package, and to read the section in the <prgn>dpkg</prgn> programmers'
	manual describing the source packaging tools.  More detail about the
	exact functionality of these tools is available in
	<manref name="dpkg-source"  section="1">.
 ORIG -->
	まず、 <prgn>hello</prgn> パッケージをダウンロードして調べて
	みることを強くお薦めします。そして、<prgn>dpkg</prgn>
	プログラマーマニュアルのソースパッケージツールに関する部分を
	お読みになってください。これらのツールに関する正確な詳細は、
	<manref name="dpkg-source"  section="1"> を参照してください。
      </p>

      <p>	
	<list>
	  <item>
	    <p>
<!-- ORIG
	      Download the original source code from wherever it can
	      be found and do any rearrangement required to make it
	      look like the original tree of the Debian source.  Put
	      it in
	      <tt><var>package</var>-<var>upstream-version</var>.orig/</tt>
	      or
	      <tt><var>package</var>_<var>upstream-version</var>.orig.tar.gz</tt>.
 ORIG -->
	      オリジナルのソースコードをダウンロードし、Debian の
	      ソースのオリジナルツリーに必要なすべての編集を
	      行ってください。そして、それを
	      <tt><var>package</var>-<var>upstream-version</var>.orig/</tt>
	      か、
	      <tt><var>package</var>_<var>upstream-version</var>.orig.tar.gz</tt>
	      の中に置いて下さい。
	    </p>
	  </item>
	
	  <item>
	    <p>
<!-- ORIG
	      Rename all files <tt>debian.*</tt> to <tt>debian/*</tt>.
	      There may be some exceptions to this, but this is a good
	      start.</p>
 ORIG -->
	      すべての <tt>debian.*</tt> ファイル名を <tt>debian/*</tt>
	      へと変更してください。いくつかの例外はありますが、
	      まずここから始めましょう。</p>
	  </item>

	  <item>
	    <p>
<!-- ORIG
	      Edit the <tt>debian/changelog</tt> - create or rename it
	      if necessary.  Add a new revision to the top with the
	      appropriate details, and a local variables entry to the
	      bottom to set Emacs to the right mode:
 ORIG -->
	      <tt>debian/changelog</tt> ファイルを編集してください。-
	      必要であれば、作成するかファイル名を変更してください。
	      新しいリビジョンを適切な説明とともにファイルの先頭に
	      付け加えてください。また、Emacs がきちんとしたモードで
	      動作するように、ローカル変数のエントリを最後に
	      付けて加えてください。:
	      <example>
  Local variables:
  mode: debian-changelog
  End:
	      </example>
	    </p>
	  </item>
	
	  <item>
	    <p>
<!-- ORIG
	      Edit/create <tt>debian/control</tt>:
 ORIG -->
	      <tt>debian/control</tt> ファイルを編集または
	      作成してください。
	      <list compact="compact">
		<item>
		  <p>
<!-- ORIG
		    Remove the <tt>Version</tt> field.  If it is
		    generated unusually (not equal to the source
		    version) you must use the -v option to
		    dpkg-gencontrol (see below).  <tt>Section</tt>,
		    <tt>Priority</tt>, <tt>Maintainer</tt> go above
		    the first blank line, most of the rest
		    below.
 ORIG -->
		    <tt>Version</tt> フィールドを削除してください。
		    そのフィールドの生成が通常の方法で行われて
		    いなかった場合 (ソースのバージョンと違う場合)、
		    dpkg-gencontrol の -v オプションを
		    使用しなければいけません (以下をごらん下さい)。
		    <tt>Section</tt>、<tt>Priority</tt>、
		    <tt>Maintainer</tt> フィールドは、最初の空行より上に
		    置いてください。その他のたいていの部分は、
		    その下に来ます。
		  </p>
		</item>
		
		<item>
		  <p>
<!-- ORIG
		    Reorder the fields and add a blank line at an
		    appropriate point, separating the source package
		    fields from the binary package fields.
 ORIG -->
		    フィールド順を並びかえ、ソースパッケージの
		    フィールドをバイナリパッケージのフィールドから
		    分割するように、空行を適切な位置に加えてください。
		  </p>
		</item>
		
		<item>
<!-- ORIG
		  <p>Add the <tt>Source</tt> field.</p></item>
 ORIG -->
		  <p><tt>Source</tt> フィールドを加えて下さい。</p></item>
		
		<item>
		  <p>
<!-- ORIG
		    Add the <tt>Standards-Version</tt> field.  (Please
		    check out the Debian Policy Manual for details
		    about this field.)</p>
 ORIG -->
		    <tt>Standards-Version</tt> フィールドを加えてください
		    (このフィールドの詳細については、Debian Policy Manual
		    を参照してください)。
		</item>
		
		<item>
		  <p>
<!-- ORIG
		    Change the <tt>Architecture</tt> field for each
		    package to <tt>any</tt>, <tt>all</tt> or whatever.
		    If there isn't an <tt>Architecture</tt> field add
		    one.</p>
 ORIG -->
		    それぞれのパッケージに対する <tt>Architecture</tt>
		    フィールドを、<tt>any</tt>、<tt>all</tt> やその他に
		    変更してください。<tt>Architecture</tt> がない場合は
		    加えてください。</p>
		</item>
		
		<item>
		  <p>
<!-- ORIG
		    If any other use of sed or things used to happen
		    to make the binary control files use
		    <prgn>dpkg-gencontrol</prgn>'s variable
		    substitution features to achieve the same effect.
		    Use <tt>debian/substvars</tt> if you need to put
		    unusally-generated information (apart from details
		    of <tt>.deb</tt> files) in the <tt>.changes</tt>
		    file too.</p>
 ORIG -->
		    sed やその他のツールによって、バイナリ制御ファイルを
		    作成している場合には、同様の効果を得るために、
		    <prgn>dpkg-gencontrol</prgn> の変数置換機能を
		    使用して下さい。通常生成される以外の情報
		    (<tt>.deb</tt>ファイルの詳細とは別に) を
		    <tt>.changes</tt>ファイルに挿入することが必要な
		    場合は、<tt>debian/substvars</tt> を使ってください。
		</item>
	      </list>
	    </p>
	  </item>
	
	  <item>
<!-- ORIG
	    <p>Edit the <tt>debian/rules</tt>:
 ORIG -->
	    <p><tt>debian/rules</tt> を編集する:
	      <list compact="compact">
		<item>
		  <p>
<!-- ORIG
		    Remove the <prgn>source</prgn> and
		    <prgn>diff</prgn> and any <prgn>changes</prgn> and
		    <prgn>dist</prgn> targets.  These things now
		    happen in a package-independent way and are not
		    done by <tt>debian/rules</tt>.</p>
 ORIG -->
		    <prgn>source</prgn> と <prgn>diff</prgn>、
		    あらゆる <prgn>changes</prgn> と <prgn>dist</prgn>
		    ターゲットを削除します。これらの項目は、現在、
		    パッケージと非依存の方法で生成されていて、
		    <tt>debian/rules</tt> によって指定されるものでは
		    ありません。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Split the <prgn>binary</prgn> target into
		    <prgn>binary-arch</prgn> and
		    <prgn>binary-indep</prgn>; in many cases all of
		    <prgn>binary</prgn> should go into
		    <prgn>binary-arch</prgn>.  Create the
		    <prgn>binary</prgn> target and the unused of the
		    two other <prgn>binary-*</prgn> targets if there
		    is one - you can copy the ones from the
		    <prgn>hello</prgn> package.</p>
 ORIG -->
		    <prgn>binary</prgn> ターゲットを
		    <prgn>binary-arch</prgn> と <prgn>binary-indep</prgn>
		    とに分割します;たいてい、すべての
		    <prgn>binary</prgn> は <prgn>binary-arch</prgn>
		    に分類されます。<prgn>binary</prgn> およびもし一方の
		    <prgn>binary-*</prgn> しか存在しなかった場合は他方を
		    作成してください -  <prgn>hello</prgn> パッケージから
		    コピーすることもできます。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Change the <prgn>binary</prgn> target to use
		    <prgn>dpkg-gencontrol</prgn> to make the package
		    control file(s).  Move it to after all the files
		    have been installed but just before the last
		    <prgn>chown</prgn> and <prgn>chmod</prgn> in the
		    target.</p>
 ORIG -->
		    <prgn>binary</prgn> ターゲットを、
		    <prgn>dpkg-gencontrol</prgn> を使用して
		    パッケージ制御ファイルを生成するように
		    します。そしてそれを、ファイルがすべてインストール
		    された後、ターゲット中の最後の <prgn>chown</prgn>
		    と <prgn>chmod</prgn> コマンドの実行前に、
		    パッケージ制御ファイルの作成を行うように
		    移動します。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Change occurrences of <tt>debian-tmp</tt> to
		    <tt>debian/tmp</tt>.</p>
 ORIG -->
		    <tt>debian-tmp</tt> を <tt>debian/tmp</tt> に
		    変更します。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Change occurrences of
		    <tt>debian.{post,pre}{inst,rm}</tt> to
		    <tt>debian/*</tt>.</p>
 ORIG -->
		    <tt>debian.{post,pre}{inst,rm}</tt> ファイルを
		    <tt>debian/*</tt> に変更します。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Remove the version number setting at the top, if
		    there is one.</p>
 ORIG -->
		    トップでバージョン番号の設定を行っていた場合は、
		    削除します。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Ensure that the package's Debian-specific and
		    upstream changelogs are installed.</p>
 ORIG -->
		    Debian 固有の修正と、上流のパッケージに関する
		    修正履歴がインストールされるようにします。</p>
		</item>
	      </list>
	    </p>
	  </item>
	
	  <item>
	    <p>
<!-- ORIG
	      Change the package to use <prgn>dpkg-shlibdeps</prgn> to
	      determine its shared library dependencies and substitute
	      them in.  Shared library dependencies should no longer
	      be hardwired in the source package.</p>
 ORIG -->
	      パッケージの共有ライブラリに関する依存性の決定について
	      <prgn>dpkg-shlibdeps</prgn> を使用するようにします。
	      そのパッケージでリンクされる共有ライブラリを
	      ソースパッケージ中に含んでいてはいけません。</p>
	  </item>
	
	  <item>
	    <p>
<!-- ORIG
	      Check that the <tt>debian/README</tt> is really the
	      copyright file, and if so rename it to
	      <tt>debian/copyright</tt> and edit <tt>debian/rules</tt>
	      to cope with this and to change the installation of the
	      copyright file from
	      <tt>/usr/doc/<var>package</var>/copyright</tt> to
	      <tt>/usr/doc/copyright/<var>package</var></tt>.  If it
	      isn't then find <tt>debian/copyright</tt> and decide
	      what to do with the <tt>README</tt>.</p>
 ORIG -->
	      <tt>debian/README</tt> ファイルがコピーライトに関する
	      ファイルになっているかどうかをチェックし、そうであった時は、
	      <tt>debian/copyright</tt> ファイルに変更します。そして、
	      <tt>debian/rules</tt> ファイルをこのファイルと
	      連動するようにします。また、コピーライトファイルの
	      インストール場所を、
	      <tt>/usr/doc/<var>package</var>/copyright</tt> から
	      <tt>/usr/doc/copyright/<var>package</var></tt> へと
	      変更します。<tt>debian/copyright</tt> が存在しない場合は、
	      <tt>README</tt> ファイルを参照して、どうするか
	      判断してください。</p>
	  </item>
	
	  <item>
<!-- ORIG
	    <p>Check for various other anachronisms and problems:
 ORIG -->
	    <p>他のさまざまな古いバージョンの問題点をチェックします。
	      <list compact="compact">
		<item>
		  <p>
<!-- ORIG
		    Remove any <tt>Package_Revision</tt>,
		    <tt>Package-Revision</tt> or <tt>Revision</tt>
		    fields.</p>
 ORIG -->
		    <tt>Package_Revision</tt>、<tt>Package-Revision</tt>、
		    <tt>Revision</tt> の各フィールドを削除してください。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Rename <tt>Optional</tt> to <tt>Suggests</tt>,
		    <tt>Recommended</tt> to
		    <tt>Recommends</tt>.</p>
 ORIG -->
		    <tt>Optional</tt> フィールドを <tt>Suggests</tt>に、
		    <tt>Recommended</tt> フィールドを <tt>Recommends</tt>
		    に変更してください。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Change
		    <tt>/usr/doc/examples/<var>package</var></tt> to
		    <tt>/usr/doc/<var>package</var>/examples</tt>.</p>
 ORIG -->
		    <tt>/usr/doc/examples/<var>package</var></tt>
		    ディレクトリを
		    <tt>/usr/doc/<var>package</var>/examples</tt>
		    に変更してください。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Make sure that manpages are installed
		    compressed.</p>
 ORIG -->
		    man ページが圧縮されてインストールされているかを
		    確認します。</p>
		</item>
		<item>
		  <p>
<!-- ORIG
		    Check that the description has an extended
		    description, is well-formatted and meaningful and
		    helpful to people wanting to know whether to
		    install a package.</p>
 ORIG -->
		    説明文が、さらに詳細な説明部分を持っているか、また
		    その詳細部分が正しいフォーマットになっているのかを
		    チェックします。さらに、パッケージを
		    インストールするかどうか考えているユーザに、有意義で
		    有用な情報を提供できているかどうかといった点も
		    チェックします。</p>
		</item>
	      </list>
	    </p>
	  </item>
	
	  <item>
<!-- ORIG
	    <p>Look everything over.</p></item>
 ORIG -->
	    <p>もう一度すべてを見直します。</p></item>
	
	  <item>
	    <p>
<!-- ORIG
	      Do a test build using <tt>dpkg-buildpackage -us -uc -sa
		-r<var>whatever</var></tt>.  Check the permissions and
	      locations of files in the resulting package by examining
	      the output of <tt>dpkg-deb −contents</tt>, and check
	      that the source build happened OK.  Test install the
	      binary package(s) and test extract the source
	      package(s).</p>
 ORIG -->
	      <tt>dpkg-buildpackage -us -uc -sa -r<var>whatever</var></tt>
	      を用いて構築テストを行います。出来あがってきたパッケージの
	      ファイルのパーミッションと場所を
	      <tt>dpkg-deb --contents</tt> によってチェックします。
	      この時、ソースパッケージの構築がうまくいったかどうかも
	      チェックします。さらに、バイナリパッケージの
	      テストインストール、ソースパッケージの展開テストを
	      行ってください。</p>
	  </item>
	
	  <item>
	    <p>
<!-- ORIG
	      Sign the release: either rebuild everything with
	      <tt>dpkg-buildpackage -sa</tt>, or PGP-sign the
	      <tt>.dsc</tt>, rebuild the <tt>.changes</tt> using
	      <tt>dpkg-genchanges -sa</tt>, and then PGP-sign the
	      <tt>.changes</tt>.</p>
 ORIG -->
	      リリースに署名してください。<tt>dpkg-buildpackage -sa</tt>
	      によってすべてを再構築した時や、<tt>.dsc</tt> に PGP
	      署名をした時においても、<tt>dpkg-genchanges -sa</tt>
	      によって、<tt>.changes</tt> ファイルを再構築して、
	      <tt>.changes</tt> に PGP 署名を行ってください。</p>
	  </item>
	
	</list>
      </p>

      <p>	
<!-- ORIG
	The use of <tt>-sa</tt> on <prgn>dpkg-buildpackage</prgn> and
	<prgn>dpkg-genchanges</prgn> is important when doing the first
	build/uploading of a new-format source package.  Unless this
	happens to be Debian revision <tt>0</tt> or <tt>1</tt> by
	default the original source tarfile will not be included in
	the uploaded files listed in the <tt>.changes</tt> file, and
	so it won't be installed on the FTP site.  <tt>-sa</tt>
	requests that the original source be included
	regardless.</p>
 ORIG -->
	最初に新形式のソースパッケージを構築またはアップロードするとき
	には、<prgn>dpkg-buildpackage</prgn> および
	<prgn>dpkg-genchanges</prgn> 操作において <tt>-sa</tt>
	オプションを使用することに気をつけます。例外は、Debian
	パッケージのリビジョンが、デフォルトで <tt>0</tt> か
	<tt>1</tt> となっており、<tt>.changes</tt> ファイルに
	リストされているアップロードファイル中に、オリジナルの tar
	ファイルが含まれていない場合、つまり、FTP サイトに
	アップロードされない場合です。<tt>-sa</tt> オプションを
	使用すると、デフォルトでオリジナルのソースを含むように
	パッケージします。</p>
    </chapt>