付録A Debian メンテナツールの概要

目次

A.1. 主要なツール
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. パッケージチェック (lint) 用ツール
A.2.1. lintian
A.2.2. debdiff
A.3. debian/rules の補助ツール
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. パッケージ作成ツール
A.4.1. git-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. パッケージのアップロード用ツール
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. メンテナンスの自動化
A.6.1. devscripts
A.6.2. autotools-dev
A.6.3. dpkg-repack
A.6.4. alien
A.6.5. dpkg-dev-el
A.6.6. dpkg-depcheck
A.7. 移植用ツール
A.7.1. quinn-diff
A.7.2. dpkg-cross
A.8. ドキュメントと情報について
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-maintainers
A.8.5. debview

この章には、メンテナが利用できるツールについて大まかな概要が含まれています。以下は完全なものでも決定版的なものでもありませんが、よく使われているツールについての説明です。

Debian メンテナツールは、開発者を手助けし、重要な作業のために時間を作れるようにしてくれるものです。Larry Wall が言うように、やり方は一つではありません (there's more than one way to do it)。

高度なパッケージメンテナンスツールを使うのを好む人もいればそうではない人もいます。Debian は公式にはこの問題を不可知論であるとしています。どのようなツールでも作業ができるのであれば構いません。つまり、この章は誰もがどのツールを使うべきか、メンテナンス上で何をすべきかと要求する為のものではないということです。あるいは競合するツールを排して特定のツールを勧める訳でもありません。

パッケージの説明文のほとんどは実際のパッケージの説明から取ったものです。より詳細な情報はパッケージ内のドキュメントで確認できます。apt-cache show パッケージ名 コマンドでも情報を得られます。

以下のツールはどのメンテナであっても、必ず必要とするものです。

コンピュータ用のフリーオンライン辞書 (Free On-line Dictionary of Computing, FOLDOC) によると、「lint」は C コンパイラよりもより網羅的なチェックを行う Unix C 言語処理器とあります。パッケージ lint ツールは、パッケージ内の一般的な問題やポリシー違反を自動的に見つけてくれることで、パッケージメンテナを助けてくれます。

(devscripts パッケージ、devscripts より) debdiff は二つのパッケージのファイルのリストと control ファイルを比較します。前回のアップロードからバイナリパッケージ数が変わったことや、control ファイル内で何が変わったのかなどに気付く手助けをしてくれるなど、簡単なリグレッションテストとなります。もちろん、報告される変更の多くは問題ありませんが、様々なアクシデントを防止するのに役立ってくれるでしょう。

バイナリパッケージのペアに対して実行することができます:

debdiff package_1-1_arch.deb package_2-1_arch.deb

changes ファイルのペアに対してさえも実行できます:

debdiff package_1-1_arch.changes package_2-1_arch.changes

より詳細については、debdiff(1)を参照してください。

パッケージ構築ツールは debian/rules ファイルを書く作業を楽にしてくれます。これらが望ましい、あるいは望ましくない理由の詳細については 「ヘルパースクリプト」 を参照してください。

以下のパッケージは、パッケージ作成作業を手助けしてくれます。通常実行する dpkg-buildpackage と同様に、パッケージ作成支援の作業を取り扱ってくれます。

以下のパッケージはパッケージを公式アーカイブにアップロードする作業を自動化、あるいは単純化してくれるのに役立ちます。

dcut スクリプト (dput パッケージの一部、dput 参照)は、ftp アップロードディレクトリからファイルを削除するのに役立ちます。

以下のツールは changelog のエントリや署名行の追加、Emacs 内でのバグの参照から最新かつ公式の config.sub を使うようにするまで、様々なメンテナンス作業を自動化するのに役立ちます。

(devscripts パッケージ、devscripts より) dpkg-depcheck は、指定されたコマンドによって使われた全てのパッケージを確認するため、コマンドを strace の下で実行します。

Debian パッケージについていうと、これは新しいパッケージの Build-Depends 行を構成するのが必要になった際に役立ちます。dpkg-depcheck を通してビルド作業を実行すると、最初の大まかなビルドの依存関係を良い形で得られます。例えば以下の様にします:

dpkg-depcheck -b debian/rules build

dpkg-depcheck は、特にパッケージが他のプログラムを実行するのに exec(2) を使っている場合に実行時の依存性を確認するのにも使えます。

より詳細については、dpkg-depcheck(1) を参照してください。

以下のツールが、移植作業者やクロスコンパイル作業に役立ちます。

以下のパッケージが、メンテナへの情報提供やドキュメントの作成に役立ちます。