[% title = "Debian Packaging Manual - 古いソースパッケージからの変換手続き" %]
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ next ]
ここでは、2.0.0.0 以前の形式のソースパッケージを新しい形式に 変換する手続きについて簡単にまとめます。
まず、 hello
パッケージをダウンロードして調べて
みることを強くお薦めします。そして、dpkg
プログラマーマニュアルのソースパッケージツールに関する部分を
お読みになってください。これらのツールに関する正確な機能の 詳細は、
dpkg-source(1)
を参照してください。
オリジナルのソースコードをダウンロードし、Debian の ソースのオリジナルツリーに必要なすべての編集を 行ってください。そして、それを package-upstream-version.orig/ か、 package_upstream-version.orig.tar.gz の中に置いて下さい。
すべての debian.* ファイル名を debian/* へと変更してください。いくつかの例外はありますが、 まずここから始めましょう。
debian/changelog ファイルを編集してください。- 必要であれば、作成するかファイル名を変更してください。 新しいリビジョンを適切な説明とともにファイルの先頭に 付け加えてください。また、Emacs がきちんとしたモードで 動作するように、ローカル変数のエントリを最後に 付けて加えてください。:
Local variables: mode: debian-changelog End:
debian/control ファイルを編集または 作成してください。
Version フィールドを削除してください。 そのフィールドの生成が通常の方法で行われて いなかった場合 (ソースのバージョンと違う場合)、 dpkg-gencontrol の -v オプションを 使用しなければいけません (以下をごらん下さい)。 Section、Priority、 Maintainer フィールドは、最初の空行より上に 置いてください。その他のたいていの部分は、 その下に来ます。
フィールド順を並びかえ、ソースパッケージの フィールドをバイナリパッケージのフィールドから 分割するように、空行を適切な位置に加えてください。
Source フィールドを加えて下さい。
Standards-Version フィールドを加えてください (このフィールドの詳細については、Debian Policy Manual を参照してください)。
それぞれのパッケージに対する Architecture フィールドを、any、all やその他に 変更してください。Architecture がない場合は 加えてください。
sed やその他のツールによって、バイナリ制御ファイルを
作成している場合には、同様の効果を得るために、 dpkg-gencontrol
の変数置換機能を 使用して下さい。通常生成される以外の情報
(.debファイルの詳細とは別に) を
.changesファイルに挿入することが必要な
場合は、debian/substvars を使ってください。
debian/rules を編集する:
source
と diff
、 あらゆる changes
と
dist
ターゲットを削除します。これらの項目は、現在、
パッケージと独立した方法で生成されていて、 debian/rules
によって指定されるものでは ありません。
binary
ターゲットを binary-arch
と
binary-indep
とに分割します;たいてい、すべての
binary
は binary-arch
に分類されます。binary
およびもし一方の binary-*
しか存在しなかった場合は他方を 作成してください - hello
パッケージから コピーすることもできます。
binary
ターゲットを変更して、 dpkg-gencontrol
を使って パッケージ制御ファイルを生成するように
します。そしてそれを、ファイルがすべてインストール
された後、ターゲット中の最後の chown
と chmod
コマンドの実行前に、 パッケージ制御ファイルの作成を行うように 移動します。
debian-tmp を debian/tmp に 変更します。
debian.{post,pre}{inst,rm} ファイルを debian/* に変更します。
トップでバージョン番号の設定を行っていた場合は、 削除します。
Debian 固有の修正と、上流のパッケージに関する 修正履歴がインストールされるようにします。
パッケージの共有ライブラリに関する依存性を決めるには、
dpkg-shlibdeps
を使用するように変更します。
今後、共有ライブラリ依存性をソースパッケージ中に 直接記述してはいけません。
debian/README ファイルが実はコピーライトに関する ファイルになっていないかチェックし、そうであった時は、 ファイル名を debian/copyright に変更します。 また、これに合わせて debian/rules ファイルを 編集してこのファイルとコピーライトファイルの インストール場所を、 /usr/doc/package/copyright から /usr/doc/copyright/package へと 変更します。debian/README が コピーライトファイルでなかった場合は、別途 debian/copyright を用意します。 README ファイルをどう処理するかは、各自で判断してください。
その他、時代遅れなところや問題がないかチェックします。
Package_Revision、Package-Revision、 Revision の各フィールドを削除してください。
Optional フィールドを Suggestsに、 Recommended フィールドを Recommends に変更してください。
/usr/doc/examples/package ディレクトリを /usr/doc/package/examples に変更してください。
man ページが圧縮されてインストールされているかを 確認します。
説明文が、さらに詳細な説明部分を持っているか、また その詳細部分が正しいフォーマットになっているのかを チェックします。さらに、パッケージを インストールするかどうか考えているユーザに、有意義で 有用な情報を提供できているかどうかといった点も チェックします。
もう一度すべてを見直します。
dpkg-buildpackage -us -uc -sa -rwhatever を用いて構築テストを行います。出来あがってきたパッケージの ファイルのパーミッションと場所を dpkg-deb --contents によってチェックします。 この時、ソースパッケージの構築がうまくいったかどうかも チェックします。さらに、バイナリパッケージの テストインストール、ソースパッケージの展開テストを 行ってください。
リリース版には署名をしてください。署名を行うには、 dpkg-buildpackage -sa を使ってすべてを 再構築し直す方法と、.dsc に PGP 署名してから dpkg-genchanges -sa で .changes ファイルを再構築し、更に .changes に PGP 署名する方法の 2 通りがあります。
新形式のソースパッケージを初めて構築またはアップロードするとき
には、dpkg-buildpackage
および dpkg-genchanges
に
-sa オプションを 使用することが大切です。-sa
オプションを使用しないと、 パッケージの Debian
リビジョンがたまたまデフォルトである 0 もしくは 1
でない場合、.changes
ファイルに掲載されるアップロードファイルに、オリジナルソース tar
ファイルが含まれないことになります。つまり、FTP サイトに
アップロードされません。-sa オプションを
使用すると、デフォルトでオリジナルのソースを含むように パッケージします。
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ next ]
Debian Packaging Manual
version revision 1.13, 2000-08-22ijackson@gnu.ai.mit.edu
bweaver@debian.org
schwarz@debian.org
srivasta@debian.org
J.D.Gilbey@qmw.ac.uk
debian-policy@lists.debian.org
shayase@tky3.3web.ne.jp
debian-doc@debian.or.jp