Guia completo para relatórios de bugs no Debian Linux

Um guia detalhado explicando como enviar relatórios de bug no Debian Linux e, assim, ajudar o próprio projeto Linux.

Guia completo para relatórios de bugs no Debian Linux

Relatar bugs é uma das várias maneiras de ajudar o Linux a crescer. Todas as distribuições de software livre, projetos têm sistemas diferentes nos quais bugs são coletados, analisados, rotulados e corrigidos dependendo do número de pessoas que conhecem o código-fonte.

Já que eu amo o Debian, vou mostrar a você como enviar relatórios de bugs no Debian.

Como relatar bugs no Debian Linux

A ferramenta goto no Debian para relatar bugs é Reportbug . Eu gostaria de ter sabido sobre isso quando comecei com o relato de bugs, teria evitado um pouco de azia para mim e também para o mantenedor .

Vamos ver como podemos usar Reportbug para relatar bugs no Debian Linux.

Etapa 1. Instalação do Reportbug

Use o comando abaixo para instalar o Reportbug:

sudo aptitude install reportbug

Etapa 2. Reportbug: a primeira execução

Depois de instalar o Reportbug, na primeira execução, você precisa configurá-lo para que possa ser usado para arquivar relatórios de bug.

Use o comando abaixo para executá-lo.

reportbug

E então um monte de consultas, como pode ser visto abaixo:

.gist table {margin-bottom: 0; } Bem-vindo ao reportbug! Como parece que esta é a primeira vez que você usa o reportbug, estamos configurando seu comportamento. Essas configurações serão salvas no arquivo /home/shirish/.reportbugrc, que você poderá editar posteriormente. Por favor, escolha o modo de operação padrão para reportbug. 1 novato Ofereça instruções simples, evitando questões técnicas. 2 padrão Oferece prompts mais extensos, incluindo perguntas sobre coisas que um usuário moderadamente sofisticado deveria saber sobre o Debian. 3 avançado Como o padrão, mas assume que você sabe um pouco mais sobre o Debian, incluindo o recebimento. 4 expert Ignora a maioria das medidas de controle e rotinas de triagem preliminares. Este modo não deve ser usado por pessoas não familiarizadas com as políticas e procedimentos operacionais da Debians. Selecione o modo: [novato] 2 Por favor, escolha a interface padrão para reportbug. 1 texto Uma interface de usuário de console orientada para texto 2 gtk2 Uma interface de usuário gráfica (GTK +). Selecione a interface: 1 O reportbug frequentemente terá acesso direto à Internet? (Você deve responder sim a esta pergunta, a menos que saiba o que está fazendo e planeje verificar se relatórios duplicados foram preenchidos por meio de algum outro canal.) [S | n | q |?]? n Que nome real deve ser usado para enviar relatórios de bug? [shirish]>:> Qual dos seus endereços de e-mail deve ser usado ao enviar relatórios de bug? (Observe que este endereço será visível no sistema de rastreamento de bugs, então você pode querer usar um endereço de webmail ou outro endereço com boas capacidades de filtragem de spam.) [[Email protegido]] & gt; [email protegido ] ver bruto reportbug-first-run.txt hospedado com ❤ por GitHub Notas sobre a primeira execução do Reportbug:

uma. Como uso o Debian há algum tempo, posso alternar entre 2 e 3. Para pessoas que são extremamente novas em relatórios de bugs, eles podem se limitar a [1], que é mostrado como novato e o padrão, basta pressionar Enter.

b. Entre a IU de texto e a interface gtk2/3, acho a interface gtk2/3 desagradável e também consumindo um pouco de memória, portanto, eu escolho 1 o tempo todo. Se você escolheu o editor gtk2/3, as instruções abaixo ainda são as mesmas para você, apenas você verá o editor gtk mostrando a mesma coisa de uma maneira um pouco mais bonita.

c. A parte em que o Reportbug pede acesso à rede, eu sempre nego por motivos práticos e de segurança. Um pouco mais de explicação para as razões pelas quais eu faço isso seriam compartilhadas abaixo.

d. Por último, quando ele perguntar pelo nome, se você gostar do nome existente (retirado da variável u [email protected]) pressione Enter, caso queira ser outra coisa, dê o nome pelo qual quer que apareça.

Etapa 3. Lidando com peculiaridades do Gmail

