Product SiteDocumentation Site

15.4. Tornando-se um Mantenedor de Pacotes

15.4.1. Aprendendo a Fazer Pacotes

Criar um pacote Debian de qualidade não é sempre uma tarefa fácil, e tornar-se um mantenedor de pacote necessita aprendizado, tanto na teoria e na prática. Não é simplesmente uma questão de construir ou instalar programas, em vez disso, a maior parte da complexidade vem do entendimento de problemas e conflitos, e mais geralmente as interações, com a miríade de outros pacotes disponíveis.

15.4.1.1. Regras

Um pacote Debian deve respeitar as regras precisas elaboradas na política Debian, e cada mantenedor do pacote deve conhecê-las. Não há nenhuma exigência de conhecê-las de cor, mas sim de saber que elas existem e para se referir a elas sempre uma escolha apresenta uma alternativa não-trivial. Todos os mantenedores Debian cometeram erros por não conhecer sobre uma regra, mas isso não é um grande problema, contanto que o erro seja corrigido quando um usuário o relate com um relatório de bug (o que tende a acontecer muito em breve graças a usuários avançados).

15.4.1.2. Procedimentos

Debian não é uma simples coleção de embalagens individuais. Trabalho de empacotamento de cada um é parte de um projeto coletivo; ser um desenvolvedor Debian envolve saber como o projeto Debian funciona como um todo. Todo desenvolvedor irá, mais cedo ou mais tarde, interagir com os outros. Referência do Desenvolvedor Debian (o pacote developers-reference) resume o que todo desenvolvedor deve saber, a fim de interagir da melhor forma possível com as diversas equipes dentro do projeto, e para levar a melhores vantagens possíveis dos recursos disponíveis. Este documento também enumera uma série de funções que se esper que um desenvolvedor cumpra.

15.4.1.3. Ferramentas

Muitas ferramentas ajudam os mantenedores de pacotes em seu trabalho. Esta seção as descreve rapidamente, mas não dá todos os detalhes, já que elas contém uma documentação próprias a elas.
15.4.1.3.1. O Programa lintian
Está ferramenta é uma das mais importantes: é o verificador de pacotes Debian. É baseada em uma vasta matriz de testes criada pela política do Debian, e detecta rapidamente e automaticamente muitos erros que podem ser então consertados antes de os pacotes serem lançados.
Está ferramenta é apenas um ajudante, e algumas vezes falha (por exemplo, já que a política do Debian muda com o tempo, lintian está algumas vezes desatualizado). Também não é exaustiva: não receber nenhum erro no Lintian não deve ser interpretada como prova de que o pacote é perfeito; no máximo, ele evita os erros mais comuns.
15.4.1.3.2. O Programa piuparts
Esta é outra ferramenta importante: ele automatiza a instalação, atualização, remoção e limpeza de um pacote (em um ambiente isolado), verifica se nenhuma dessas operações leva a um erro. Ele pode ajudar na detecção de dependências que estão faltando, e também detecta quando os arquivos são deixados incorretamente depois que o pacote foi removido.
15.4.1.3.3. devscripts
O pacote devscripts contém diversos programas que ajudam com uma vasta gama do trabalho dos desenvolvedores Debian:
  • debuild permite gerar um pacote (com dpkg-buildpackage) e executando lintian para verificar a compatibilidade com a política Debian depois.
  • debclean limpa um pacote fonte após o pacote binário ter sido gerado.
  • dch permite rapidamente e facilmente editar o arquivo debian/changelog num pacote fonte.
  • uscan verifica se foi liberada uma nova versão de um software pelo autor; Isso requer um debian/watch arquivo com uma descrição da localização de tais lançamentos.
  • debi permite a instalação (com dpkg -i) do pacote Debian que acabou de ser gerado sem a necessidade de digitar seu nome completo e caminho.
  • De uma maneira similar, debc permite varrer o conteúdo de um pacote recentemente criado (com dpkg -c), sem a necessidade de digitar o nome completo e o caminho.
  • bts controla o sistema de bug pela linha de commando, este programa automaticamente gera e-mails apropriados.
  • debrelease envia os pacotes recém gerados a um servidor remoto, sem a necessidades de digitar o nome completo e o caminho do arquivo relacionado .changes.
  • debsign assina os arquivos *.dsc e *.changes.
  • uupdate automatiza a criação de uma nova revisão do pacote quando uma nova versão upstream foi lançada.
