reportbug を用いて Debian のバグを報告する方法

Debian のバグは、reportbug プログラムを用いて報告することを強くお勧めします。これをインストールして起動するには、単に次のように実行します:

# aptitude install reportbug
$ reportbug

reportbug は、ステップバイステップの手順でバグ報告作業を導いてくれます。

reportbug の対話的なプロンプトで解決されない問題が生じた場合は、 この文書の以下の内容を参照するか、Debian ユーザメーリングリストに質問するとよいでしょう。

メールを用いて Debian のバグを報告する方法 (および reportbug の高度な使い方)

バグ報告を送るに注意する重要事項

どのパッケージに対するバグ報告なのか?

バグ報告をどのパッケージに対してすべきか知る必要があります。 この情報を取得する方法について知りたい場合は、この例を参照してください (報告しようとしているバグが既に報告されていないか調べるのにこの情報を使用するでしょう)。

どのパッケージに対してバグを報告すべきか判らない場合は、 Debian ユーザメーリングリストで助言を求めてください。

問題がひとつのパッケージではなくて一般的な Debian のサービスに関わる場合は、いくつかの擬似パッケージメーリングリストに対して報告するのが良いでしょう。

バグが既に報告されていないか?

バグ報告を投稿する前に、バグが既に報告されていないか確認すべきです。バグ検索フォームのパッケージ名オプションを用いると、 特定のパッケージに対して報告されているバグを調べることができます。 既にバグ報告 #<番号> で報告されている場合は、 新たにバグを報告する代わりに、<番号>@bugs.debian.org 宛ての電子メールでコメントを投稿してください。

バグが複数ある場合は複数の報告を送るように

関係のない複数のバグ、特に異なるパッケージのものをひとつのバグ報告と しないでください。

バグを上流に報告しないように

Debian にバグを報告する場合、そのバグが Debian のパッケージにのみ存在する可能性もあるので、 開発元のソフトウェアメンテナにはバグ報告のコピーを送らないようにしてください。 必要であれば、パッケージのメンテナがバグ報告を転送します。

電子メールを使ってバグ報告を送る

Debian でバグ報告をするには、以下で説明する特殊な書式で、 submit@bugs.debian.org に電子メールを送ってください。 reportbug (上記を参照) は、あなたのために電子メールを適切に整形してくれます。これを使うようにしてください!

ヘッダ

どのような電子メールでも同じですが、メールヘッダの Subject 行には明解でわかりやすい説明を含めなくてはいけません。 あなたがつけたサブジェクトは、 バグ追跡システムにおいてバグの最初のタイトルとして使用されます。 バグの内容がわかるようなサブジェクトをつけるよう心掛けてください!

バグ報告のコピーを、(メーリングリストなどの) 他の人にも送りたい場合は、 通常の電子メールのヘッダではなく下記の別の方法を使うようにしてください。

擬似ヘッダ

バグ報告の冒頭の部分は、 そのバグ報告がどのパッケージのどのバージョンを対象としているかについての情報を含む擬似ヘッダです。 メッセージ本文の 1 行目は擬似ヘッダを含んでいなければなりません。つまり、次のようにすべきです:

Package: <パッケージ名>

<パッケージ名> の部分を、バグのあるパッケージの名前に置き換えてください。

2 行目は以下のようになります:

Version: <パッケージバージョン>

<パッケージバージョン> は、パッケージのバージョンに置き換えてください。 ここには、バージョン番号以外のものを含めないでください。バグ追跡システムは、 このバグがどのリリースに影響するか調べるのにこのフィールドを頼りにしています。

擬似ヘッダの Package 行は正しく記述してください。 バグ追跡システムは、パッケージのメンテナにメッセージを送るために、 この行を使っています。この情報を調べる方法のを参照してください。

その他の有効な擬似ヘッダについては、「その他の擬似ヘッダ」を参照してください。

バグ報告の本文

バグ報告には以下の情報を記述してください:

その他関係ありそうな詳しい情報はなんでも書いて下さい。 情報をつめ込みすぎても長大なバグ報告になってしまう恐れはほとんどありません。 問題を再現するために使用するファイルも、 小さいものでしたら一緒にバグ報告に含めて下さい (ファイルのサイズが大きい場合は、できるだけ、 公共がアクセス可能なウェブサイトからそのファイルを取得できるようにすることを検討してください)。

開発者があなたの問題を解決する手助けとなる、さらなるアドバイスもあります。 効果的なバグ報告方法を読んでください。

バグ報告の例

ヘッダや擬似ヘッダのついたバグ報告は以下のようなものになります。

  To: submit@bugs.debian.org
  From: diligent@testing.linux.org
  Subject: Hello says `goodbye'

  Package: hello
  Version: 1.3-16

  When I invoke `hello' without arguments from an ordinary shell
  prompt it prints `goodbye', rather than the expected `hello, world'.
  Here is a transcript:

  $ hello
  goodbye
  $ /usr/bin/hello
  goodbye
  $

  I suggest that the output string, in hello.c, be corrected.

  I am using Debian GNU/Linux 2.2, kernel 2.2.17-pre-patch-13
  and libc6 2.1.3-10.

