A mensagem é delimitada por aspas duplas ", isto é utilizado em strings simples de linha única:
[
{ type: install
message: "Simple message"
}
]Esta tradução pode estar desatualizada. Para ajudar com as traduções, acesse a ferramenta de traduções do FreeBSD.
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 suporta dois formatos:
Um arquivo de texto simples comum. Sua mensagem é exibida apenas na instalaçã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 três valores:
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.
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:
[
{ type: install
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 Strings Curtas UCL pode ser escrita como:
[
{ type: install
message: <<EOM
Simple message
EOM
}
]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."
}
]Ao exibir uma mensagem na atualização, é importante limitar até quando ela será mostrada ao usuário. Na maioria das vezes, é usado o |
Se o port precisa executar comandos quando o pacote binário é instalado com o pkg add ou com o pkg install, use o pkg-install. Este script será automaticamente adicionado ao pacote. Será executado duas vezes pelo pkg, a primeira vez como ${SH} pkg-install ${PKGNAME} PRE-INSTALL antes que o pacote seja instalado e uma segunda vez como ${SH} pkg-install ${PKGNAME} POST-INSTALL depois dele ter sido instalado. O valor de $2 pode ser testado para determinar em que modo o script está sendo executado. A variável de ambiente PKG_PREFIX será definida para o diretório de instalação do pacote.
Este script está aqui para ajudá-lo a configurar o pacote para que ele esteja tão pronto quanto possível para ser usado. Ele não deve ser abusado para iniciar serviços, interromper serviços ou executar quaisquer outros comandos que modificarão o sistema em execução no momento. |
Este script é executado quando um pacote é removido.
Este script será executado duas vezes pelo pkg delete. A primeira vez como ${SH} pkg-deinstall ${PKGNAME} DEINSTALL antes que o port seja desinstalado e a segunda vez como ${SH} pkg-deinstall ${PKGNAME} POST-DEINSTALL após o port ter sido desinstalado. O valor de $2 pode ser testado para determinar em que modo o script está sendo executado. A variável de ambiente PKG_PREFIX será definida para o diretório de instalação do pacote
Este script está aqui para ajudá-lo a configurar o pacote para que ele esteja tão pronto quanto possível para ser usado. Ele não deve ser abusado para iniciar serviços, interromper serviços ou executar quaisquer outros comandos que modificarão o sistema em execução no momento. |
Todos os nomes de pkg- são definidos usando variáveis que podem ser alteradas no Makefile se necessário. Isso é especialmente útil ao compartilhar os mesmos arquivos pkg- entre vários ports ou quando é necessário gravar em um desses arquivos. Veja escrevendo em lugares que não o WRKDIR para entender por que é uma má ideia escrever diretamente no diretório que contém os arquivos pkg-*.
Aqui está uma lista de nomes de variáveis e seus valores padrão. (O valor padrão do PKGDIR é ${MASTERDIR}.)
| Variável | Valor padrão |
|---|---|
|
|
|
|
|
|
|
|
|
|
SUB_FILES e SUB_LISTO SUB_FILES e o SUB_LIST são úteis para valores dinâmicos em arquivos do port, como o PREFIX de instalação dentro do pkg-message.
A SUB_FILES especifica uma lista de arquivos a serem modificados automaticamente. Cada arquivo na lista SUB_FILES deve ter um arquivo.in correspondente presente no FILESDIR. Uma versão modificada será criada como ${WRKDIR}/arquivo. Os arquivos definidos como um valor de USE_RC_SUBR são automaticamente adicionados ao SUB_FILES. Para os arquivos pkg-message, pkg-install e pkg-deinstall, a variável Makefile correspondente é automaticamente definida para apontar para a versão processada.
A SUB_LIST é uma lista de pares VAR=VALUE. Para cada par, %%VAR%% será substituído por VALUE em cada arquivo listado em SUB_FILES. Vários pares comuns são definidos automaticamente: PREFIX, LOCALBASE, DATADIR, DOCSDIR, EXEMPLESDIR, WWWDIR e ETCDIR. Qualquer linha que comece com @Comment seguido por um espaço, será excluído dos arquivos resultantes após uma substituição de variável.
Este exemplo substitui %%ARCH%% com a arquitetura do sistema em um pkg-message:
SUB_FILES= pkg-message
SUB_LIST= ARCH=${ARCH}Note que para este exemplo, o pkg-message.in deve existir no FILESDIR.
Exemplo de um bom pkg-message.in:
Now it is time to configure this package. Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home directory as .putsy.conf and edit it.
Última alteração em: 18 de fevereiro de 2025 por Fernando Apesteguía