Capítulo 9. pkg-*

Índice
9.1. pkg-message
9.2. pkg-install
9.3. pkg-deinstall
9.4. Mudando os nomes dos pkg-*
9.5. Fazendo uso de SUB_FILES e SUB_LIST

Existem alguns truques que ainda não foram mencionamos sobre os arquivos pkg-* que são úteis às vezes.

9.1. pkg-message

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.

Importante:

  • 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:

raw

Um arquivo de texto simples. Sua mensagem é sempre exibida, na instalação e na atualização.

UCL

Se o arquivo começar com [ será considerado como um arquivo UCL. O formato UCL é descrito na página libucl no GitHub.

Nota:

Não adicione uma entrada para o pkg-message ao pkg-plist.

9.1.1. UCL no pkg-message

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:

(nenhum tipo especificado)

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.

Importante:

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 ].

Exemplo 9.1. Strings Curtas UCL

A mensagem é delimitada por aspas duplas ", isto é utilizado em strings simples de linha única:

[
{
  message: "Simple message"
}
]

Exemplo 9.2. Strings de Múltiplas Linhas UCL

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
}
]

Exemplo 9.3. Sempre Exibir uma Mensagem

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
}
]

Exemplo 9.4. Exibir uma Mensagem na Instalação/Desinstalação

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."}
]

Exemplo 9.5. Exibir uma Mensagem na Atualização

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>.