FAQ empacotamento Debian

De Eriberto Wiki
Ir para navegação Ir para pesquisar


Este FAQ é um complemento para a página Algumas coisas sobre Debian..., disponível em http://debianet.com.br.

Dúvidas iniciais

Preciso ser programador para empacotar no Debian?

Em resumo, NÃO!

Você precisa conhecer Debian, um pouquinho de shell script (bem básico), além de saber compilar e instalar programas. No fim, você disponibilizará executáveis prontos para usuários finais, dentro de um arquivo .deb, que é um arquivo compactado com 'ar'. Como experiência, você pode executar um '$ ar -x pacote.deb' para ver o seu conteúdo.

Programar ajuda a sanar determinados problemas e fazer melhorias além do básico. No entanto, não ser programador não impede ninguém de ser empacotador. Várias pessoas que mantêm pacotes no Debian não são programadores.

Onde posso aprender a empacotar?

A documentação oficial é o Guia dos Novos Mantenedores, disponível em https://www.debian.org/devel (em HTML). Ele também está disponível em outros formatos e idiomas aqui.

Para quem fala português, há videoaulas disponíveis em http://debianet.com.br.

Outra possibilidade interessante é de inscrever-se na lista Debian Mentors, destinada a retirar dúvidas de quem empacota ou está começando e acompanhá-la.

Obtenção de um sponsor

O que é um sponsor?

É um desenvolvedor Debian (DD) que, voluntariamente, poderá analisar o seu pacote e fazer upload do mesmo para o Debian, uma vez que somente membros oficiais podem fazer upload.

Para onde envio o meu pacote quando estiver pronto?

  • Inicialmente, crie uma conta no site http://mentors.debian.org.
  • Você também vai precisar de uma chave GPG RSA de 4096 bits. Para isso siga as instruções existentes em https://wiki.debian.org/Keysigning. Siga os passos 1 a 7 COM ATENÇÃO.
  • Envie o seu pacote para o mentors, usando o comando dput mentors. Instruções aqui.
  • A seguir, busque por um sponsor. O sponsor é um Debian Developer (Desenvolvedor Debian, ou DD) que fará o upload do seu pacote para o Debian. Você poderá encontrar um no mundo (mais sponsors disponíveis) ou no Brasil. Veja como:
    • No mundo: crie um bug para o pacote virtual sponsorship-requests. Siga fielmente as instruções que estão aqui. Note que o próprio site mentors criará um template para você usar para o seu RFS (Request For Sponsor). Basta entrar na página que mostra o pacote do qual foi feito upload e procurar por View RFS template.
    • No Brasil: inscreva-se na lista Debian Devel Portuguese. A seguir, envie um email solicitando que alguém revise o seu pacote, dizendo o nome, o que ele faz e o endereço no mentors.

Obs: todos os DDs estão cadastrados aqui.

Há condições mínimas que que eu solicite um sponsor?

Sim. Um sponsor trabalha de forma voluntária, dedicando o seu tempo, sem receber nada por isso. Então:

  • Não envie pacotes mal feitos ou cheios de mensagens de lintian que podem ser sanadas. O seu pacote será sumariamente ignorado.
  • Não envie várias mensagens seguidas pedindo um sponsor. Por se tratar de um trabalho voluntário, você deve esperar pela disponibilidade de alguém. Você poderá enviar uma nova mensagem depois de muito tempo (um mês é uma boa medida). Mas, normalmente, os pedidos são atendidos rapidamente.
  • Seja sempre cordial com quem está dedicando tempo para lhe ajudar.
  • Se for o caso, antes de enviar um pacote, retire todas as suas dúvidas nos canais destinados a isso. Veja o item Onde posso obter ajuda, retirar dúvidas sobre empacotamento?

Progresso do empacotamento

Como o meu pacote e o meu nome serão mostrados no Debian?

Depois que um DD fizer o upload para você, o pacote com o seu nome poderá ser visto em http://packages.qa.debian.org. Após o seu primeiro upload, o seu nome será registrado aqui. O seu último upload sempre aparecerá aqui.

Quando você adotar um pacote, será criada uma página específica para você, cujo endereço será https://qa.debian.org/developer.php?login=<seu email>. Clique aqui para ver a minha página como exemplo.

Onde posso obter ajuda, retirar dúvidas sobre empacotamento?

Há várias opções para você poder retirar as suas dúvidas on-line.

  • Lista Debian Mentors: esta é uma lista internacional, destinada especificamente à retirada de dúvidas sobre empacotamento.
  • Canal #debian-mentors no IRC irc.debian.org, porta 9999 (com SSL) ou 7000 (sem SSL, também podendo ser 6667). Este é um canal IRC análogo à lista Debian Mentors.
  • Lista Debian Devel Portuguese, para quem quiser suporte em português.
  • Também há o canal #debian-devel-br, no mesmo IRC citado anteriormente.

Enviei um pacote para o Debian. Eu sou DM? Como ser DD?

Não, você não é um DM (Debian Maintainer).

Quem mantém pacotes no Debian é um mantenedor de pacotes ou empacotador. Existe uma classe, um pouco acima, que exige um pouco mais de experiência, chamada Debian Maintainer (DM). Para se tornar um DM, você precisará realizar alguns procedimentos básicos. Após algum tempo, você poderá fazer algumas provas de certificação, dentro do Debian, e se tornar um Debian Developer (DD).

