Existem alguns truques que ainda não foram mencionamos sobre os arquivos pkg- que são úteis às vezes.*
Para exibir uma mensagem quando o pacote é instalado, coloque a mensagem no pkg-message. Esse recurso é geralmente útil para exibir etapas adicionais de instalação a serem executadas após o pkg install ou pkg upgrade.
pkg-message deve conter apenas informações vitais de setup e operação no FreeBSD, e isso é único para o port em questão.
As informações de configuração devem ser mostradas apenas na instalação inicial. As instruções de atualização devem ser exibidas apenas ao atualizar a versão relevante.
Os committers têm aprovação implícita para restringir as mensagens existentes na hora da instalação ou em intervalos de atualização, usando as especificações do formato UCL.
pkg-message suporta dois formatos:
Um arquivo de texto simples. Sua mensagem é sempre exibida, na instalação e na atualização.
Se o arquivo começar com “[” será considerado como um arquivo UCL. O formato UCL é descrito na página libucl no GitHub.
Não adicione uma entrada para o pkg-message ao pkg-plist.
O formato é o seguinte. Deve ser uma matriz de objetos. Os objetos em si podem ter essas palavras-chave:
messageA mensagem atual a ser exibida. Esta palavra-chave é obrigatória.
typeQuando a mensagem deve ser exibida.
maximum_versionSomente se type for upgrade. Exibe se estiver atualizando de uma versão inferior que a versão especificada.
minimum_versionSomente se type for upgrade. Exibe se estiver atualizando de uma versão maior que a versão especificada.
As palavras-chave maximum_version e minimum_version podem ser combinadas.
A palavra-chave type pode ter quatro valores:
A mensagem é sempre exibida.
installA mensagem só deve ser exibida quando o pacote é instalado.
removeA mensagem só deve ser exibida quando o pacote é removido.
upgradea mensagem só deve ser exibida durante uma atualização do pacote.
O UCL permite dois tipos de strings, as delimitadas por aspas duplas ", e as strings com o formato <<EOM. Estes dois são equivalentes:foo"
[
{ message: "Always displayed"
}
][
{ message: <<EOM
Always displayed
EOM
}
]Para preservar a compatibilidade com arquivos pkg-message não UCL, a primeira linha de um arquivo pkg-message UCL DEVE ter um simples “[”, e a última linha DEVE ter um simples “]”.
Se um port tiver um pkg-message contendo texto simples, ele pode ser transformado em UCL facilmente. Veja este pkg-message:
* BIND requires configuration of rndc, including a "secret" key. * * The easiest, and most secure way to configure rndc is to run * * 'rndc-confgen -a' to generate the proper conf file, with a new * * random key, and appropriate file permissions. *
[
{
message: <<EOD
* BIND requires configuration of rndc, including a "secret" key. *
* The easiest, and most secure way to configure rndc is to run *
* 'rndc-confgen -a' to generate the proper conf file, with a new *
* random key, and appropriate file permissions. *
EOD
}
]Quando uma mensagem precisa ser exibida apenas na instalação ou na desinstalação, defina o tipo:
[
{
message: "package being removed."
type: remove
}
{ message: "package being installed.", type: install }
]Quando um port é atualizado, a mensagem exibida pode ser ainda mais adaptada às necessidades do port.
[
{
message: "Package is being upgraded."
type: upgrade
}
{
message: "Upgrading from before 1.0 need to do this."
maximum_version: "1.0"
type: upgrade
}
{
message: "Upgrading from after 1.0 should do that."
minimum_version: "1.0"
type: upgrade
}
{
message: "Upgrading from > 1.0 and < 3.0 remove that file."
maximum_version: "3.0"
minimum_version: "1.0"
type: upgrade
}
]All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.