Eu quero consertar um bug. Por onde eu começo?

47

Embora eu não seja um programador profissional, escrevi um programa ou dois. No entanto, hoje em dia, todo engenheiro e cientista aprende a programar um pouco também e, como tal, estou acostumado a escrever programas em Python, C e MATLAB. Agora eu quero retribuir um pouco ao Ubuntu e ao seu pessoal e consertar um bug!

Eu dei uma olhada na lista da campanha bitesize e tive que descobrir que a maioria deles não é tão fácil de corrigir, pois eu suspeito que eles precisem de muito tempo para entrar no assunto, e eu não tenho aquele. Ainda assim eu descobri este e ele parece gerenciável e como um recurso interessante para mim.

Como eu nunca escrevi um patch ou lancei um programa para o Wild antes, não sei por onde começar. Qual deve ser o meu primeiro passo para resolver esse problema?

Linha de fundo: Onde e como eu começo a consertar esse cara?

    
por Ingo 28.01.2011 / 16:28

2 respostas

31

Responder a esta questão pode ser demorado e complicado, pelo que vou indicar-lhe os recursos disponíveis, em vez de os refazer aqui.

Documentação

  1. Preparando-se para o desenvolvimento do Ubuntu
  2. Como corrigir bugs

Tutoriais

Executamos eventos ao longo do ciclo para ajudar pessoas como você, especificamente, corremos Ubuntu Developer Week no IRC, que é um tutorial ao vivo e oficina de perguntas e respostas. Há um chegando no final de fevereiro, se você quiser participar!

Aqui estão dois registros de uma sessão anterior para ter uma ideia:

Lugares para encontrar oportunidades

  • Colheita - esta ferramenta passa por todas as correções e pacotes no Launchpad (e até olha em outras distros) para patches. Muitos deles podem ser roubados, aplicados, testados e, em seguida, corrigidos no Ubuntu e enviados para o upstream.
  • Cleansweep - Lista de patches no Launchpad que alguém anexou a um relatório de bug. Estes podem ser úteis ou não, eles ainda devem ser analisados.

Obtendo ajuda

Entrar em contato com a MOTU na lista de discussão ou no IRC é uma boa maneira de obter ajuda para problemas individuais que você enfrenta:

Feedback

Gastamos muito tempo para reeditar esta documentação para ser o mais fácil possível, se você fizesse anotações sobre suas experiências e como podemos melhorar essas coisas, seria muito útil saber como fazer com que seja menos fácil para pessoas como você.

    
por Jorge Castro 28.01.2011 / 16:32
19

A resposta generalizada de Jorge é uma ótima introdução para pular para o desenvolvimento do Ubuntu, mas vamos tentar olhar um pouco mais de perto sua questão específica ...

O principal desenvolvedor do upport e o mantenedor do Ubuntu são um e o mesmo. Isso simplifica as coisas para você um pouco. Em vez de aprender sobre sistemas de empacotamento e correção, o caminho mais fácil aqui é trabalhar diretamente no código upstream.

O desenvolvimento do Apport está hospedado no Launchpad . Ele usa o sistema de controle de versão distribuído do bazar para gerenciar seu código-fonte. O primeiro passo para corrigir o seu bug é pegar a fonte. Se você não usou bazar antes, o bazar em cinco minutos tutorial é um bom lugar para começar.

Instale o bazar com:

sudo apt-get install bzr

Puxe o código-fonte do apport:

bzr branch lp:apport

Agora você pode começar a invadir. Como na maioria dos VCSs, quando se trabalha com bazar, é uma boa ideia fazer apenas uma alteração por commit. Você também deve tornar suas mensagens de commit informativas. Isso torna suas alterações muito mais fáceis de serem revisadas. Quando você estiver pronto para fazer seu primeiro commit, execute:

bzr commit -m "My commit message. Did foo to bar in order to achieve baz."

Continue fazendo alterações e confirmando até que esteja satisfeito com a correção do seu erro. Com seu último commit, você também pode marcá-lo como consertando o bug adicionando --fixes lp:<bug_number> ao comando commit. Agora você está pronto para enviar suas alterações para revisão e inclusão.

Primeiro, você precisa enviá-lo ao Launchpad para disponibilizá-lo publicamente:

bzr push lp:~<launchpad_username>/apport/<branch_name>

Seu ramo agora pode ser encontrado em:

https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/

A execução de bzr lp-open na filial abrirá esse local em um navegador.

Agora, queremos propor uma mesclagem. Na página, selecione "Propor para mesclar".

Na próxima página, selecione seu ramo de destino e dê uma visão geral de suas alterações.

Agora você terá uma proposta de mesclagem ativa.

Os mantenedores analisarão suas alterações. Se eles forem apropriados, eles serão mesclados e estarão disponíveis no próximo release. Alternativamente, a proposta pode ser definida como "Necessidades de trabalho", e os mantenedores discutirão com você mudanças adicionais que devem ser feitas antes da fusão. Se isso acontecer, por favor, não tome isso como qualquer tipo de rejeição pessoal do seu trabalho. Ao contribuir para um novo projeto pela primeira vez, muitas vezes há pequenas coisas como o estilo de codificação que você pode não estar ciente.

    
por andrewsomething 01.02.2011 / 19:23