Para entender tudo isso, assista a essa palestra, com 50 minutos de duração.

O meu pacote é inédito no Debian e foi para a NEW. Quanto tempo ficará lá?

A fila NEW é destinada a pacotes que estão nas seguintes situações:

  • Entrando pela primeira vez no Debian. O pacote irá para essa fila mesmo tendo passado pelas mãos de um DD para upload.
  • Retornando ao Debian depois de terem sido excluídos por qualquer motivo. Por curiosidade, aqui há uma lista de pacotes a serem removidos em breve.
  • O pacote já estava no Debian mas, em virtude de um novo empacotamento (revisão Debian), ele agora gera um binário (.deb) a mais ou com nome diferente (um .deb foi renomeado).

Um pacote pode ficar de alguns minutos a 3 meses na NEW. O time FTP-Master não segue a ordem da fila. Como exemplo, considere que um deles chegue cansado do trabalho de noite mas tem como hobby analisar e aceitar pacotes. Só que o cansaço é tão grande quanto a vontade. Então, nesse caso, se for um analista que goste muito de Python, ele vai olhar pacotes que usem Python. É assim que funciona. O trabalho deles também é voluntário e é por isso que não seguem uma ordem. Assim sendo, pode ser que um determinado pacote seu pacote fique lá na fila 3 meses e um que você tenha enviado depois fique apenas 2 dias.

Ainda, se o pacote tiver problemas, ele não ficará na fila para sempre. Em determinado momento, ele será rejeitado. Se ele ainda não foi aprovado e nem rejeitado, é porque ainda não foi analisado.

Técnica de empacotamento

Quais modalidades de empacotamento estão disponíveis?

Há várias. Citando as mais comuns:

  • Manutenção de pacotes: ocorre quando você introduz um pacote novo no Debian ou adota um que esteja órfão. Nesse caso o pacote passa a ser seu e você vira um mantenedor de pacote (que é diferente de Debian Maintainer ou DM).
  • Trabalho de QA: é feito sobre pacotes que estão órfãos (sem um mantenedor, atualmente). O objetivo é ajudar o pacote a evoluir, mesmo que ele não tenha um dono.
  • NMU (Non-maintainer upload): trabalho feito sobre um pacote que tem um mantenedor que não está tendo tempo de cuidar do mesmo. Admite apenas alterações para sanar problemas críticos.
  • Trabalho em times: nessa modalidade, você pode integrar um dos times de empacotamento no Debian e realizar trabalhos dentro do mesmo, com a supervisão e a ajuda de pessoas experientes no assunto.

Por onde começar a empacotar?

Para quem é iniciante, o ideal é começar por trabalhos de QA. Esse tipo de atividade não exige muito conhecimento e permite que sejam feitos apenas os ajustes que a pessoa conheça e domine. Com o tempo, cada um terá a habilidade de sanar todos os problemas e de passar para outras modalidades, como a de manutenção de pacotes.

Quais são os problemas mais comuns encontrados nos empacotamentos?

São vários. Os mais comuns para mim, quando atuando como sponsor são:

  • Não registrar no arquivo debian/changelog todas as alterações feitas em um pacote.
  • Não verificar com profundidade e paciência os dados de direitos autorais a serem inscritos no arquivo debian/copyright.

Esses são os problemas que mais ocorrem, dentre vários.

Como eu evito repetir problemas ou esquecer de algo em um pacote?

Simples! Crie um checklist!

Cada trabalho realizado em pacotes é um momento de aprendizado. Os seus sponsors, certamente, irão ensinar muito sobre empacotamento. Assim, a cada novo aprendizado, acresça itens no seu checklist básico.

Diversos

Em quais listas de discussão ou notícias eu deveria me cadastrar?

As seguintes listas de discussão ou notícias são essenciais para quem trabalha com empacotamento no Debian:

  • debian-announce - lista de notícias relevantes e de interesse geral sobre o Debian. Baixíssima circulação anual. Em inglês.
  • debian-devel-announce - lista de notícias relevantes para mantenedores de pacotes e para pessoas com envolvimento mais profundo no Debian. Baixíssima circulação anual. Em inglês.
  • debian-infrastructure-announce - lista de notícias relevantes sobre a infraestrutura do Debian. Muito usada para comunicar quando servidores específicos ficarão temporariamente fora do ar. Baixíssima circulação anual. Em inglês.
  • debian-legal - lista para discussões sobre o licenciamento de software no Debian. Extremamente interessante. Um ótimo lugar para aprender sobre licenciamento. Média circulação mensal. Em inglês.
  • debian-mentors - lista voltada para a retirada de dúvidas sobre empacotamento no Debian. Alta circulação mensal. Em inglês.
  • debian-devel-portuguese - lista nacional voltada para a retirada de dúvidas sobre empacotamento no Debian. Alta circulação mensal. Em português.
  • debian-br-eventos - lista nacional para o anúncio de eventos Debian no Brasil. Baixíssima circulação anual. Em inglês.

Existem outras listas de discussão do Debian?

Sim, existem. Caso você tenha interesses mais específicos, consulte todas as listas Debian em http://lists.debian.org.