Procedimentos para Construção de 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 | Principal | Próxima
Compilando Pacotes para uma Versão Específica |  | 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>.