Nota: 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
Nota: É 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
Nota: 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.
Nota: Mais uma vez usando sudo:
Informe o qmanager sobre a arquitetura:
python path/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/errors arch-branch-full ln -s ../arch/branch/builds/latest/bak/logs arch-branch-full-logs ln -s ../arch/branch/builds/latest/errors arch-branch-latest ln -s ../arch/branch/builds/latest/logs arch-branch-latest-logs ln -s ../arch/branch/builds/latest/bak/packages arch-branch-packages-full ln -s ../arch/branch/builds/latest/packages arch-branch-packages-latest
Crie mais dois links simbólicos para o servidor web dentro do diretório /var/portbuild/errorlogs/:
ln -s ../arch/archive/buildlogs arch-buildlogs ln -s ../arch/archive/errorlogs arch-errorlogs
Nota: Novamente como ports-arch:
Para cada branch que será suportado, faça o seguinte:
Inicie a compilação para o branch com:
build create arch branch
Nota: 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)
Anterior | Principal | Próxima |
Como regerar pacotes baseados em outra versão menor do FreeBSD | Como configurar um novo nó principal (instância do pointyhat) |
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>.