Copyright © 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Equipe de Gerenciamento da Coleção de Ports do FreeBSD
$FreeBSD: head/pt_BR.ISO8859-1/articles/portbuild/article.xml 39892
2012-11-01 11:06:14Z ebrandi $
Com o objetivo de disponibilizar binários pré-compilados de aplicações de terceiros para o FreeBSD, a Coleção de Ports é regularmente compilada em um dos “Clusters de Compilação de Pacotes”. Atualmente o principal cluster em uso é o http://pointyhat.FreeBSD.org.
Este artigo documenta os trabalhos internos do cluster
Nota: Muitos dos detalhes deste artigo serão do interesse apenas dos membros da equipe que faz o Gerenciamento da Coleção de Ports
A maior parte da mágica na compilação de pacotes ocorre sob o diretório /var/portbuild. A menos que seja especificado o contrário, todos os caminhos serão relativos à este diretório. O ${arch} será usado para determinar uma das arquiteturas de pacotes (amd64, i386™, ia64, powerpc, e SPARC64®), e ${branch} será usado para determinar o branch (ramo de desenvolvimento) de compilação (7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp).
Nota: Não são mais compilados pacotes para as versões 4, 5 ou 6, e para a arquitetura alpha
Os scripts que controlam todo o processo estão localizados em /var/portbuild/scripts/. Eles são cópias obtidas do repositório Subversion base/projects/portbuild/scripts/.
Normalmente são feitas compilações incrementais que usam pacotes anteriores como dependências; isso toma menos tempo, e coloca menos carga nos sites espelho. Normalmente são feitas compilações completas apenas quando:
logo depois de uma nova versão, para o ramo -STABLE
periodicamente, para testar mudanças realizadas no -CURRENT
para compilações experimentais
Até meados de 2010, os scripts apontavam especificamente para pointyhat como o nó principal (dispatch). Durante o verão de 2010, mudanças significativas foram feitas a fim de aceitar outros hosts como nós principais. Entre estas mudanças estão:
remoção da string pointyhat embutida no código
fatoração de todas as constantes de configuração (que antes estavam espalhadas por todo o código) em arquivos de configuração (veja abaixo)
adicionar o hostname aos diretórios especificados pelo buildid (isto vai permitir que os diretórios sejam inequívocos quando copiados entre máquinas.)
tornar os scripts mais robustos em termos de criação de diretórios e links simbólicos
se necessário, alterar a forma de execução dos scripts para tornar os itens acima mais fáceis.
Este documento foi escrito originalmente antes destas mudanças serem feitas. Nas partes em que algo foi modificado, como nas invocações de scripts, elas estão denotadas como novo código base: em oposição à antigo código base:.
Nota: Como em dezembro de 2010, o pointyhat ainda está rodando sobre o antigo código base, até que o novo código base seja considerado estável.
Nota: Também durante esse processo, o código base foi migrado para o repositório Subversion. Para referência, a versão anterior ainda pode ser encontrada no CVS.
Próxima | ||
Gerenciamento dos Clientes de Compilação |
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.