Capítulo 17. Criação automatizada da lista do pacote

Primeiro, certifique-se que seu port está quase completo, com somente pkg-plist faltando.

Próximo, crie uma arvore de diretório temporário dentro da qual seu port possa ser instalado, e instala quaiquer dependências. port-type deve ser local para ports não-X e x11-4 ou x11 para ports qual instala dentro da hierarquia do diretório do XFree86 4 ou uma anterior XFree86 release, respectivamente.

# mkdir /var/tmp/port-name
# mtree -U -f /etc/mtree/BSD.port-type.dist -d -e -p /var/tmp/port-name
# make depends PREFIX=/var/tmp/port-name

Armazene a estrutura de diretório em um novo arquivo.

# (cd /var/tmp/port-name && find -d * -type d) | sort > OLD-DIRS

Crie um arquivo pkg-plist vazio:

# touch pkg-plist

Se seu port honors PREFIX (which it should) você pode então instalar o port e criar a lista de pacote.

# make install PREFIX=/var/tmp/port-name
# (cd /var/tmp/port-name && find -d * \! -type d) | sort > pkg-plist

Você tem que também adicionar quaiquer diretórios criados recentemente a lista de empacotamento.

# (cd /var/tmp/port-name && find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' >> pkg-plist

Finalmente, você necessita to tidy up a lista de empacotamento pela mão; ele não é todo automatizado. Páginas do manual devem ser listadas no Makefile do port sob MANn, e não na lista de pacotes. Arquivos de configuração do usuário devem ser removidos, ou instalados como filename.sample. O arquivo info/dir não deve ser listado e apropriadas linhas install-info devem ser adicionadas como notas na seção info files. Quaisquer bibliotecas instaladas pelo port devem ser listadas como especificada na seção bibliotecas compartilhadas.

Alternativamente, use o script plist no /usr/ports/Tools/scripts/ para construir a lista de pacote automaticamente.

For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.