[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 次のページ ]
ここでは, 公式アーカイブにパッケージをアップロードする前に、作成したパッケージのエラーをあなた自身で確認するために知っておかなければならない方法について、幾つか述べます。
あなたのマシン以外でのテストもまた良いアイデアです。以下に述べるすべてのテストにおける、どんな警告とエラーについてでもしっかりと確認しておかなければなりません。
あなたのパッケージが問題なくインストールできるかどうかをテストしなければなりません。debi(1)
コマンドはあなたが作成した全てのバイナリパッケージのインストールテストに役立ちます。
$ sudo debi gentoo_0.9.12-1_i386.changes
別のシステムでインストール時に問題が起きるのを防ぐために、Debian
アーカイブよりダウンロードした
Contents-i386
ファイルを用いて、他の既存のパッケージと重複するファイルがないことを確認しておかなければなりません。apt-file
コマンドはこの作業において恐らく役に立つでしょう。重複するファイルが存在するならば、実際に問題になることを回避するために
alternatives (update-alternatives(1)
参照)を用いて他の影響のあるパッケージと調整するか、debian/control
に
Conflicts エントリを追加して下さい。
全てのメンテナスクリプト、すなわち
preinst
、prerm
、postinst
そして
postrm
ファイルは、それが
debhelper
プログラムで自動生成されたのでない場合は、非常に重要です。あなたが新米メンテナならばこれらは使わないで下さい({post|pre}{inst|rm}
ファイル, 第 5.18 節 を参照して下さい)。
パッケージがこれらの重要なメンテナスクリプトを使用するならば、インストールだけではなく、削除、完全削除
(purge)、そしてアップグレードについてもテストしておかなければなりません。多くのメンテナスクリプトのバグは削除もしくは完全削除の場合に発生します。これらのテストのためには、以下の様に
dpkg
コマンドを実行します。
$ sudo dpkg -r gentoo $ sudo dpkg -P gentoo $ sudo dpkg -i gentoo_version-revision_i386.deb
以下のような順番で実行すべきでしょう。
(可能な場合は)前回バージョンをインストールします。
旧バージョンからアップグレードします。
旧バージョンになるよう、ダウングレードします (オプション)。
完全削除 (purge) します。
新しいパッケージとしてインストールします。
削除します。
もう一度インストールします。
完全削除 (purge) します。
これが最初に作成したパッケージならば、将来発生するかもしれない問題を防ぐために、異なるバージョンのダミーパッケージを作成すべきです。
あなたのパッケージが過去の Debian にてリリースされていた場合には、人々は大抵最新の Debian のリリース版に含まれているバージョンからパッケージのアップグレードをするであろう、ということに配慮しましょう。上記の手順で、そのバージョンからきちんとアップグレードできることを、忘れずに確認しておいてください。
ダウングレードは公式にはサポートされていませんが、これをサポートしておいてくれると素敵ですね。
lintian
パッケージ
lintian(1)
を .changes
に対して実行しましょう。lintian
コマンドはパッケージ作成時のよくある間違いをチェックするために多くのテストスクリプトを実行します。[51]
$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes
もちろん、.changes
のファイル名はあなたが作成したパッケージに置き換えて下さい。lintian
コマンドの出力は以下のようにマークされています。
E: はエラーです。 確実にポリシー違反もしくはパッケージエラーです。
W: は警告です。 ポリシー違反もしくはパッケージエラーである可能性があります。
I: は参考情報です。パッケージのとある性質について参考となる情報を提供します。
N: は覚書です。 デバッグに有用な情報を詳述します。
O: は上書きの通知です。 lintian-overrides
ファイルによりメッセージが上書きされたメッセージです。これは
--show-overrides
オプションを指定した際に表示されます。
警告が出た場合には、パッケージを調整するか、その警告が不当であることを確認するして下さい。もし警告が不当である場合には
{package.|source/}lintian-overrides
ファイル, 第 5.13 節 で述べた lintian-overrides
を作成して下さい。
dpkg-buildpackage
によるパッケージの生成と
lintian
の実行は、debuild(1)
コマンド、もしくは pdebuild(1)
コマンドを用いて一度に実行することができます。
debc
コマンド
debc(1)
コマンドを用いるとバイナリパッケージに含まれるファイルの一覧が得られます。
$ debc package.changes
debdiff
コマンド
debdiff(1)
コマンドを用いると、二つのソースパッケージに含まれているファイルを比較することができます。
$ debdiff old-package.dsc new-package.dsc
debdiff(1)
コマンドは二つのバイナリパッケージに含まれるファイルの一覧を比較することもできます。
$ debdiff old-package.changes new-package.changes
これらのコマンドは、ソースパッケージ中でどんな変更をしたのか、バイナリパッケージの中で意図せず削除したり配置を間違えたりしていないか、そしてバイナリパッケージの更新時に不用意な変更をしていないかどうか, といった事柄を確認するのに便利です。
interdiff
コマンド
interdiff(1)
コマンドを用いると、二つの
.diff.gz
ファイルを比較することができます。旧来の 1.0
ソース形式でパッケージを更新している場合には、パッケージのアップデート時にソースに意図しない変更がないことを確認するのに便利です。
$ interdiff -z old-package.diff.gz new-package.diff.gz
mc
コマンド
mc(1)
の様に、*.deb
パッケージファイルだけではなく、*.udev
,
*.debian.tar.gz
, *.diff.gz
,
*.orig.tar.gz
の中身を閲覧することができるファイルマネージャを用いると、多くのファイルの検査が直感的に行なえます。
不要なファイルや長さゼロのファイルがバイナリパッケージとソースパッケージに含まれていないことを確認して下さい。
大抵は、これらの不要なファイルは正しく削除されずに残ってしまっています。rules
を調整しこれを補正して下さい。
[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 次のページ ]
Debian 新メンテナガイド
version 1.2.25, 2010-12-21 14:06:56 UTCjoy-mg@debian.org
nabetaro@debian.or.jp
yyatsuo@gmail.com
uwabami@gfd-dennou.org
lurdan@gmail.com
osamu@debian.org