11. Upload dos Pacotes
Anterior |  | Próxima

## 11. Upload dos Pacotes

Uma vez que a compilação tenha terminado, os pacotes e/ou `distfiles` podem ser transferidos para o `ftp-master` para serem propagados para a rede de espelhos FTP. Se a compilação foi executada com a opção `-nofinish`, então certifique-se de executar em seguida o comando `dopackages -finish` para realizar o pós-processamento dos pacotes (remover pacotes marcados como `RESTRICTED` ou como `NO_CDROM` onde for apropriado, remover pacotes não listados no `INDEX`, remover do `INDEX` as referências para pacotes não compilados, e gerar um sumário `CHECKSUM.MD5`); e dos `distfiles` (movê-los do diretório temporário `distfiles/.pbtmp` para o diretório `distfiles/` e remover os `distfiles` marcados como `RESTRICTED` e `NO_CDROM`).

É recomendado que se execute manualmente os `scripts` `restricted.sh` e/ou `cdrom.sh` após a finalização do `dopackages`, apenas por segurança. Execute o `script` `restricted.sh` antes de fazer o upload para o `ftp-master`, em seguida, execute `cdrom.sh` antes de preparar o conjunto final de pacotes para um `release`.

Os subdiretórios de pacotes são nomeados de acordo com a versão e `branch` ao qual se destinam. Por exemplo:

- `packages-7.2-release`

- `packages-7-stable`

- `packages-8-stable`

- `packages-9-stable`

- `packages-10-current`

### Nota:

Alguns destes diretórios no `ftp-master` são na verdade `links` simbólicos. Por exemplo:

- `packages-stable`

- `packages-current`

Certifique-se de que você está movendo os novos pacotes para um diretório de destino real, e não para um dos `links` simbólicos que apontam para ele.

Se você está preparando um conjunto de pacotes completamente novo (por exemplo, para um novo `release`), copie os pacotes para a área de teste do `ftp-master` executando algo como mostrado abaixo:

`#` `cd /var/portbuild/`${arch}`/`${branch}`` `#` `tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/`${arch}`/tmp/`${subdir}``

Em seguida, entre no `ftp-master` e verifique se o conjunto de pacotes foi transferido com sucesso, remova o conjunto de pacotes que o novo conjunto vai substituir (em `~/w/ports/`${arch}``), e mova o novo conjunto para o local. (`w/` é apenas um atalho.)

Para compilações incrementais, o upload deve ser feito usando o `rsync` para não colocar muita pressão nos espelhos.

SEMPRE use o `rsync` primeiro com a opção `-n` e verifique a saída do comando para assegurar-se que não existem problemas. Se parece estar tudo bem, execute novamente o `rsync` sem a opção `-n`.

Exemplo de sintaxe do comando `rsync` para o upload incremental de pacotes:

`#` `rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/`${arch}`/`${subdir}`/ | tee log`

Os `distfiles` devem ser transferidos utilizando-se o `script` `cpdistfiles`:

`#` `/var/portbuild/scripts/cpdistfiles `${arch}` `${branch}` `${buildid}` [-yesreally] | tee log2`

A execução manual deste processo é um procedimento obsoleto.

Anterior |  | Próxima
10. Compilando Pacotes para uma Versão Específica | Principal | 12. Compilação de `Patches` Experimentais

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>.