Como relatar um bug no Debian usando o reportbug

Nós recomendamos fortemente que você reporte bugs no Debian usando o programa reportbug.

O reportbug é instalado por padrão na maior parte dos sistemas. Se não estiver disponível, ele pode ser instalado usando o sistema de administração de pacotes do seu sistema.

O reportbug pode ser iniciado pelo menu, no submenu "sistema", ou executado na linha de comando por reportbug.

Ele guiará você, passo a passo, no processo de reportar um bug.

Se você tiver questões que o processo interativo do reportbug não resolva, você pode consultar o restante da documentação abaixo ou perguntar na lista de discussão dos(as) usuários(as) Debian (em português) ou para a versão em inglês da lista de discussão dos(as) usuários(as) Debian.

Como relatar um bug no Debian usando o e-mail (e uso avançado do reportbug)

Pontos importantes a serem considerados antes de enviar seu relatório de bug

A qual pacote o seu relatório de bug pertence?

Você precisa saber a qual pacote o seu relatório de bug deve ser endereçado. Veja este exemplo para instruções sobre como encontrar esta informação. (Você usará esta informação para verificar se seu relatório de bug já foi relatado).

Se você não é capaz de determinar a qual pacote o ser relatório de bug deve ser endereçado, favor envie uma mensagem para a lista de discussão dos(as) usuários(as) Debian (em português) ou para a versão em inglês da lista de discussão dos(as) usuários(as) Debian pedindo aconselhamento.

Se o seu problema não está relacionado somente a um pacote, mas a algum serviço geral do Debian, existem diversos pseudopacotes ou mesmo listas de discussão que você pode usar para nos transmitir sua mensagem.

Seu relatório de bug já foi relatado?

Você deve verificar se seu relatório de bug já foi relatado antes de enviá-lo. Você pode ver quais bugs de um pacote específico foram relatados usando a opção "pacote" no formulário de busca de bugs. Se há um relatório de bug existente #<número>, você deve mandar seus comentários através de um e-mail para <número>@bugs.debian.org em vez de relatar um novo bug.

Enviando múltiplos relatórios para múltiplos bugs

Por favor, não relate múltiplos bugs não relacionados — especialmente os que são de pacotes diferentes — em um único relatório de bug.

Não relate bugs para o(a) autor(a) (upstream)

Se você relatar um bug no Debian, não envie uma cópia para os(as) mantenedores(as) originais do software por conta própria, pois é possível que o bug exista apenas no Debian. Se necessário, o(a) mantenedor(a) do pacote encaminhará o bug para os(as) mantenedores(as) principais.

Enviando o relatório de bug via e-mail

Você pode relatar bugs no Debian enviando um e-mail para submit@bugs.debian.org com um formato especial descrito abaixo. O reportbug (veja acima) formatará os e-mails apropriadamente para você; por favor, use-o!

Cabeçalhos

Como qualquer e-mail, você deve incluir uma linha de Assunto clara e descritiva no cabeçalho principal. O assunto que você definir será usado como o título inicial do bug no sistema de acompanhamento de bugs (BTS - "Bug Tracking System"), portanto escreva algo informativo!

Se você quiser enviar uma cópia de seu relatório de bug para destinatários adicionais (como listas de discussão), você não deverá usar os cabeçalhos de e-mail tradicionais, mas um método diferente, descrito abaixo.

Pseudocabeçalhos

A primeira parte do relatório de bug são os pseudocabeçalhos, que contêm informação sobre quais pacotes e versões aplicam-se ao seu relatório de bug. A primeira linha do corpo da mensagem tem que incluir um pseudocabeçalho. Ela deve mencionar:

Package: <nome-do-pacote>

Substitua <nome-do-pacote> pelo nome do pacote que possui o bug.

A segunda linha da mensagem deve conter:

Version: <versão-do-pacote>

Substitua <versão-do-pacote> pela versão do pacote. Por favor, não inclua aqui qualquer texto que não seja a própria versão, já que o sistema de acompanhamento de bugs se baseia neste campo para determinar quais releases (versões) são afetadas pelo bug.

Você precisa informar uma linha Package correta no pseudocabeçalho para que o sistema de acompanhamento de bugs entregue a mensagem para o(a) mantenedor(a) do pacote. Consulte este exemplo para orientações sobre como encontrar essa informação.

Para outros pseudocabeçalhos válidos, veja Pseudocabeçalhos adicionais.

O corpo do relatório

Por favor, inclua em seu relatório:

Inclua qualquer detalhe que pareça relevante — você não perde nada por fazer um longo relatório, então adicione muita informação. Se forem relatórios pequenos, por favor inclua quaisquer arquivos que você esteja usando para reproduzir o problema. (Se eles forem grandes, considere torná-los disponíveis em algum site web publicamente acessível, se possível).

Para maiores informações sobre como ajudar os(as) desenvolvedores(as) a solucionar seu problema, por favor, leia o documento como relatar bugs de maneira eficiente (em inglês).

Um exemplo de relatório de bug

