Os passos iniciais precisam ser feitos usando sudo.
Crie um novo usuário e grupo
ports-arch.
mkdir /var/portbuild/archCrie um novo sistema de arquivo zfs:
zfs create -o mountpoint=/a/portbuild/archa/portbuild/arch
chown ports-arch:portmgr /var/portbuild/arch; chmod 755 /var/portbuild/arch; cd /var/portbuild/arch
Crie e popule o diretório
.ssh.
Crie um diretório para os logs de
compilação e para os logs de
erros:
mkdir /dumpster/pointyhat/arch/archiveÉ possível que
/dumpster/pointyhat não tenha mais
espaço suficiente. Neste caso, crie o diretório dos
arquivos como
/dumpster/pointyhat/arch/archive
e crie um link simbólico para ele.
(Isso precisa ser resolvido.)
Crie um link para o diretório acima
para o servidor web:
ln -s /dumpster/pointyhat/arch/archive archiveOs próximos passos são mais fáceis de serem realizados
como o usuário
ports-arch.
No diretório
/var/portbuild/arch
execute:
mkdir clients
Popule o diretório clients como de costume.
mkdir loads
mkdir lockfiles
Crie um make.conf local. Nos casos
mais comuns você pode executar:
ln ../make.conf ./make.conf
Crie um arquivo vazio mlist.
(Necessário apenas para o antigo código base) Crie o
pnohang.arch.
(O modo mais fácil é fazer isso em um cliente,
e depois copiar o arquivo de volta):
cc pnohang.c -o pnohang-archCrie um novo arquivo portbuild.conf
a partir de um existente para uma outra arquitetura.
Crie os arquivos
portbuild.machinename.conf
personalizando-os de forma adequada.
cd .ssh && ssh-keygen
Edite o arquivo .ssh/config para
tornar mais conveniênte o uso do
ssh.
Crie o diretório de configuração privada:
mkdir /var/portbuild/conf/archCrie os scripts
dotunnel.* que forem necessários
dentro do diretorio acima.
Mais uma vez usando sudo:
Informe o qmanager sobre a arquitetura:
pythonpath/qmanager/qclient add_acl name=ports-archuidlist=ports-archgidlist=portmgr sense=1
(Necessário apenas para o novo código base):
Adicione a arch na variável
SUPPORTED_ARCHS do arquivo
/var/portbuild/arch/server.conf.
(Necessário apenas para o antigo código base): Edite o
/var/portbuild/scripts/buildenv.
Adicione o diretório arch no
/var/portbuild/scripts/zbackup e no
/var/portbuild/scripts/zexpire.
Necessário apenas para o antigo código base): Como no
procedimento para criação de um novo
branch: crie os links
para o servidor web no diretório
/var/portbuild/errorlogs/:
ln -s ../arch/branch/builds/latest/bak/errorsarch-branch-full ln -s ../arch/branch/builds/latest/bak/logsarch-branch-full-logs ln -s ../arch/branch/builds/latest/errorsarch-branch-latest ln -s ../arch/branch/builds/latest/logsarch-branch-latest-logs ln -s ../arch/branch/builds/latest/bak/packagesarch-branch-packages-full ln -s ../arch/branch/builds/latest/packagesarch-branch-packages-latest
Crie mais dois links simbólicos para o
servidor web dentro do diretório
/var/portbuild/errorlogs/:
ln -s ../arch/archive/buildlogsarch-buildlogs ln -s ../arch/archive/errorlogsarch-errorlogs
Novamente como
ports-arch:
Para cada branch que será suportado,
faça o seguinte:
Inicie a compilação para o branch
com:
build createarchbranch
Uma última vez usando o sudo:
(Necessário apenas para o antigo código base): Só depois
que a primeira execução do
dopackages for feita para a
arquitetura: adicione a arquitetura ao
/var/portbuild/scripts/dopackagestats.
Adicione uma entrada arch
apropriada para o
/var/portbuild/scripts/dologs no
crontab do usuário root. (Esta é uma
solução paliativa)
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>.