Na primeira vez que o Reportbug fosse executado, ele solicitaria a configuração do e-mail:

.gist table {margin-bottom: 0; } Você tem um agente de transporte de email (MTA) como Exim, Postfix ou SSMTP configurado neste computador para enviar email para a Internet? [y | N | q |?]? n Por favor, digite o nome do seu host SMTP. Normalmente é denominado algo como mail.example.org ou smtp.example.org. Se você precisar usar uma porta diferente da padrão, use o formato: alternativo. Apenas pressione ENTER se você não tiver um ou não souber, e então um host SMTP do Debian será usado. > Digite o nome do seu servidor proxy. Ele só deve usar este parâmetro se você estiver atrás de um firewall. O argumento PROXY deve ser formatado como um URL HTTP válido, incluindo (se necessário) um número de porta; por exemplo, http://192.168.1.1:3128/. Basta pressionar ENTER se você não tiver um ou não souber. > ver cru reportbug-first-run-webmail-quirks.txt hospedado com ❤ por GitHub A primeira pergunta que ele está perguntando se você tem algum software que permitirá o envio automático de e-mails.

Se você configurou um cliente de e-mail de desktop, como Evolution ou Thunderbird, escolha sim. Caso contrário, vá para não.

Depois que o arquivo de preferências padrão é gravado, ele é salvo em /home/shirish/.reportbugrc. Você pode alterar a configuração posteriormente editando este arquivo.

No console, você pode usar CTRL + C para sair do Reportbug a qualquer momento.

Etapa 5. Descobrir um nome de pacote de aplicativo a partir de um binário

Deixe-me dar o exemplo de Aiselriot. É um dos jogos GTK Card que minha mãe joga muito. Agora, se houver um problema com o jogo, como descubro em qual pacote devo registrar um relatório de bug?

Portanto, a primeira coisa que faço ao tentar solucionar problemas de um aplicativo GUI é pegar seu ícone e colocá-lo no painel e ver suas propriedades exatamente como estou mostrando aqui -

aiselriot, mas conhecido como sol como pode ser visto.

Agora eu sei que o nome do app. não é Aiselriot, mas sol e o caminho onde o aplicativo é colocado é /usr/games/sol.

Agora vamos tentar descobrir como o pacote é chamado -

dpkg -S /usr/games/sol

O resultado é:

aisleriot:/usr/games/sol

Temos sorte de o pacote também ser chamado de aiselriot, mas isso não acontece o tempo todo.

Continuando, vamos agora relatar nosso primeiro relatório de bug. Como estou usando o Debian testing/stretch/em breve para ficar estável em alguns meses, colocarei um relatório de bug por lá.

Etapa 6. Usando Reportbug para fazer um relatório de bug

Agora precisamos de um pacote que tem um problema/bug que precisamos relatar à comunidade Debian.

Eu tenho um pacote de piuparts que mostrou os sintomas de um problema para o qual eu recorri ao Reportbug como mostrado na essência:

.gist table {margin-bottom: 0; } [$] reportbug piuparts –severity = normal Bem-vindo ao reportbug. Usar ? para obter ajuda nas solicitações. Nota: os relatórios de erros são arquivados publicamente (incluindo o endereço de e-mail do remetente). Conjunto de caracteres detectado: UTF-8 Altere sua localidade se estiver incorreta. Usando shirish como seu endereço de remetente. Obtendo o status do piuparts… Verificando a integridade do pacote… Envia um relatório ao Debian (por lsb_release). O mantenedor do piuparts é a equipe de desenvolvedores do piuparts. Procurando dependências de piuparts ... Obtendo arquivos de configuração alterados ... Descreva resumidamente o problema (máximo de 100 caracteres permitidos). Este será o assunto do email do bug, portanto, mantenha o resumo o mais conciso possível, por exemplo: falha ao enviar email ou não inicia com a opção -q especificada (digite Ctrl + c para sair do reportbug sem relatar um bug)> Relatórios adequados obsoletos -conffile for piuparts Reescrevendo assunto para piuparts: Relatórios adequados obsoleto-conffile para piuparts? Faça o seguinte se aplica a este relatório 1 d-i Este bug é relevante para o desenvolvimento do debian-installer. 2 ipv6 Este bug afeta o suporte para Internet Protocol versão 6. 3 l10n Este bug relata um problema de localização/internacionalização. 4 lfs Este bug afeta o suporte para arquivos grandes (mais de 2 gigabytes). 5 newcomer Este bug tem uma solução conhecida, mas o mantenedor solicita que outra pessoa a implemente. 6 patch Você está incluindo um patch para corrigir este problema. 7 upstream Este bug se aplica à parte upstream do pacote. 8 nenhum Selecione as tags: (uma de cada vez) [nenhum] ver bruto relatório de bug piuparts reportbug hospedado com ❤ por GitHub Agora, deixe-me explicar como as coisas estão funcionando. Eu uso uma ferramenta chamada adequada (que é uma ferramenta de verificação de pacote Debian) ao instalar pacotes. Vou falar sobre o adequado em detalhes em algum post futuro no blog.

