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

Packaging Manual chap.2



早瀬です。Packaging Manual 第2章です。
version 2.4.1.0 -> 3.0.0.0 の変更点は、
  2.4 節  タイムスタンプ
の追加です。よろしくお願いします。

P.S.

私が debiandoc2html でつくる html の体裁が、original なものと
違います。例えば、私がやると、index.html に abstract が出てきますが、
original にはありません。私は slink な環境で

ii  debiandoc-sgml  1.1.12         Documentation formatting for Debian manuals

を使っているので、potato の物を使えばいいのかなあ、とも思うのですが、
このツールって、LANG を見てるので、potato の debiandoc-sgml は
slink では動かなそうですね。
最悪な場合、翻訳者 != パッケージメンテナ でしょうか?

--
早瀬 茂規 (shayase@xxxxxxxxxxxxxxx)
<!-- ORIG
    <chapt id="binarypkg"><heading>Binary packages
 ORIG -->
    <chapt id="binarypkg"><heading>バイナリーパッケージ
      </heading>
	
      <p>
<!-- ORIG
	The binary package has two main sections.  The first part
	consists of various control information files and scripts used
	by <prgn>dpkg</prgn> when installing and removing.  See <ref
	id="controlarea">.
 ORIG -->
	バイナリーパッケージは2つの部分からなります。
	最初の部分には <prgn>dpkg</prgn> がインストールや削除に使う
	様々な管理情報ファイルやスクリプトが入っています。
	<ref id="controlarea"> を見てください。
      </p>
	
      <p>
<!-- ORIG
	The second part is an archive containing the files and
	directories to be installed.
 ORIG -->
	2つめの部分はインストールされるファイルやディレクトリを含んだ
	アーカイブです。
      </p>
	
      <p>
<!-- ORIG
	In the future binary packages may also contain other
	components, such as checksums and digital signatures. The
	format for the archive is described in full in the
	<tt>deb(5)</tt> manpage.
 ORIG -->
	将来、他にもチェックサムや電子署名などがバイナリーパッケージに
	含まれるようになるでしょう。
	アーカイブのフォーマットについては <tt>deb(5)</tt> の
	manpage に完全な記述があります。
      </p>


<!-- ORIG
      <sect id="bincreating"><heading>Creating package files -
 ORIG -->
      <sect id="bincreating"><heading>パッケージファイルの作成 -
      <prgn>dpkg-deb</prgn>
	</heading>
	  
	<p>
<!-- ORIG
	  All manipulation of binary package files is done by
	  <prgn>dpkg-deb</prgn>; it's the only program that has
	  knowledge of the format.  (<prgn>dpkg-deb</prgn> may be
	  invoked by calling <prgn>dpkg</prgn>, as <prgn>dpkg</prgn>
	  will spot that the options requested are appropriate to
	  <prgn>dpkg-deb</prgn> and invoke that instead with the same
	  arguments.)
 ORIG -->
	  バイナリーパッケージファイルの操作はすべて
	  <prgn>dpkg-deb</prgn> によって行います。
	  <prgn>dpkg-deb</prgn> はパッケージフォーマットを
	  理解する唯一のプログラムです。
	  (<prgn>dpkg-deb</prgn> は <prgn>dpkg</prgn> に呼び出されます。
	  <prgn>dpkg</prgn> は依頼されたオプションが
	  <prgn>dpkg-deb</prgn> に適切であるかを見分け、同じ引数で
	  代わりに <prgn>dpkg-deb</prgn> を呼び出します。)
	</p>
	  
	<p>
<!-- ORIG
	  In order to create a binary package you must make a
	  directory tree which contains all the files and directories
	  you want to have in the filesystem data part of the package.
	  In Debian-format source packages this directory is usually
	  <tt>debian/tmp</tt>, relative to the top of the package's
	  source tree.
 ORIG -->
	  バイナリーパッケージを作るためにはパッケージの
	  ファイルシステムデータ部分に入れたいファイルやディレクトリを
	  全て含むディレクトリツリーを作らなければなりません。
	  Debianフォーマットのソースパッケージでは、このディレクトリは
	  通常はパッケージのソースツリーのトップからの相対パスで
	  <tt>debian/tmp</tt> です。
	</p>
	  
	<p>
