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

Packaging Manual 第11章



またまた、早瀬です。
Packaging Manual 第11章 まで作業が終りましたので、
こちらについても、どうぞよろしくお願い致します。

# そろそろゴールが見えて来ました。
# .deb 化については、芳尾さんにやって頂いてもよいでしょうか?

-- 
早瀬 茂規 (shayase@xxxxxxxxxxxxxxx)

<!-- ORIG
    <chapt id="diversions"><heading>Diversions - overriding a
    package's version of a file
 ORIG -->
    <chapt id="diversions"><heading>退避バージョン -
    あるパッケージに含まれるファイルを上書きするには
      </heading>

      <p>	
<!-- ORIG
	It is possible to have <prgn>dpkg</prgn> not overwrite a file
	when it reinstalls the package it belongs to, and to have it
	put the file from the package somewhere else instead.
 ORIG -->
	パッケージを再インストールする時、その中のあるファイルを
	<prgn>dpkg</prgn> によって上書きさせないようにすることが
	できます。そして、そのファイルをどこか他の場所に置くことも
	できます。
      </p>

      <p>	
<!-- ORIG
	This can be used locally to override a package's version of a
	file, or by one package to override another's version (or
	provide a wrapper for it).
 ORIG -->
	この方法は、あるパッケージのあるバージョンを同一のプログラムで
	上書きする場合にも使えますし、違ったパッケージのファイルを
	上書きする場合にも使えます
	(または、そのプログラムを包含するラッパーを提供します)。
      </p>

      <p>	
<!-- ORIG
	Before deciding to use a diversion, read <ref
	id="alternatives"> to see if you really want a diversion
	rather than several alternative versions of a program.
 ORIG -->
	退避バージョン (diversion) の使用を決定する前に、
	<ref id="alternatives"> を読んでください。本当に、
	退避バージョンを必要としているのか、単にあるプログラムの
	いくつかの代替バージョンを必要としているのではないのか、
	確認してください。
      </p>

      <p>	
<!-- ORIG
	There is a diversion list, which is read by <prgn>dpkg</prgn>,
	and updated by a special program <prgn>dpkg-divert</prgn>.
	Please see <manref name="dpkg-divert" section="8"> for full
	details of its operation.
 ORIG -->
	特別なプログラム、<prgn>dpkg-divert</prgn> は、退避された
	パッケージのバージョンリストを更新します。そして、そのリストは、
	<prgn>dpkg</prgn> によって使用されます。詳しくは、
	<manref name="dpkg-divert" section="8"> をごらんください。
      </p>

      <p>	
<!-- ORIG
	When a package wishes to divert a file from another, it should
	call <prgn>dpkg-divert</prgn> in its preinst to add the
	diversion and rename the existing file.  For example,
	supposing that a <prgn>smailwrapper</prgn> package wishes to
	install a wrapper around <tt>/usr/sbin/smail</tt>:
 ORIG -->
	パッケージが、その中のファイルを他のものと置きかえようと
	する場合、preinst スクリプト中から、<prgn>dpkg-divert</prgn>
	を呼ばなければいけません。そして、退避バージョンを付けくわえ、
	既存のファイルの名前を変更します。例えば、
	<prgn>smailwrapper</prgn> というパッケージが、 
	<tt>/usr/sbin/smail</tt> を包含するラッパーを
	インストールしようとしている場合を考えます:
	<example>
  if [ install = "$1" ]; then
     dpkg-divert --package smailwrapper --add --rename \
        --divert /usr/sbin/smail.real /usr/sbin/smail
  fi
<!-- ORIG
	</example> Testing <tt>$1</tt> is necessary so that the script
	doesn't try to add the diversion again when
	<prgn>smailwrapper</prgn> is upgraded.  The <tt>−package
	smailwrapper</tt> ensures that <prgn>smailwrapper</prgn>'s
	copy of <tt>/usr/sbin/smail</tt> can bypass the diversion and
	get installed as the true version.
 ORIG -->
	</example>最初の引数 <tt>$1</tt> をテストしているのは、
	<prgn>smailwrapper</prgn> を更新するときに、スクリプトが
	再度退避操作を行わないようにするためです。オプションの
	<tt>--package smailwrapper</tt> は、<prgn>smailwrapper</prgn>
	のコピーである <tt>/usr/sbin/smail</tt> の退避バージョンを
	作らず、かつ<prgn>smailwrapper</prgn> が本来のバージョンとして
	インストールされることを保証します。
      </p>

      <p>	
<!-- ORIG
	The postrm has to do the reverse:
 ORIG -->
	postrm の場合はちょうどこの逆を行います:
	<example>
  if [ remove = "$1" ]; then
     dpkg-divert --package smailwrapper --remove --rename \
        --divert /usr/sbin/smail.real /usr/sbin/smail
  fi
	</example>
      </p>

      <p>	
<!-- ORIG
	Do not attempt to divert a file which is vitally important for
	the system's operation - when using <prgn>dpkg-divert</prgn>
	there is a time, after it has been diverted but before
	<prgn>dpkg</prgn> has installed the new version, when the file
	does not exist.</p>
 ORIG -->
	システムの運用に重要なファイルを退避しようとしないで下さい -
	<prgn>dpkg-divert</prgn> の使用時には、ファイルの退避が
	行われた後に <prgn>dpkg</prgn> が新しいバージョンを
	インストールするまでの間、そのファイルが存在しない
	タイミングがあるのです。</p>
    </chapt>