O que o Reportbug faz é obter e analisar todas as informações que possui sobre o pacote para saber se deve prosseguir ou não.

Agora, a ferramenta adequada funciona em segundo plano o tempo todo. Uma de suas principais tarefas ocorre bem no final da instalação de um pacote, por ex. para piuparts ele compartilha/me mostrou isso -

adequate found packaging bugs -----------------------------

piuparts: obsolete-conffile/etc/piuparts/scripts/post_setup_experimental

que me disse que o pacote do piuparts tinha um arquivo de configuração obsoleto. Conffile significa Arquivo de configuração.

Portanto, o primeiro comando que faço sempre que encontro um bug que vale a pena relatar é o seguinte -

reportbug piuparts --severity=normal

Dá/fala sobre o pacote que apresenta o problema, neste caso, piuparts.

Atribuir gravidade a qualquer bug é uma tarefa complicada. A menos que eu tenha sentimentos muito fortes sobre um pacote e saiba, sem sombra de dúvida, que o bug é realmente grave, não aumentei a gravidade. Esta é a minha ética pessoal, também um pouco menos trabalho para um mantenedor.

Dito isso, a maioria dos mantenedores observaria um bug, independentemente da gravidade que você atribuísse. Tive mantenedores me respondendo rapidamente, mesmo quando eu tinha preenchido a lista de bugs e tenho mantenedores que não estão respondendo. MIA (Missing-In-Action), mesmo depois de preencher bugs graves. Arquivar e ter uma conversa saudável com o mantenedor é uma atividade técnica e também social.

Depois de perguntar ao assunto, reportbug pergunta/dá várias opções se uma das condições se aplica. Você pode usar qualquer um se achar que seu bug foi afetado ou afeta uma das coisas acima na lista. Por exemplo, se você for compartilhar um patch para corrigir o problema, você escolherá 6 ou um dos outros. Se nenhum deles for necessário, simplesmente entre e siga em frente.

Depois que o acima for feito, leva alguns minutos e obtemos algo semelhante a esta essência compartilhada:

.gist table {margin-bottom: 0; } Assunto: piuparts: relatórios adequados conffile obsoleto para piuparts Pacote: piuparts Versão: 0,75 Severidade: normal Prezado mantenedor, Repórter, considere responder a essas perguntas, quando apropriado O que levou à situação? O que exatamente você fez (ou não fez) que foi eficaz (ou ineficaz)? Qual foi o resultado desta ação? Qual resultado você esperava em vez disso? Fim do modelo - remova essas linhas de modelo - Informações do sistema: Versão Debian: 9.0 APT prefere testar a política do APT: (600, testes), (500, unstable-debug), (500, testing-debug), ( 1, experimental-debug), (1, experimental), (1, instável) Arquitetura: amd64 (x86_64) Arquiteturas estrangeiras: i386 Kernel: Linux 4.9.0-1-amd64 (SMP com 2 núcleos de CPU) Local: LANG = en_US.UTF-8, LC_CTYPE = en_US.UTF-8 (charmap = UTF-8) Shell:/bin/sh vinculado a/bin/traço Init: systemd (via/run/systemd/sistema) As versões dos pacotes piuparts dependem de: ii debootstrap 1.0.87 ii debsums 2.2 ii dpkg 1.18.18 ii lsb-release 9.20161125 ii lsof 4.89 + dfsg-0.1 ii piuparts-common 0.75 ii python-debian 0.1.30 pn python: qualquer Versões dos pacotes que o piuparts recomenda: ii adequado 0.15.1 Versões dos pacotes que o piuparts sugere: ii schroot 1.6.10-3 - sem informações do debconf ver em bruto modelo padrão reportbug piuparts hospedado com ❤ por GitHub Agora o que isso faz é dar uma ideia para o mantenedor do estado do seu sistema. Como todos sabem, quase todas as distribuições GNU/Linux e seus pacotes são baseados em um conjunto complexo de relacionamentos com outros pacotes. O mantenedor precisa saber qual versão do pacote você estava usando, quais outros pacotes estavam lá, em qual versão eles estavam, além de saber que a integridade do pacote não foi adulterada de forma alguma.

