Os passos iniciais precisam ser feitos usando sudo.
Crie um novo usuário e grupo
ports-arch
.
mkdir /var/portbuild/arch
Crie um novo sistema de arquivo zfs:
zfs create -o mountpoint=/a/portbuild/arch
a/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 archive
Os 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-arch
Crie 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/arch
Crie 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-arch
uidlist=ports-arch
gidlist=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 createarch
branch
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>.