Um relatório de bug, com o cabeçalho e o pseudocabeçalho, se assemelha a este:

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

  Package: hello
  Version: 1.3-16

  Quando eu invoco `hello' sem argumentos a partir de um shell comum
  o mesmo imprime `goodbye' ao invés do esperado `hello, world'.
  Aqui está uma transcrição:

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

  Eu sugiro que a string de saída, em hello.c, seja corrigida.

  Estou usando GNU/Linux Debian 2.2, kernel 2.2.17-pre-patch-13
  e libc6 2.1.3-10.

Lembre-se de escrever seu relatório de bug em inglês. Se precisar de ajuda, você pode enviar uma mensagem para debian-devel-portuguese@lists.debian.org ou para debian-l10n-portuguese@lists.debian.org.

Enviando cópias de relatórios de bugs para outros endereços

Algumas vezes é necessário enviar uma cópia do relatório de bug para algum outro endereço além de debian-bugs-dist e do(a) mantenedor(a) do pacote, que são os endereços para os quais normalmente se envia.

Você poderia fazer isso enviando uma cópia de seu relatório de bug (usando o campo CC) para o(s) outro(s) endereço(s). Mas desse modo as outras cópias não teriam o número do relatório de bug no campo Reply-To e na linha Assunto. Quando os destinatários responderem, eles provavelmente preservarão a entrada submit@bugs.debian.org no cabeçalho e terão suas mensagens enviadas como um novo relatório de bug. Isto leva a muitos relatórios duplicados.

A maneira correta de se fazer isso é usar o cabeçalho X-Debbugs-CC. Adicione uma linha como essa ao cabeçalho de sua mensagem:

 X-Debbugs-CC: outra-lista@cosmic.edu

Isto fará com que o sistema de acompanhamento de bugs envie uma cópia de seu relatório para o(s) endereço(s) na linha X-Debbugs-CC e também para debian-bugs-dist.

Se quiser enviar cópias para mais de um endereço, adicione-os numa única linha X-Debbugs-CC, com o cuidado de separá-los por vírgulas.

Evite enviar estas cópias para o endereço de outros relatórios de bugs, já que elas serão pegas pela checagem que evita loops de mensagens. De qualquer forma, não há um bom motivo em usar X-Debbugs-CC para isto, já que o número do bug adicionado por este mecanismo será substituído por um outro; em vez disso, use o campo CC.

Este recurso pode geralmente ser combinado de maneira útil com quiet — veja abaixo.

Pseudocabeçalhos adicionais

Níveis de severidade

Se um relatório é de um bug particularmente sério (serious), ou é meramente uma requisição de novo recurso (wishlist), você pode definir o nível de severidade no momento em que o relata. Isto, no entanto, não é exigido e os(as) mantenedores(as) do pacote atribuirão um nível de severidade apropriado para seu relatório caso você não o faça (ou escolha a severidade errada).

Para atribuir um nível de severidade, coloque uma linha como essa no pseudocabeçalho:

Severity: <severidade>

Substitua <severidade> por um dos níveis de severidade disponíveis, como descrito na documentação avançada.

Atribuindo tags

Você pode definir tags em um bug quando envia o relatório. Por exemplo, caso você esteja incluindo um patch junto ao seu relatório de bug, você pode definir a tag patch. Porém, isso não é exigido, e os(as) desenvolvedores(as) definirão tags em seu relatório quando apropriado.

Para definir tags, inclua uma linha como essa no pseudocabeçalho:

Tags: <tags>

Substitua <tags> por uma ou mais tags disponíveis, conforme descrito na documentação avançada. Separe múltiplas tags por vírgulas, espaços ou ambos.

User: <nome-de-usuário>
Usertags: <tags-do-usuário>

Substitua <tags-do-usuário> com uma ou mais tags de usuário(a). Separe várias tags com vírgulas, espaços ou ambos. Se você especificar um <nome-de-usuário>, as tags deste(a) usuário(a) serão definidas. Caso contrário, o endereço de e-mail do remetente será usado como nome de usuário(a).

Definir encaminhamento

Forwarded: foo@example.com

marcará o novo relatório de bug submetido como encaminhado para foo@example.com. Veja, para detalhes, registrando que você encaminhou um relatório de bug na documentação dos(as) desenvolvedores(as).

Reivindicar responsabilidade

Owner: foo@example.com

indicará que foo@example.com é agora o(a) responsável por resolver este bug. Veja alterando o responsável pelo bug na documentação dos(as) desenvolvedores(as) para detalhes.

Pacote de código fonte

Source: foopacote

o equivalente a Package: para bugs presentes no pacote do código fonte de foopacote; para a maioria dos bugs na maioria dos pacotes você não precisa usar esta opção.

Comandos de Controle

Control: comandos de controle

Permite que quaisquer comandos que devem ser enviados para control@bugs.debian.org funcionem quando enviados para submit@bugs.debian.org ou nnn@bugs.debian.org. -1 refere-se inicialmente ao bug atual (ou seja, o bug criado por um e-mail para submit@ ou o bug comunicado com nnn@). Por favor, veja a documentação de servidor de controle para mais informações sobre os comandos de controle válidos.