Agora você precisa preencher os bancos -

Eu geralmente removo/excluo o seguinte, se você for um novo usuário, você pode apenas responder às perguntas abaixo e seu relatório de bug estará pronto.

Etapa 7. As alterações finais feitas para gastar o relatório

E em seu lugar, coloco os detalhes como sendo compartilhados aqui:

.gist table {margin-bottom: 0; } Assunto: piuparts: relatórios adequados obsoletos conffile para piuparts Pacote: piuparts Versão: 0,75 Severidade: normal Usuário: [email protected] Usertags: obsolete-conffile adequado Caro Mantenedor, Relatórios adequados quebrados obsoleto-conffile - [$] piuparts piuparts adequados: obsolete-conffile/etc/piuparts/scripts/post_setup_experimental Talvez você pudesse usar o que pabs (Paul Wise) fez em # 815563, em que a coisa certa a fazer seria - Use o dpkg-maintscript- suporte auxiliar fornecido por dh_installdeb para remover tais conffiles obsoletos semelhantes na atualização. Também https://www.debian.org/doc/debian-policy/ch-files.html#s-config-files Você também pode ver a página de manual de dh_installdeb através do pacote debhelper que é a mesma coisa. Executei o mesmo comando que ele - [$] pkg = piuparts; $ pkg adequado; dpkg-query -W -f = $ {Conffiles} \ n $ pkg | grep piuparts obsoleto: obsolete-conffile/etc/piuparts/scripts/post_setup_experimental/etc/piuparts/scripts/pre_remove_40_find_obsolete_conffiles dce83ee504ba336d8a2930fb6053635c/etc/piuparts/postperimental/post f7a1f3d45dc43106d1cd9b124b7c1ca8 obsoleto Corrija o acima. - Informações do sistema: Versão do Debian: 9.0 APT prefere testar a política do APT: (600, testes), (500, depuração instável), (500, depuração de testes), (1, depuração experimental), (1, experimental), (1, instável) Arquitetura: amd64 (x86_64) Arquiteturas estrangeiras: i386 Kernel: Linux 4.9.0-1-amd64 (SMP com 2 núcleos de CPU) Local: LANG = en_US.UTF-8, LC_CTYPE = en_US.UTF-8 (charmap = UTF-8) Shell:/bin/sh vinculado a/bin/dash Init: systemd (via/run/systemd/system) As versões dos pacotes piuparts dependem de: ii debootstrap 1.0. 87 ii debsums 2.2 ii dpkg 1.18.18 ii lsb-release 9.20161125 ii lsof 4.89 + dfsg-0.1 ii piuparts-common 0.75 ii python-debian 0.1.30 pn python: qualquer versão dos pacotes piuparts recomenda: ii adequado 0.15.1 Versões de pacotes piuparts sugere: ii schroot 1.6.10-3 - nenhuma informação debconf ver em bruto gistfile1.txt hospedado com ❤ por GitHub Mais algumas informações. agora - essas duas tags sinalizam/dizem aos mantenedores algumas coisas - User: [email protected]

A primeira tag está sinalizando que o bug que está sendo levantado faz parte dos esforços do debian-qa.

Usertags: obsolete-conffile adequate

A segunda tag está informando a ferramenta que usamos e um dos problemas comuns sob os quais ela surgiu - neste caso, obsoleto - conffile.

Existem poucos casos de uso comuns e incomuns que examinam adequadamente. Conforme compartilhado antes, será necessário outro post no blog para compartilhar sobre isso em detalhes.

A outra coisa que estou dizendo/compartilhando o mantenedor é que ele/ela deve estar procurando em debhelper (um kit de ferramentas para debian/rules) e procurar por bits específicos nele.

