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 para qual pacote o seu relatório de bug deve ser endereçado, por 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
[email protected]
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:
- O texto exato e completo de quaisquer mensagens impressas ou gravadas (log). Isto é muito importante!
- Exatamente o que você digitou ou fez para demonstrar o problema.
- Uma descrição do comportamento incorreto: exatamente qual comportamento você estava esperando e o que você observou. Uma transcrição de uma sessão de exemplo é uma boa maneira de mostrar isso.
- Uma correção sugerida, ou até mesmo um patch, caso você tenha preparado um.
- Detalhes da configuração do programa com problema. Inclua o texto completo dos arquivos de configuração do programa em questão.
- As versões de quaisquer pacotes dos quais o pacote com problema dependa.
- Qual versão de kernel você está usando (digite
uname -a
), sua biblioteca C compartilhada (digitels -l /lib/*/libc.so.6
ouapt show libc6 | grep ^Version
) e quaisquer outros detalhes sobre seu sistema Debian, caso pareçam apropriados. Por exemplo, se você tiver um problema com um script Perl, você pode informar a versão do binário "perl" (digiteperl -v
oudpkg -s perl | grep ^Version:
). - Detalhes apropriados do hardware em seu sistema. Caso você esteja relatando um problema com um controlador de dispositivo (device driver), por favor liste todo hardware em seu sistema, uma vez que esses problemas são normalmente causados por conflitos de endereços de I/O e IRQ.
- Se você tem o reportbug
instalado, a saída de
reportbug --template -T none -s none -S normal -b --list-cc none -q <pacote>
também será útil, pois contém a saída dos scripts de mantenedor(a) específicos e informação de versão.
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: [email protected] From: [email protected] 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 [email protected] ou para [email protected].
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 [email protected]
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 aos pseudocabeçalhos
de sua mensagem:
X-Debbugs-CC: [email protected]
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: <etiquetas>
Substitua <etiquetas> 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(a)> Usertags: <tags-de-usuário(a)>
Substitua <tags-de-usuário(a)> 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(a)>, 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).
Você pode definir tags-de-usuário(a) para vários(as) usuários(as) no momento do envio do bug, incluindo vários pseudocabeçalhos de usuário(a); cada tag-de-usuário(a) pseudocabeçalho define as tags-de-usuário(a) para o pseudocabeçalho do(a) usuário(a) anterior. Isto é especialmente útil para definir tags-de-usuário(a) para uma equipe com vários(as) usuários(as), definir tags-de-usuário(a) para várias equipes ou definir as https://wiki.debian.org/Teams/Debbugs/ArchitectureTags|tags-de-usuário(a) architecture para bugs que afetam várias arquiteturas .
User: <primeiro-nome-do(a)-usuário(a)> Usertags: <tags-de-usuário(a) primeiro-nome-do(a)-usuário(a)> User: <segundo-nome-do(a)-usuário(a)> Usertags: <tags-de-usuário(a) segundo-nome-do(a)-usuário(a)>
Definir encaminhamento
Forwarded: [email protected]
marcará o novo relatório de bug submetido como encaminhado para [email protected]. Veja, para detalhes, registrando que você encaminhou um relatório de bug na documentação dos(as) desenvolvedores(as).
Reivindicar responsabilidade
Owner: [email protected]
indicará que [email protected] é 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
[email protected]
funcionem quando enviados para
[email protected]
ou [email protected]
.
-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 [email protected]
:
Control: retitle -1 este é um título Control: severity -1 normal Control: summary -1 0 Control: forwarded -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
[email protected]
em vez de
[email protected]
.
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 [email protected]
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
[email protected]
. Bugs enviados para
[email protected]
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[email protected]
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
[email protected]
, 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, fique à vontade
para entrar em contato com [email protected]
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 [email protected]
. 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 [email protected]
ou
nnn[email protected]
, 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 [email protected]
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 <[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
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:
- Página principal dos conteúdos do sistema de gerenciamento de bugs.
- Instruções para reportar bugs.
- Acessando os logs do sistema de gerenciamento de bugs.
- Informações para desenvolvedor(a) no sistema de gerenciamento de bugs.
- Informações do(a) desenvolvedor(a) na manipulação de bugs usando a interface de controle de e-mail.
- Cartão de referência de servidores de mail.
- Requisitando reports de bug pelo e-mail.
Debian BTS administrators <[email protected]>
Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd,
1994-1997 Ian Jackson.