quarta-feira, 20 de outubro de 2010

[TRADUÇÃO] Entendendo o processo de lançamento do Debian

por Raphaël Hertzog
Versão Original: http://raphaelhertzog.com/2010/10/18/understanding-debians-release-process/


Atualmente, o principal produto do Projeto Debian é sua versão Estável.Essas versões são liberadas, aproximadamente, a cada 18 ou 24 meses. Esse artigo dá uma pequena visão do processo que leva até o lançamento do próximo Estável.

Criando uma nova distribuição


Imediatamente após o lançamento da versão estável, uma nova distribuição é criada nos arquivos do Debian. Seu conteúdo inicial é uma cópia da (recém lançada) distribuição estável. Seu codinome é decidido pelos desenvolvedores e existe uma tradição de utilizar nomes de personagens do filme Toy Story.

Como um exemplo, a versão "Wheezy" será criada após o lançamento da versão Squeeze (Debian 6.0).

Para facilitar, existe um nome genérico que se refere a distribuição utilizada para preparar o próximo lançamento estável: é o "testing". Nos arquivos do Debian, "testing" é apenas um link simbólico apontando para o diretório correto (atualmente, o Squeeze).

Atualizando pacotes, trabalhando nos objetivos da versão


Durante boa parte do ciclo, os desenvolvedores trabalham empacotando as novas versões dos programas vindas do upstream e implementando os objetivos da versão. Eles fazem upload de seus pacotes na distribuição "unstable".

De lá esses pacotes só vão para a distribuição "testing" se satisfazarem alguns procedimentos de qualidade: eles não podem ter um novo bug crítico, eles precisam estar compilados para todas as arquiteturas que são suportadas, eles não podem "quebrar" nenhuma dependência no "testing", e eles precisam ter ficado pelo menos dez dias no "unstable".

Esse tempo mínimo garante que o pacote foi testado e dá tempo suficiente para o usuário reportar um bug se o pacote estiver com algum problema. Se o bug estiver marcado como crítico, ele irá bloquear a migração do pacote para o "testing".

Durante essa parte do ciclo de lançamento, o trabalho principal dos desenvolvedores é garantir que os pacotes atualizados migrem do "unstable" para o "testing". Essa pode ser uma tarefa complicada: o pacote normalmente tem dependências e esses pacotes precisam ser migrados para o "testing" juntos. Se apenas um desses pacotes não estiver preparado, então nenhum deles pode migrar.

Estabilizando, fazendo acabamento, resolvendo bugs críticos


A constante chegada de novos pacotes torna muito dificil construir uma versão com bom acabamento. É por isso que, em certo ponto, os desenvolvedores congelam a versão "testing": as atualizações automáticas são interrompidas e vetam toda atualização feita para o testing. Eles tem uma regra rígida, a meta é apenas permitir atualizações que resolvam falhas críticas, ou aquelas que são de baixo risco e irão trazer uma experiência melhor ao usuário, como novas traduções, documentação atualizada, etc.)

Durante o congelamento, alguns pacotes são removidos porque a atual versão do "upstream" não poderá ser suportada durante o tempo de vida da versão estável.

O congelamento tende a diminuir o fluxo de mudanças no "unstable". Muitos mantenedores de pacotes optam por colocar suas versões upstream no "experimental", assim se elses precisarem atualizar seus pacotes no "testing", eles podem fazer isso através do "unstable". Esse procedimento é recomendado pelos desenvolvedores porque isso significa que a atualização que eles desbloquearam foi testada como é de costume. Esse não é o caso das atualizações enviadas diretamente para o "testing".

Hora do lançamento


Após os desenvolvedores estarem satisfeitos com a qualidade da nova distribuição, alguns minutos finais são necessários, para gerar as imagens de CD, por exemplo. Nos arquivos do Debian, o lançamento é oficializado pelo apontamento do link simbólico "Estável" para a nova distribuição (e o link "oldstable" para a versão anterior).

Agora é hora de festa, o ciclo terminou e um novo pode começar.

Nenhum comentário:

Postar um comentário