Copyright © 2003-2012 Equipe de Gerenciamento da Coleção de Ports do FreeBSD
Chroot
Patches
Experimentaisbranch
do
FreeBSDbranch
que deixou de
ser suportado pelo FreeBSDCom 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
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).
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:
.
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.
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.
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>.