Dica - Paul Wise, mais conhecido como pabs na comunidade Debian. Ele é um contribuidor prolífico para o Debian. Como você pode ver em sua página wiki e nos aplicativos secundários. Ele sempre tem uma lista interminável de aplicativos, pacotes que seriam interessantes para empacotar junto com coisas que poderiam/precisam ser melhoradas. Não sei se ele foi mentor ou não, vejo sinais de um mentor bom e pateta nele. Às vezes pergunto, às vezes roubo suas idéias para ajudar no controle de qualidade do Debian :)

Agora que o relatório do bug está completo, tenho que enviá-lo via gmail.com. Se você ativou o MTA (Mail Transfer Agent) e não tem um gmail.com, basta enviar e pronto. Se, por outro lado, você não habilitou o MTA (como eu) e gosta de fazer as coisas sozinho, acesse sua conta do gmail, clique em escrever e depois -

Etapa 8. A etapa final

To - [email protected] Subject - piuparts: adequate reports obsolete conffile for piuparts

O corpo da sua correspondência deve começar com Pacote

algo assim -

mail-to-debian-bts-about-piuparts via gmail.com

Você deve ter notado alguns rótulos, eles são apenas para me ajudar a ser um pouco organizado, pois depois de relatar alguns bugs, pode ficar caótico saber o que está acontecendo. Os rótulos e filtros do Gmail tornam as coisas um tanto desbotadas com a quantidade de e-mails que recebo

Nesse ponto, certifique-se de verificar novamente o e-mail antes de clicar no botão enviar e-mail. Eu geralmente clico em salvar rascunho, reviso uma ou duas vezes antes de enviá-lo.

Se você estiver satisfeito, clique em enviar e seu relatório de bug será enviado para o Debian BTS.

Etapa 9. Obtendo o reconhecimento do servidor Debian BTS informando que o bug os atingiu.

Normalmente, em minutos eu recebo um pequeno e-mail de confirmação do Debian BTS, como na essência sendo compartilhado

Veja o carimbo de data/hora fornecido, apenas 3 minutos após a data de envio da correspondência. Enviei a mensagem de bug no dia 05:03 e recebi a resposta automática dizendo que tudo correu bem no dia 05:06.

O que procuro no e-mail de confirmação é o número do bug, pois é assim que fico sabendo como estão as coisas com o bug.

# 854317

Publicar ciclo de relatório de bug.

Coincidentemente, como pode ser visto, o mantenedor do pacote, de alguma forma, estava por volta da época em que apresentei o bug. Eu sei a importância dos piuparts no ecossistema debian, mas não achei que Andreas agisse tão rapidamente, então agora provavelmente a próxima versão pontual ou mesmo a versão de correção de bug terá a correção. Como pode ser visto, Andreas parece estar muito ocupado vendo o número de pacotes que ele mantém/co-mantém, além de enviar Uploads de Não-Mantenedores (NMU) e uploads de QA

Espero ter dado informações suficientes para que você saiba o que fazer e quando as coisas derem errado.

Dica - Hoje em dia, geralmente sigo algumas regras antes de registrar um bug. Primeiro verifique o bts para a lista existente de bugs, por exemplo erros do piuparts página (como também compartilhado por Simon Tatham acima). Se o bug não estiver listado lá, na maioria das vezes, o pacote não tem muitas dependências e eu sei que não há nenhum arquivo de configuração que eu possa ter que recriar, então geralmente limpo o pacote e instalo o pacote novamente Se o adequado ainda encontrar uma falha, geralmente relato. Eu não faço isso para arquivos de configuração obsoletos, pois eles geralmente acontecem quando você está atualizando da versão x.1 para x.2 ou algo parecido.

Usando essas dicas simples, economizo tempo e energia para mim e também para o mantenedor de um pacote.

No início, pode levar algum tempo, depois de um tempo, tudo pode levar de 10 a 15 minutos ou até menos, dependendo do pacote em que o bug foi encontrado, do próprio bug, replicação do bug etc.

Isso é tudo para fazer um relatório de bug no Debian usando Reportbug.

Esperançosamente, você terá uma ideia das etapas para encontrar bugs e relatá-los. Por favor, poste qualquer dúvida nos comentários abaixo e eu tentarei o meu melhor para responder/compartilhar o pouco que sei.

Via itsfoss.com. Você pode conferir o post original em inglês:

Complete Guide To Bug Reporting In Debian Linux

Última atualização deste artigo: 28 de february de 2017