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.
Não coloque as mensagens entre espaços em branco ou linhas de símbolos (como ----------
, **********
, ou ==========
). Deixe a formatação com o pkg(8).
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:
message
A mensagem atual a ser exibida. Esta palavra-chave é obrigatória.
type
Quando a mensagem deve ser exibida.
maximum_version
Somente se type
for upgrade
. Exibe se estiver atualizando de uma versão inferior que a versão especificada.
minimum_version
Somente 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.
install
A mensagem só deve ser exibida quando o pacote é instalado.
remove
A mensagem só deve ser exibida quando o pacote é removido.
upgrade
a mensagem só deve ser exibida durante uma atualização do pacote.
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 “]
”.
A mensagem é delimitada por aspas duplas "
, isto é utilizado em strings simples de linha única:
[ { message: "Simple message" } ]
Strings de múltiplas linhas utiliza o padrão here de documento de notação. O delimitador de múltiplas linhas deve iniciar logo após os símbolos <<
sem espaço em branco, e ele deve ser apenas em letras maiúsculas. Para finalizar uma sequência de múltiplas linhas, adicione o delimitador em uma linha única, sem nenhum espaço em branco. A mensagem de Exemplo 9.1, “Strings Curtas UCL” pode ser escrita como:
[ { message: <<EOM Simple message EOM } ]
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:
[ { type: remove message: "package being removed." } { type: install, message: "package being installed."} ]
Quando um port é atualizado, a mensagem exibida pode ser ainda mais adaptada às necessidades do port.
[ { type: upgrade message: "Package is being upgraded." } { type: upgrade maximum_version: "1.0" message: "Upgrading from before 1.0 need to do this." } { type: upgrade minimum_version: "1.0" message: "Upgrading from after 1.0 should do that." } { type: upgrade maximum_version: "3.0" minimum_version: "1.0" message: "Upgrading from > 1.0 and < 3.0 remove that file." } ]
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>.