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.