[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>