<!-- ORIG
	  They should have the locations (relative to the root of the
	  directory tree you're constructing) ownerships and
	  permissions which you want them to have on the system when
	  they are installed.
 ORIG -->
<!-- VERSION 2.4.1.0
	  これらのファイルやディレクトリは、インストールされた時に
	  あなたが望むようなシステム上での
	  (あなたが作るディレクトリツリーのルートとの相対での)場所と
	  所有者と許可属性を持っていなければなりません。
 VERSION 2.4.1.0 -->
	  これらのファイルやディレクトリがインストールされる時には、
	  あなたの作ったディレクトリツリーのトップからの相対位置で、
	  システムのルートにインストールされ、
	  所有者と許可属性はそのまま保持されます。
	</p>

	<p>
<!-- ORIG
	  With current versions of <prgn>dpkg</prgn> the uid/username
	  and gid/groupname mappings for the users and groups being
	  used should be the same on the system where the package is
	  built and the one where it is installed.
 ORIG -->
	  現在のバージョンの <prgn>dpkg</prgn> では、
	  ユーザーとグループに用いる uid/username、gid/groupname の
	  対応はパッケージが作られたシステムと
	  インストールされるシステムとで同じにするべきです。
	</p>
	  
	<p>
<!-- ORIG
	  You need to add one special directory to the root of the
	  miniature filesystem tree you're creating:
	  <prgn>DEBIAN</prgn>.  It should contain the control
	  information files, notably the binary package control file
	  (see <ref id="controlfile">).
 ORIG -->
	  あなたが作るミニチュアファイルシステムのルートに
	  <prgn>DEBIAN</prgn> という特別なディレクトリを
	  追加しなければなりません。そこには管理情報ファイル、
	  特にバイナリーパッケージ管理ファイルが含まれます
	  (<ref id="controlfile"> を見て下さい)。
	</p>
	  
	<p>
<!-- ORIG
	  The <prgn>DEBIAN</prgn> directory will not appear in the
	  filesystem archive of the package, and so won't be installed
	  by <prgn>dpkg</prgn> when the package is installed.
 ORIG -->
	  <prgn>DEBIAN</prgn> ディレクトリはパッケージの
	  ファイルシステムアーカイブには入れられません。
	  よって、 <prgn>dpkg</prgn> によってパッケージが
	  インストールされる時にはインストールされません。
	</p>
	  
	<p>
<!-- ORIG
	  When you've prepared the package, you should invoke:
 ORIG -->
	  パッケージの用意をしたら次のようにします。
	  <example>
  dpkg --build <var>directory</var>
	  </example>
	</p>
	  
	<p>
<!-- ORIG
	  This will build the package in
	  <tt><var>directory</var>.deb</tt>.  (<prgn>dpkg</prgn> knows
	  that <tt>−build</tt> is a <prgn>dpkg-deb</prgn> option, so
	  it invokes <prgn>dpkg-deb</prgn> with the same arguments to
	  build the package.)
 ORIG -->
	  これにより <tt><var>directory</var>.deb</tt> に
	  パッケージが構築されます。
	  (<prgn>dpkg</prgn> は <tt>--build</tt> が
	  <prgn>dpkg-deb</prgn> のオプションであることを知っているため、
	  パッケージを構築するために
	  <prgn>dpkg-deb</prgn> を同じオプションで起動します。)
	</p>

	<p>
<!-- ORIG
	  See the manpage <manref name="dpkg-deb" section="8"> for details of how
	  to examine the contents of this newly-created file.  You may find the
	  output of following commands enlightening:
 ORIG -->
	  新しく作られたファイルの中身を調べる方法についての詳細は
	  manpage の <manref name="dpkg-deb" section="8"> を見てください。
	  次のコマンドの出力から得られることがわかるでしょう。
	  <example>
  dpkg-deb --info <var>filename</var>.deb
  dpkg-deb --contents <var>filename</var>.deb
  dpkg --contents <var>filename</var>.deb
	  </example>
<!-- ORIG
	  To view the copyright file for a package you could use this command:
 ORIG -->
	  パッケージの著作権ファイルを見るには次のコマンドが使用できます。
	  <example>
  dpkg --fsys-tarfile <var>filename</var>.deb | tar xof usr/doc/<var>\*</var>copyright | less
	  </example>
	</p>
      </sect>

      <sect id="controlarea">
	<heading>
<!-- ORIG
	  Package control information files
 ORIG -->
	  パッケージ管理情報ファイル
	</heading>
	  
	<p>
<!-- ORIG
	  The control information portion of a binary package is a
	  collection of files with names known to <prgn>dpkg</prgn>.
	  It will treat the contents of these files specially - some
	  of them contain information used by <prgn>dpkg</prgn> when
	  installing or removing the package; others are scripts which
	  the package maintainer wants <prgn>dpkg</prgn> to run.
 ORIG -->
	  バイナリーパッケージの管理情報部は <prgn>dpkg</prgn> が
	  理解できる名前を持ったファイルの集合です。
	  これらのファイルの内容は <prgn>dpkg</prgn> に特別に
	  扱われます。
	  - ファイルの内容がパッケージのインストールや削除の時に
	  <prgn>dpkg</prgn> に使われるものであったり、
	  パッケージ管理者が <prgn>dpkg</prgn> に実行させたい
	  スクリプトであったりします。
	</p>
	  
	<p>
<!-- ORIG
	  It is possible to put other files in the package control
	  area, but this is not generally a good idea (though they
	  will largely be ignored).
 ORIG -->
	  パッケージ管理エリアにそれ以外のファイルを入れても
	  構いませんが、あまりいいアイデアではありません
	  (もっとも、それらは一般に無視されますが)。
	</p>
	  
	<p>
<!-- ORIG
	  Here is a brief list of the control info files supported by
	  <prgn>dpkg</prgn> and a summary of what they're used for.
 ORIG -->
	  ここで、<prgn>dpkg</prgn> がサポートする管理情報ファイルの
	  簡単なリストとそれらが何に使われるかについての概要を
	  挙げておきます。
	</p>
	  
	<p>
	  <taglist>
	    <tag><tt>control</tt>
	    <item>
	      
	      <p>
<!-- ORIG
		This is the key description file used by
		<prgn>dpkg</prgn>.  It specifies the package's name
		and version, gives its description for the user,
		states its relationships with other packages, and so
		forth.  See <ref id="controlfile">.
 ORIG -->
		このファイルには <prgn>dpkg</prgn> が使う鍵となる
		情報が書かれています。このファイルにより
		パッケージ名とバージョンの指定や、パッケージに関する
		説明のユーザーへの提供、他のパッケージとの関連の
		指定などを行ないます。
		<ref id="controlfile"> を見て下さい。
	      </p>

	      <p>
<!-- ORIG
		It is usually generated automatically from information
		in the source package by the
		<prgn>dpkg-gencontrol</prgn> program, and with
		assistance from <prgn>dpkg-shlibdeps</prgn>.  See <ref
		id="sourcetools">.</p>
 ORIG -->
		このファイルは通常 <prgn>dpkg-shlibdeps</prgn> の助けを
		借りてソースパッケージ内の情報から
		<prgn>dpkg-gencontrol</prgn> によって自動的に
		作られます。
		<ref id="sourcetools"> を見て下さい。</p>
	    </item>
	      
	    <tag><tt>postinst</tt>, <tt>preinst</tt>, <tt>postrm</tt>,
	    <tt>prerm</tt>
	    </tag>
	    <item>
	      
	      <p>
<!-- ORIG
		These are exectuable files (usually scripts) which
		<prgn>dpkg</prgn> runs during installation, upgrade
		and removal of packages.  They allow the package to
		deal with matters which are particular to that package
		or require more complicated processing than that
		provided by <prgn>dpkg</prgn>.  Details of when and
		how they are called are in <ref
		id="maintainerscripts">.
 ORIG -->
		これらは <prgn>dpkg</prgn> が、パッケージの
		インストール、アップグレード、削除の時に起動する
		実行可能なファイル(通常はスクリプト)です。
		これらのファイルにより、パッケージがパッケージに特有の
		事柄を扱ったり、<prgn>dpkg</prgn> が提供するよりも
		より複雑な処理を要求することが可能になります。
		これらのファイルが、いつ、どの様に呼び出されるかに
		ついての詳細は
		<ref id="maintainerscripts"> にあります。
	      </p>
		
	      <p>
<!-- ORIG
		It is very important to make these scripts
		idempotent.
		<footnote>
		  <p>
		    That means that if it runs successfully or fails
		    and then you call it again it doesn't bomb out,
		    but just ensures that everything is the way it
		    ought to be.
		  </p>
		</footnote> This is so that if an error occurs, the
		user interrupts <prgn>dpkg</prgn> or some other
		unforeseen circumstance happens you don't leave the
		user with a badly-broken package.
 ORIG -->
		これらのスクリプトを idempotent にする
		<footnote>
		  <p>
		    つまり、そのスクリプトの実行が成功しても、
		    失敗しても、そのスクリプトが再び呼び出された時に
		    暴走せず、ただ、全てが正しく動作するいうことです。
		  </p>
		</footnote>
		のは非常に重要なことです。もしエラーが起きて
		ユーザーが <prgn>dpkg</prgn> を中止したり、
		その他の予期できない事象が起きても、パッケージが
		ひどく壊れたままになることはありません。
	      </p>
		
	      <p>
<!-- ORIG
		The maintainer scripts are guaranteed to run with a
		controlling terminal and can interact with the user.
		If they need to prompt for passwords, do full-screen
		interaction or something similar you should do these
		things to and from <tt>/dev/tty</tt>, since
		<prgn>dpkg</prgn> will at some point redirect scripts'
		standard input and output so that it can log the
		installation process.  Likewise, because these scripts
		may be executed with standard output redirected into a
		pipe for logging purposes, Perl scripts should set
		unbuffered output by setting <tt>$|=1</tt> so that the
		output is printed immediately rather than being
		buffered.
 ORIG -->
		メンテナンススクリプトは制御端末で実行されることが
		保証されており、ユーザーと対話することができます。
		もしパスワードのプロンプトを出す場合は、
		<prgn>dpkg</prgn> はインストールの過程のログを
		とるためにスクリプトの標準入出力を同じところに
		リダイレクトするので <tt>/dev/tty</tt> を通じて
		フルスクリーンによる対話もしくは同様のことを
		行なわなければなりません。
		同様に、これらのスクリプトは、ログをとるプロセスへの
		パイプに標準出力をリダイレクトした状態で
		実行される。そのため、出力がバッファリングされずにすぐに
		表示されるようにする為に Perl スクリプトは
		<tt>$|=1</tt> とセットして出力をバッファリングしない
		ようにするべきです。
	      </p>
		
	      <p>
<!-- ORIG
		Each script should return a zero exit status for
		success, or a nonzero one for failure.</p>
 ORIG -->
		いずれのスクリプトも成功した場合には 0 、
		失敗した場合には 0 以外を終了時の値として
		返さなくてはなりません。</p>
	    </item>
	      
	    <tag><tt>conffiles</tt>
	    </tag>
	    <item>
	      
	      <p>
<!-- ORIG
		This file contains a list of configuration files which
		are to be handled automatically by <prgn>dpkg</prgn>
		(see <ref id="conffiles">).  Note that not necessarily
		every configuration file should be listed here.</p>
 ORIG -->
		このファイルには <prgn>dpkg</prgn> により自動的に
		扱われなければならない設定ファイルのリストが含まれます
		(<ref id="conffiles"> を参照)。
		すべての設定ファイルをここに書く必要はないことに
		注意して下さい。</p>

	    </item>
	      
	    <tag><tt>shlibs</tt>
	    </tag>
	    <item>
	      
	      <p>
<!-- ORIG
		This file contains a list of the shared libraries
		supplied by the package, with dependency details for
		each.  This is used by <prgn>dpkg-shlibdeps</prgn>
		when it determines what dependencies are required in a
		package control file. The <tt>shlibs</tt> file format
		is described on <ref id="shlibs">.
 ORIG -->
		このファイルにはパッケージが提供する共有ライブラリの
		リストが、それぞれの依存関係の詳細と共に含まれます。
		このファイルは <prgn>dpkg-shlibdeps</prgn> が
		パッケージコントロールファイルで、どの依存関係が
		必要かを決める時に使用します。
		<tt>shlibs</tt> ファイルの書式については
		<ref id="shlibs"> に記述があります。
	      </p>
	    </item>
	  </taglist>
	</p>
	
      <sect id="controlfile">
	<heading>
<!-- ORIG
	  The main control information file: <tt>control</tt>
 ORIG -->
	  メイン管理情報ファイル: <tt>control</tt>
	</heading>
	<p>
<!-- ORIG
	  The most important control information file used by
	  <prgn>dpkg</prgn> when it installs a package is
	  <tt>control</tt>.  It contains all the package's `vital
	  statistics'.
 ORIG -->
	  <prgn>dpkg</prgn> がパッケージをインストールする時に使う
	  もっとも重要な管理情報ファイルが <tt>control</tt> です。
	  このファイルはパッケージの`人口動態統計'をすべて
	  含んでいます。
	</p>

	<p>
<!-- ORIG
	  The binary package control files of packages built from
	  Debian sources are made by a special tool,
	  <prgn>dpkg-gencontrol</prgn>, which reads
	  <tt>debian/control</tt> and <tt>debian/changelog</tt> to
	  find the information it needs.  See <ref id="sourcepkg"> for
	  more details.
 ORIG -->
	  Debian ソースから作られたパッケージのバイナリーパッケージ
	  管理ファイルは <prgn>dpkg-gencontrol</prgn> という特別な
	  ツールで作られます。このツールは <tt>debian/control</tt> と
	  <tt>debian/changelog</tt>から必要な情報を捜し出します。
	  詳細は <ref id="sourcepkg"> を見て下さい。
	</p>

	<p>
<!-- ORIG	  
	  The fields in binary package control files are:
 ORIG -->
	  バイナリーパッケージ管理ファイルの fields は:
	  <list compact="compact">
	    <item>
	      <p><qref id="f-Package"><tt>Package</tt></qref> (mandatory)</p>
	    </item>
	    <item>
	      <p><qref id="versions"><tt>Version</tt></qref> (mandatory)</p>
	    </item>
	    <item><p><qref id="f-Architecture"><tt>Architecture</tt></qref>
		(mandatory)
		<footnote>
		  <p>
<!-- ORIG
		    This field should appear in all packages, though
		    <prgn>dpkg</prgn> doesn't require it yet so that
		    old packages can still be installed.
 ORIG -->
		    この Architecture フィールドは、全てのパッケージに
		    存在しなければ なりません。ただし、今のところ
		    <prgn>dpkg</prgn> は、 古いパッケージも
		    インストールできるように、Architecture フィールドを
		    要求しません。 
		  </p>
		</footnote>
	      </p>
	    </item>
	    <item>
	      <p><qref id="relationships"><tt>Depends</tt>,
		  <tt>Provides</tt> et al.</qref></p>
	    </item>
	    <item>
	      <p><qref id="f-Essential"><tt>Essential</tt></qref></p>
	    </item>
	    <item>
	      <p><qref id="f-Maintainer"><tt>Maintainer</tt></qref></p>
	    </item>
	    <item>
	      <p><qref id="f-classification"><tt>Section</tt>,
		  <tt>Priority</tt></qref></p>
	    </item>
	    <item>
	      <p><qref id="f-Source"><tt>Source</tt></qref></p>
	    </item>
	    <item>
	      <p><qref id="descriptions"><tt>Description</tt></qref></p>
	    </item>
	    <item>
	      <p>
		<qref id="f-Installed-Size"><tt>Installed-Size</tt></qref>
	      </p>
	    </item> 
	  </list>
	    
	<p>
<!-- ORIG
	  A description of the syntax of control files and the purpose
	  of these fields is available in <ref id="controlfields">.
 ORIG -->
	  管理ファイルの文法とこれらのフィールドの目的についての記述は
	  <ref id="controlfields"> で得られます。
	</p>
      </sect>
      <sect>
<!-- ORIG
	<heading>Time Stamps</heading>
 ORIG -->
	<heading>タイムスタンプ</heading>
	<p>
<!-- ORIG
	  Maintainers are encouraged to preserve the modification
	  times of the upstream source files in a package, as far as
	  is reasonably possible. 
 ORIG -->
	  パッケージのアップストリームのソースファイルの
	  タイムスタンプが変更された場合には、可能な限り
	  タイムスタンプを保持するよう、パッケージ管理者に
	  勧められています。
	  <footnote>
	    <p>
<!-- ORIG
	      The rationale is that there is some information conveyed
	      by knowing the age of the file, for example, you could
	      recognize that some documentation is very old by looking
	      at the modification time, so it would be nice if the
	      modification time of the upstream source would be
	      preserved.
 ORIG -->
	      タイムスタンプを保持する根拠は、ファイルの作成時間を
	      知ることによって伝わる情報があるからです。例えば、
	      ある文書の修正時間を見ることによって、それが非常に
	      古いものであるのかどうかを判断することができます。
	      ですから、アップストリームのソースの修正時間を
	      保持しておくのはとても良いことです。
	    </p>
	  </footnote>
	</p>
      </sect>
<!-- vvv ADD vvv -->
    </chapt>
<!-- ^^^ ADD ^^^ -->