15.4.1.3.4. debhelper e dh-make
Debhelper é um conjunto de scripts que facilitam a criação de pacotes de políticas compatíveis; esses scripts são chamados a partir de debian/rules. Debhelper tem sido amplamente adotado no Debian, como evidenciado pelo fato de que ele é usado pela maioria dos pacotes Debian oficiais. Todos os comandos contém um prefixo dh_.
O roteiro dh_make (no pacote dh-make) cria arquivos necessários para geração de um pacote Debian em um diretório inicialmente contendo os fontes do programa. Como você pode ter adivinhado pelo nome do programa, o arquivo gerado usa por padrão o debhelper.
15.4.1.3.5. dupload e dput
Os comandos dupload e dput permitem o upload de um pacote Debian para um servidor (possivelmente remoto). Isto permite aos desenvolvedores publicarem seu pacote no servidor principal Debian (ftp-master.debian.org) de modo que ele possa ser integrado ao arquivo e distribuído por espelhos. Estes comandos tornam um arquivo *.changes um parâmetro, e deduzir os outros arquivos relevantes de seu conteúdo.

15.4.2. Processo de Aceitação

Tornar-se um desenvolvedor Debian não é somente uma questão administrativa. O processo compreende vários passos, e é tanto uma iniciação quando um processo seletivo. Em todo caso, o ele é formalizado e bem documentado, então qualquer um pode verificar o progresso no site web dedicado para o processo de novos membros.

15.4.2.1. Pré-requisitos

É esperado de todos os candidatos ter ao menos conhecimento da linguá inglesa. Isto é requerido em todos os níveis: para a comunicação inicial com o examinador, é claro, mas mais tarde também, já que o inglês é a linguá preferida pela maioria dos documentos; também, os usuários dos pacotes se comunicarão em inglês quando reportando erros, e os mesmos esperam uma reposta em inglês.
Outro pré-requisito lida com motivação. Tornar-se um desenvolvedor Debian é um processo que somente faz sentido se o candidato sabe que seu interesse no Debian durará mais do que muitos meses. O processo de aceitação em si deve durar diversos meses, e o Debian precisa de desenvolvedores para um longo trajeto; cada pacote precisa de manutenção permanente, e não somente uma versão inicial.

15.4.2.2. Registrando

O primeiro passo (real) consiste em encontrar um patrocinador ou advogado; isso significa que um desenvolvedor oficial disposto a afirmar que eles acreditam que aceitam X seria uma coisa boa para o Debian. Isso geralmente significa que o candidato já tenha sido ativo dentro da comunidade, e que o seu trabalho tem sido apreciado. Se o candidato é tímido e seu trabalho não é apresentado publicamente, eles podem tentar convencer um desenvolvedor Debian para defendê-los, mostrando o seu trabalho de uma forma particular.
Ao mesmo tempo, o candidato deve gerar um par de chaves RSA pública/privada com o GnuPG, que deve ser assinado por pelo menos dois desenvolvedores oficiais Debian. A assinatura autentica o nome da chave. Efetivamente, na parte de assinatura de chaves, cada participante deve mostrar uma identificação oficial (normalmente um cartão de identificação ou passaporte), juntamente com os seus identificadores de chave. Esta etapa confirma a ligção entre o humano e as chaves. Esta assinatura, portanto, requer um reunião na vida real. Se você ainda não encontrou quaisquer desenvolvedores Debian em uma conferência de software livre público, você pode procurar explicitamente desenvolvedores que vivem nas proximidades usando a lista na seguinte página web como um ponto de partida.
Uma vez que o registro no nm.debian.org foi validado pelo advogado, um Gerenciador de Aplicações é atribuído ao candidato. O gerenciador de aplicativos, então, conduzir o processo através de várias etapas e verificações pré-definidas.
A primeira verificação é uma verificação de identidade. Se você já tiver uma chave assinada por dois desenvolvedores Debian, este passo é fácil; caso contrário, o Gerenciador de aplicativos irá tentar e guiá-lo em sua busca para desenvolvedores Debian por perto para organizar um meet-up e uma chave de assinatura.

