警告! この翻訳は古過ぎるため、原文を御覧ください。
reportbug を用いて Debian のバグを報告する方法
Debian のバグは、reportbug
プログラムを用いて報告することを強くお勧めします。これをインストールして起動するには、単に次のように実行します:
# apt-get install reportbug
$ reportbug
reportbug は、ステップバイステップの手順でバグ報告作業を導いてくれます。
reportbug の対話的なプロンプトで解決されない問題が生じた場合は、 この文書の以下の内容を参照するか、Debian ユーザメーリングリストに質問するとよいでしょう。
メールを用いて Debian のバグを報告する方法 (および reportbug の高度な使い方)
バグ報告を送る前に注意する重要事項
どのパッケージに対するバグ報告なのか?
バグ報告をどのパッケージに対してすべきか知る必要があります。 この情報を取得する方法について知りたい場合は、この例を参照してください (報告しようとしているバグが既に報告されていないか調べるのにこの情報を使用するでしょう)。
どのパッケージに対してバグを報告すべきか判らない場合は、 Debian ユーザメーリングリストで助言を求めてください。
問題がひとつのパッケージではなくて一般的な Debian のサービスに関わる場合は、いくつかの擬似パッケージやメーリングリストに対して報告するのが良いでしょう。
バグが既に報告されていないか?
バグ報告を投稿する前に、バグが既に報告されていないか確認すべきです。バグ検索フォームのパッケージ名オプションを用いると、 特定のパッケージに対して報告されているバグを調べることができます。 既にバグ報告 #<番号> で報告されている場合は、 新たにバグを報告する代わりに、<番号>@bugs.debian.org 宛ての電子メールでコメントを投稿してください。
バグが複数ある場合は複数の報告を送るように
関係のない複数のバグ、特に異なるパッケージのものをひとつのバグ報告と しないでください。
バグを上流に報告しないように
Debian にバグを報告する場合、そのバグが Debian のパッケージにのみ存在する可能性もあるので、 開発元のソフトウェアメンテナにはバグ報告のコピーを送らないようにしてください。 必要であれば、パッケージのメンテナがバグ報告を転送します。
電子メールを使ってバグ報告を送る
Debian でバグ報告をするには、以下で説明する特殊な書式で、
[email protected]
に電子メールを送ってください。
reportbug
(上記を参照) は、あなたのために電子メールを適切に整形してくれます。これを使うようにしてください!
ヘッダ
どのような電子メールでも同じですが、メールヘッダの Subject
行には明解でわかりやすい説明を含めなくてはいけません。
あなたがつけたサブジェクトは、
バグ追跡システムにおいてバグの最初のタイトルとして使用されます。
バグの内容がわかるようなサブジェクトをつけるよう心掛けてください!
バグ報告のコピーを、(メーリングリストなどの) 他の人にも送りたい場合は、 通常の電子メールのヘッダではなく下記の別の方法を使うようにしてください。
擬似ヘッダ
バグ報告の冒頭の部分は、 そのバグ報告がどのパッケージのどのバージョンを対象としているかについての情報を含む擬似ヘッダです。 メッセージ本文の 1 行目は擬似ヘッダを含んでいなければなりません。つまり、次のようにすべきです:
Package: <パッケージ名>
<パッケージ名>
の部分を、バグのあるパッケージの名前に置き換えてください。
2 行目は以下のようになります:
Version: <パッケージバージョン>
<パッケージバージョン>
は、パッケージのバージョンに置き換えてください。
ここには、バージョン番号以外のものを含めないでください。バグ追跡システムは、
このバグがどのリリースに影響するか調べるのにこのフィールドを頼りにしています。
擬似ヘッダの Package
行は正しく記述してください。
バグ追跡システムは、パッケージのメンテナにメッセージを送るために、
この行を使っています。この情報を調べる方法の例を参照してください。
その他の有効な擬似ヘッダについては、「その他の擬似ヘッダ」を参照してください。
バグ報告の本文
バグ報告には以下の情報を記述してください:
- 画面に出力されたか、ログファイルに残されたエラーメッセージの正確 で完全 な写し。これは非常に重要です!
- 問題を再現するための正確なキー操作や手順。
- 不正な動作についての説明。正常時に期待される動作と、 実際に起きた振舞いを正確に。これらを示すには、 実際の実行例の写しを添付すると良いでしょう。
- もしあれば、修正案またはパッチ。
- 問題がおきたプログラムの詳細な設定。 設定ファイルのすべての内容を含めて下さい。
- バグのあるパッケージが依存しているすべてのパッケージのバージョン。
- 現在使用しているカーネルのバージョン
(
uname -a
で調べられます)。 現在使用している共有 C ライブラリのバージョン (ls -l /lib/*/libc.so.6
やapt show libc6 | grep ^Version
で調べられます)。 その他、必要と思われるあなたの Debian システムの詳細はなんでも。 例えば、Perl スクリプトに問題がある場合は、おそらく「perl」 バイナリのバージョンも報告すべきでしょう (perl -v
やdpkg -s perl | grep ^Version:
で調べられます)。 - あなたのシステムにおける必要と思われるハードウェアの詳細。 デバイスドライバの問題を報告する場合は、 システム上のすべてのハードウェアを列挙して下さい。 IRQ や I/O アドレスの衝突が原因であることがよくありますから。
- reportbug
をインストール済みの場合は、
reportbug --template -T none -s none -S normal -b --list-cc none -q <パッケージ名>
の出力も有用です。 これには、メンテナ特有のスクリプトの出力やバージョン情報が含まれているからです。
その他関係ありそうな詳しい情報はなんでも書いて下さい。 情報をつめ込みすぎても長大なバグ報告になってしまう恐れはほとんどありません。 問題を再現するために使用するファイルも、 小さいものでしたら一緒にバグ報告に含めて下さい (ファイルのサイズが大きい場合は、できるだけ、 公共がアクセス可能なウェブサイトからそのファイルを取得できるようにすることを検討してください)。
開発者があなたの問題を解決する手助けとなる、さらなるアドバイスもあります。 効果的なバグ報告方法を読んでください。
バグ報告の例
ヘッダや擬似ヘッダのついたバグ報告は以下のようなものになります。
To: [email protected] From: [email protected] 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
行にバグ報告番号が付加されません。
このようなメールに返事をする場合、おそらくヘッダに
[email protected]
エントリが残されたままになりますので、
そのメッセージは新しいバグ報告として記録されてしまいます。
そのため、重複したバグ報告が多数発生してしまいます。
正しい 方法は X-Debbugs-CC
ヘッダを使用することです。
以下のような行をメッセージのメールヘッダに追加して下さい。
X-Debbugs-CC: [email protected]
このように記述すると、バグ追跡システムは debian-bugs-dist
と同様に X-Debbugs-CC
行に書いてあるアドレスにもバグ報告を送付します。
写しを複数のアドレスに送付したいときは、そのアドレスをコンマ区切りで連ねて
X-Debbugs-CC
行に 1 行で書いてください。
メールのループを回避するチェックに引っかかってしまうので、
このような写しを他のバグ報告のアドレスに送るのは避けてください。
この仕組みにより付けられたバグ番号は、新しいものに置き換えられてしまうので、
このような用途に 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: [email protected]
は、その新規に投稿するバグに、[email protected] に転送されたという印をつけます。詳しくは、開発者用ドキュメントの『バグ報告を転送したことの記録』を参照してください。
所有の主張
Owner: [email protected]
は、このバグを修正する責任が現在 [email protected] にあることを示します。 詳しくは、開発者用ドキュメントの『バグの所有者を変更する』を参照してください。
ソースパッケージ
Source: foopackage
は Package:
と等価ですが、バグが foopackage
のソースパッケージに存在することを示します。
ほとんどのパッケージのほとんどのバグについては、
このオプションを使いたくなることはないでしょう。
制御コマンド
Control: 制御コマンド
[email protected]
宛に送らなければ効かない全コマンドを [email protected]
や [email protected]
宛に送った場合にも効くようにします。
-1 はまず現在のバグ (つまり submit@ へのメールで作成されたバグや
nnn@ を指定して送られたバグ) を参照します。
有効な制御コマンドについてのさらなる詳細はサーバ操作文書を参照してください。
例えば、以下の擬似ヘッダ
Control: retitle -1 this is the title Control: severity -1 normal Control: summary -1 0 Control: forwarded -1 https://bugs.debian.org/nnn
をメッセージに含めて [email protected]
宛てに送ると、12345
の題名が変更され、重要度が変更され、サマリがセットされ、
バグの転送先を記録します。
X-Debbugs- ヘッダ
最後に、お使いの MUA でヘッダの編集ができない場合、
様々な X-Debbugs-
ヘッダを擬似ヘッダに設定してもかまいません。
その他の情報
別の報告用アドレス (ちょっとした、あるいは大量のバグ報告)
バグ報告がささいなこと、
たとえばドキュメントの誤字やちょっとしたパッケージ構築の問題などの場合は、
適切な重要度を設定したうえで
[email protected]
のかわりに [email protected]
に報告してください。
maintonly
は、バグ報告をパッケージメンテナだけに転送して
BTS メーリングリストには転送しません。
一度にたくさんのバグ報告をする場合は、絶対に
[email protected]
を使うべきです。これにより、BTS
メーリングリストに冗長なトラフィックをおこすことを避けられます。
たくさんの同じようなバグ報告をする前に、要約を debian-bugs-dist
にポストする方が良いでしょう。
すでにメンテナに知らせてあるバグ報告をバグ追跡システムに送りたい場合には、
[email protected]
が使えます。[email protected]
に送ったバグ報告はどこにも転送されずに、ただ記録だけされます。
別の報告用アドレスを使った場合は、
バグ報告システムは転送するメッセージに対して、
その返信がデフォルトで元の報告と同様に処理されるように
Reply-To
を設定します。つまり、maintonly
への返信は nnn@bugs.debian.org
ではなく
nnn[email protected]
になるということです。
もちろん、返信者がわざと書き換えていなければ、ですが。
受信通知
通常バグ追跡システムは、
新しいバグを報告したり既存のバグに追加の情報を提出したときに、
報告者にメールで受信通知を返します。もしこの受信通知を受け取りたくなければ、
X-Debbugs-No-Ack
ヘッダまたは疑似ヘッダをメールに入れてください
(このヘッダの中身は重要ではありません)。
このヘッダを使って新しいバグを報告した場合、
バグ番号を得るのに自らウェブインタフェースを確認する必要があります。
このヘッダは、control@bugs
メールサーバからの通知を妨げませんので、注意が必要です。これらの通知には、
読んで対処すべきエラーメッセージが含まれているかもしれないからです。
spam 対策とメールの喪失
バグ追跡システムは、spam が BTS に紛れ込まないことを確認するために設計された
やや大規模なルールセットを実装しています。
誤認識の数が最小になるように努めてはいますが、それが起きることはあります。
あなたのメールが誤認識されたと疑われるときには、助力のためにご遠慮なく
[email protected]
までご連絡ください。
メールが BTS に届かない別のよくある理由は、[email protected]
のようなアドレスからのメールを含む、procmail の FROM_DAEMON にマッチする
アドレスを利用していることです。
あなたのメールが FROM_DAEMON にマッチしていると疑われるときは、
確認のために procmailrc(5)
を参照してから、FROM_DAEMON にマッチしないアドレスを使用したメールを
再送してください。
不明なパッケージに対するバグ報告
関連するパッケージのメンテナが不明の場合、
宛て先が maintonly
であっても、
バグ追跡システムはそのバグ報告を debian-bugs-dist
に転送します。
[email protected]
または
nnn[email protected]
に送付する際は、
必ず、送付するバグ報告が正しいパッケージに割り当てられるようにしてください。
新たにバグ報告を発行する場合は、その本文先頭に Package
行を正しく記載してください。
既存のバグ報告については、
[email protected]
サービスを利用して適切なものへ (再) 指定してください。
dpkg
を使ってバグ報告に必要なパッケージ名とバージョンを調べる
あるコマンド、例えば grep
についてのバグ報告に reportbug
を使うときには、
以下のようにすることで自動的に正しいパッケージが選択され、
すぐに報告を書けるようになります:
reportbug --file $(which grep)
dpkg --search
を使ってどのパッケージからインストールされたのか調べることもできます。
dpkg --list
や dpkg --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 <[email protected]> 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 ページ:
- バグ追跡システムメインページ
- バグ報告の勧め(使用説明書)
- WWW 以外でバグ報告のログを参照する方法
- バグ追跡システムの使用方法に関する開発者情報
- 電子メールでバグ報告を操作することに関する 開発者情報
- メールサーバリファレンスカード
- 電子メールによるバグ報告の取り寄せ
Debian BTS administrators <[email protected]>
Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd,
1994-1997 Ian Jackson.