バグ報告の写しを他のアドレスへ送る

バグ報告の写しを、通常の送付先である debian-bugs-dist やパッケージメンテナ以外に送らなければならないこともあります。

アドレスを CC 行に記述することで、 バグ報告を別のアドレスにも送付することができますが、その写しの方には Reply-To 行や Subject 行にバグ報告番号が付加されません。 このようなメールに返事をする場合、おそらくヘッダに submit@bugs.debian.org エントリが残されたままになりますので、 そのメッセージは新しいバグ報告として記録されてしまいます。 そのため、重複したバグ報告が多数発生してしまいます。

正しい 方法は X-Debbugs-CC ヘッダを使用することです。 以下のような行をメッセージのメールヘッダに追加して下さい。

 X-Debbugs-CC: other-list@cosmic.edu

このように記述すると、バグ追跡システムは debian-bugs-dist と同様に X-Debbugs-CC 行に書いてあるアドレスにもバグ報告を送付します。

メールのループを回避するチェックに引っかかってしまうので、 このような写しを他のバグ報告のアドレスに送るのは避けてください。 この仕組みにより付けられたバグ番号は、新しいものに置き換えられてしまうので、 このような用途に X-Debbugs-CC を使うのはあまり意味がありません。代わりに通常の CC ヘッダを使ってください。

この機能は、quiet へ送付する時に組みあわせると有効であることが多いです。 以下を参照して下さい。

その他の擬似ヘッダ

重要度 (severity レベル)

報告するバグが特に深刻である場合や、単に将来的な要望である場合、 バグ報告を行う際にそのバグの重要度 (severity レベル) を設定することができます。しかし、これは必須ではありません。 あなたが指定していない場合 (あるいは不適切な重要度を指定した場合) でも、パッケージメンテナがあなたの報告に対して適切な severity レベルを指定することがあります。

重要度を設定するには、以下のように擬似ヘッダを記述してください:

Severity: <severity>

<severity> は有効な重要度に置き換えてください。 重要度については、上級者向けの文書に記載されています。

タグを設定する

報告するバグにタグを設定することができます。例えば、 もしあなたがパッチをバグ報告に含めた場合、patch タグを設定したいかもしれません。これは必須ではありませんが、 あなたの報告が適切なら開発者がタグを設定するでしょう。

タグを設定するには、擬似ヘッダにこのような行を付け加えてください:

Tags: <tags>

<tags> を 上級者向けの文書に記載されているような、 1つ以上の利用可能なタグで置きかえてください。 複数のタグは、コンマ、スペース、またはその両方で区切ってください。

User: <username>
Usertags: <usertags>

<usertags> を 1 つ以上のユーザタグで置き換えてください。 複数のタグは、コンマ、スペース、またはその両方で区切ってください。 <username> を指定するとユーザのタグが設定されます。 そうでない場合には、送信者の電子メールアドレスが username として使用されます。

転送先の設定

Forwarded: foo@example.com

は、その新規に投稿するバグに、foo@example.com に転送されたという印をつけます。詳しくは、開発者用ドキュメントの『バグ報告を転送したことの記録』を参照してください。

所有の主張

Owner: foo@example.com

は、このバグを修正する責任が現在 foo@example.com にあることを示します。 詳しくは、開発者用ドキュメントの『バグの所有者を変更する』を参照してください。

ソースパッケージ

Source: foopackage

Package: と等価ですが、バグが foopackage のソースパッケージに存在することを示します。 ほとんどのパッケージのほとんどのバグについては、 このオプションを使いたくなることはないでしょう。

制御コマンド

Control: 制御コマンド

control@bugs.debian.org 宛に送らなければ効かない全コマンドを submit@bugs.debian.orgnnn@bugs.debian.org 宛に送った場合にも効くようにします。 -1 はまず現在のバグ (つまり submit@ へのメールで作成されたバグや nnn@ を指定して送られたバグ) を参照します。 有効な制御コマンドについてのさらなる詳細はサーバ操作文書を参照してください。

例えば、以下の擬似ヘッダ

Control: retitle -1 this is the title
Control: severity -1 normal
Control: summary -1 0
Control: forward -1 http://bugs.debian.org/nnn

をメッセージに含めて 12345@bugs.debian.org 宛てに送ると、12345 の題名が変更され、重要度が変更され、サマリがセットされ、 バグの転送先を記録します。

X-Debbugs- ヘッダ

最後に、お使いの MUA でヘッダの編集ができない場合、 様々な X-Debbugs- ヘッダを擬似ヘッダに設定してもかまいません。

その他の情報

別の報告用アドレス (ちょっとした、あるいは大量のバグ報告)

バグ報告がささいなこと、 たとえばドキュメントの誤字やちょっとしたパッケージ構築の問題などの場合は、 適切な重要度を設定したうえで submit@bugs.debian.org のかわりに maintonly@bugs.debian.org に報告してください。 maintonly は、バグ報告をパッケージメンテナだけに転送して BTS メーリングリストには転送しません。