Por exemplo, o pseudocabeçalho na mensagem enviada para 12345@bugs.debian.org:

Control: retitle -1 este é um título
Control: severity -1 normal
Control: summary -1 0
Control: forward -1 https://bugs.debian.org/nnn

faz com que o bug 12345 receba um novo título (em inglês), mude sua severidade, defina um sumário e marque o bug como encaminhado.

Cabeçalhos X-Debbugs-

Finalmente, se seu MUA não permite que você edite os cabeçalhos das mensagens, você pode definir os diversos cabeçalhos X-Debbugs- nos pseudocabeçalhos.

Informação adicional

Endereços de envio diferentes (relatórios de bugs menores ou em massa)

Caso um relatório seja de um bug menor, por exemplo um erro ortográfico na documentação ou um problema de compilação trivial, por favor ajuste a severidade apropriadamente e envie o mesmo para maintonly@bugs.debian.org em vez de submit@bugs.debian.org. maintonly encaminhará o relatório somente para o(a) mantenedor(a) do pacote e não para as listas de discussão do BTS.

Caso você esteja enviando muitos relatórios de uma vez, você definitivamente deverá usar maintonly@bugs.debian.org de modo que não cause muito tráfego redundante nas listas de discussão do BTS. Antes de enviar muitos bugs similares, você também pode publicar um sumário em debian-bugs-dist.

Caso deseje relatar um bug para o sistema de acompanhamento de bugs que já tenha sido enviado para o(a) mantenedor(a), você pode usar quiet@bugs.debian.org. Bugs enviados para quiet@bugs.debian.org não serão encaminhados para lugar algum, somente serão registrados.

Quando você utiliza endereços de envio diferentes, o sistema de acompanhamento de bugs irá definir o Reply-To de quaisquer mensagens encaminhadas para que as respostas sejam por padrão processadas da mesma maneira que o relatório original. Isto significa que, por exemplo, respostas para maintonly irão para nnn-maintonly@bugs.debian.org em vez de nnn@bugs.debian.org, a menos, é claro, que alguém sobrescreva isso manualmente.

Confirmações

Normalmente, o sistema de acompanhamento de bugs lhe retornará uma confirmação por e-mail, após você relatar um novo bug ou enviar uma informação adicional para um bug existente. Se você quiser suprimir esta confirmação, inclua um cabeçalho ou pseudocabeçalho X-Debbugs-No-Ack no seu e-mail (o conteúdo deste cabeçalho não importa). Se você relatar um novo bug com este cabeçalho, você precisará checar a interface web para descobrir o número do bug.

Note que este cabeçalho não irá suprimir confirmações do servidor de e-mails control@bugs.debian.org, já que estas confirmações podem conter mensagens de erro que devem ser lidas e trabalhadas imediatamente.

Bloqueio de spam e e-mails perdidos

O sistema de acompanhamento de bugs implementa um conjunto particularmente abrangente de regras para se certificar de que não seja inserido spam no BTS. Mesmo que tentemos minimizar o número de falsos positivos, eles ocorrem. Se você suspeitar de que seu e-mail causou um falso positivo, sinta-se livre para entrar em contato com owner@bugs.debian.org e pedir ajuda. Outra causa comum pela qual um e-mail não chega ao BTS é a utilização de endereços que coincidem com FROM_DAEMON do procmail, o que inclui endereços como mail@foobar.com. Se você suspeitar que seu e-mail coincide com FROM_DAEMON, veja procmailrc(5) para verificar, e então re-envie seu e-mail usando um endereço que não coincida com FROM_DAEMON.

Relatórios de bugs para pacotes desconhecidos

Caso o sistema de acompanhamento de bugs não saiba quem é o(a) mantenedor(a) do pacote em questão, o mesmo encaminhará o relatório para debian-bugs-dist mesmo se maintonly for usado.

Ao enviar para maintonly@bugs.debian.org ou nnn-maintonly@bugs.debian.org, você deve certificar-se de atribuir o relatório de bug ao pacote correto, colocando um Package correto no topo de um envio original de um relatório, ou usando o serviço control@bugs.debian.org para (re)atribuir o relatório apropriadamente.

Usando o dpkg para encontrar o pacote e a versão para o relatório

Quando estiver usando o reportbug para relatar um bug de um comando, digamos o grep, a instrução a seguir selecionará automaticamente o pacote correto e permitirá que imediatamente você escreva o relatório: reportbug --file $(which grep)

Você também pode encontrar qual pacote instalou o comando através de dpkg --search. Você pode encontrar qual versão instalada de um pacote você possui usando dpkg --list ou dpkg --status.

Por exemplo:

$ 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

Outros comandos e pacotes úteis

A ferramenta querybts, disponível a partir do mesmo pacote que o reportbug, fornece uma interface conveniente em modo texto para o sistema de acompanhamento de bugs.

Usuários Emacs também podem usar o comando debian-bug fornecido pelo pacote debian-el. Quando chamado com M-x debian-bug, ele perguntará por todas as informações necessárias de forma similar ao reportbug.


Other BTS pages:


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.