6. Anatomia de uma compilação
Anterior |  | Próxima

## 6. Anatomia de uma compilação

Uma compilação completa, sem qualquer opção `-no` que desabilite as opções padrões, executa as seguintes operações na ordem especificada:

1. Atualiza a árvore de `ports` atual a partir de um `snapshot` do ZFS [*]

2. Atualiza o `branch` usado na árvore `src` a partir de um `snapshot` do ZFS [*]

3. Verifica se `ports` não têm uma entrada `SUBDIR` no `Makefile` de suas respectivas categorias [*]

4. Cria o arquivo `duds`, que é uma lista de `ports` que não precisam ser compilados [*] [+]

5. Cria um arquivo `INDEX` atualizado [*] [+]

6. Define os nós que serão usados na compilação [*] [+]

7. Compila uma lista de `ports` restritos [*] [+]

8. Compila os pacotes (fase 1) [++]

9. Executa outra configuração do nó [+]

10. Compila os pacotes (fase 2) [++]

[*] O status destes passos pode ser encontrado em ``${arch}`/`${branch}`/build.log`, bem como no `stderr` do `tty` onde o comando `dopackages` está rodando.

[+] Se qualquer destes passos falhar, a compilação será encerrada.

[++] O status destes passos pode ser encontrado em ``${arch}`/`${branch}`/make` (antigo código base) ou ``${arch}`/`${branch}`/journal` (novo código base). `Ports` individuais irão escrever seus `logs` de compilação em ``${arch}`/`${branch}`/logs` e os seus `logs` de erros em ``${arch}`/`${branch}`/errors`.

Anteriormente, a árvore `docs` também era verificada, no entanto, isso se mostrou desnecessário.

Anterior |  | Próxima
5. Iniciando a Compilação | Principal | 7. Manutenção da 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>.