15.4.2.3. Aceitando os Princípios

Estas formalidades administrativas são seguidas por considerações filosóficas. O ponto é ter certeza de que o candidato compreende e aceita o contrato social e os princípios por trás do Software Livre. Juntando Debian só é possível se a pessoa compartilha os valores que unem os desenvolvedores atuais, como expresso nos textos fundamentais (e resumido na Capítulo 1, O Projeto Debian).
Além disso, de cada candidato que pretende aderir as fileiras Debian é esperado saber o funcionamento do projeto e como interagir de forma adequada para resolver os problemas que elas irão sem dúvida encontrar com o passar do tempo. Toda esta informação geralmente está documentado nos manuais visando o novo mantenedor e em referência do desenvolvedor Debian. Uma leitura atenta deste documento deve ser suficiente para responder a perguntas do examinador. Se as respostas não são satisfatórias, o candidato será informado. Em seguida, ele terá que ler (novamente) a documentação pertinente antes de tentar novamente. Nos casos onde a documentação existente não contém a resposta adequada para a questão, o candidato geralmente pode chegar a uma resposta com alguma experiência prática dentro do Debian, ou potencialmente, discutindo com outros desenvolvedores Debian. Esse mecanismo garante que candidatos se envolver um pouco no Debian antes de se tornar parte integral dele. É uma política deliberada, por que candidatos que eventualmente se unem ao projeto integram-se como uma peça de um quebra-cabeça infinitamente extensível.
Esta etapa é geralmente conhecido como Philosophy & Procedures - Filosofia & Procedimentos (P&P abreviando) no jargão dos programadores envolvidos no processo de novos membros.

15.4.2.4. Verificando Habilidades

Cada aplicação para se tornar um desenvolvedor oficial Debian deve ser justificada. Se tornar um membro do projeto requer demonstrar que esse status é legítimo, e que facilita o trabalho do candidato no sentido de ajudar o Debian. A justificativa mais comum é que a concessão de status de desenvolvedor Debian facilita a manutenção de um pacote Debian, mas não é o único. Alguns desenvolvedores participam do projeto para contribuir para portar para uma arquitetura específica, outros querem melhorar a documentação, e assim por diante.
Esta etapa representa a oportunidade para o candidato afirmar o que eles pretendem fazer dentro do projeto Debian e para mostrar o que eles já fizeram para esse fim. Debian é um projeto pragmático e dizer alguma coisa, não é suficiente, se as ações não correspondem ao que é anunciado. Geralmente, quando o papel pretendido dentro do projeto está relacionado ao pacote de manutenção, uma primeira versão do pacote de potencial terá que ser validada tecnicamente e enviada para os servidores Debian por um patrocinador entre os desenvolvedores Debian existentes.
Finalmente, o examinador verifica habilidades de técnico (embalagem) do candidato com um questionário detalhado. Respostas ruins não são permitidas, mas o tempo de resposta não é limitado. Toda a documentação está disponível e várias tentativas são permitidas se as primeiras respostas não são satisfatórias. Esta etapa não tem a intenção de discriminar, mas para garantir pelo menos um mínimo de conhecimento comum para novos colaboradores.
Este passo é conhecido como Tasks & Skills - Tarefas & Habilidades passo (T&S abreviando) no jargão dos examinadores.

15.4.2.5. Aprovação Final

No último passo, todo o processo é analisado por um DAM (Debian Account Manager - Gerente de Contas Debian). O DAM irá rever todas as informações sobre o candidato que o examinador coletou, e toma decisão sobre se deve ou não criar uma conta nos servidores Debian. Nos casos em que a informação adicional é necessária, a criação da conta pode ser adiada. As recusas são bastante raras, se o examinador faz um bom trabalho de acompanhar o processo, mas às vezes acontecem. Eles nunca são permanentes, e o candidato é livre para tentar novamente em um momento posterior.
A decisão do DAM é autoritária e (quase sempre) sem apelo, o que explica porque pessoas nessa posição foram frequentemente criticadas no passado.