一度にたくさんのバグ報告をする場合は、絶対に maintonly@bugs.debian.org を使うべきです。これにより、BTS メーリングリストに冗長なトラフィックをおこすことを避けられます。 たくさんの同じようなバグ報告をする前に、要約を debian-bugs-dist にポストする方が良いでしょう。

すでにメンテナに知らせてあるバグ報告をバグ追跡システムに送りたい場合には、 quiet@bugs.debian.org が使えます。quiet@bugs.debian.org に送ったバグ報告はどこにも転送されずに、ただ記録だけされます。

別の報告用アドレスを使った場合は、 バグ報告システムは転送するメッセージに対して、 その返信がデフォルトで元の報告と同様に処理されるように Reply-To を設定します。つまり、maintonly への返信は nnn@bugs.debian.org ではなく nnn-maintonly@bugs.debian.org になるということです。 もちろん、返信者がわざと書き換えていなければ、ですが。

受信通知

通常バグ追跡システムは、 新しいバグを報告したり既存のバグに追加の情報を提出したときに、 報告者にメールで受信通知を返します。もしこの受信通知を受け取りたくなければ、 X-Debbugs-No-Ack ヘッダまたは疑似ヘッダをメールに入れてください (このヘッダの中身は重要ではありません)。 このヘッダを使って新しいバグを報告した場合、 バグ番号を得るのに自らウェブインタフェースを確認する必要があります。

このヘッダは、control@bugs メールサーバからの通知を妨げませんので、注意が必要です。これらの通知には、 読んで対処すべきエラーメッセージが含まれているかもしれないからです。

spam 対策とメールの喪失

バグ追跡システムは、spam が BTS に紛れ込まないことを確認するために設計された やや大規模なルールセットを実装しています。 誤認識の数が最小になるように努めてはいますが、それが起きることはあります。 あなたのメールが誤認識されたと疑われるときには、助力のためにご遠慮なく owner@bugs.debian.org までご連絡ください。 メールが BTS に届かない別のよくある理由は、mail@foobar.com のようなアドレスからのメールを含む、procmail の FROM_DAEMON にマッチする アドレスを利用していることです。 あなたのメールが FROM_DAEMON にマッチしていると疑われるときは、 確認のために procmailrc(5) を参照してから、FROM_DAEMON にマッチしないアドレスを使用したメールを 再送してください。

不明なパッケージに対するバグ報告

関連するパッケージのメンテナが不明の場合、 宛て先が maintonly であっても、 バグ追跡システムはそのバグ報告を debian-bugs-dist に転送します。

maintonly@bugs.debian.org または nnn-maintonly@bugs.debian.org に送付する際は、 必ず、送付するバグ報告が正しいパッケージに割り当てられるようにしてください。 新たにバグ報告を発行する場合は、その本文先頭に Package 行を正しく記載してください。 既存のバグ報告については、 control@bugs.debian.org サービスを利用して適切なものへ (再) 指定してください。

dpkg を使ってバグ報告に必要なパッケージ名とバージョンを調べる

あるコマンド、例えば grep についてのバグ報告に reportbug を使うときには、 以下のようにすることで自動的に正しいパッケージが選択され、 すぐに報告を書けるようになります: reportbug --file $(which grep)

dpkg --search を使ってどのパッケージからインストールされたのか調べることもできます。 dpkg --listdpkg --status を使うとインストール済パッケージのバージョンがわかります。

例:

$ which apt-get
/usr/bin/apt-get
$ type apt-get
apt-get is /usr/bin/apt-get
$ dpkg --search /usr/bin/apt-get
apt: /usr/bin/apt-get
$ dpkg --list apt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  apt            0.3.19         Advanced front-end for dpkg
$ dpkg --status apt
Package: apt
Status: install ok installed
Priority: standard
Section: base
Installed-Size: 1391
Maintainer: APT Development Team <deity@lists.debian.org>
Version: 0.3.19
Replaces: deity, libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: libapt-pkg2.7
Depends: libapt-pkg2.7, libc6 (>= 2.1.2), libstdc++2.10
Suggests: dpkg-dev
Conflicts: deity
Description: Advanced front-end for dpkg
 This is Debian's next generation front-end for the dpkg package manager.
 It provides the apt-get utility and APT dselect method that provides a
 simpler, safer way to install and upgrade packages.
 .
 APT features complete installation ordering, multiple source capability
 and several other unique features, see the Users Guide in
 /usr/doc/apt/guide.text.gz

その他の有用なコマンドやパッケージ

reportbug と同じパッケージに入っている querybts ツールは、 バグ追跡システムへの便利なテキストベースのインタフェースを提供します。

emacs ユーザは、 debian-el パッケージに含まれる debian-bug コマンドを使うこともできます。M-x debian-bug と入力すると、reportbug とよく似たやり方で、 全ての必要事項を尋ねられます。


その他の BTS ページ:


Debian BTS administrators <owner@bugs.debian.org>

Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd, 1994-1997 Ian Jackson.