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:
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 três valores:
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:
[ { 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_LIST
O 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: 9 de março de 2024 por Danilo G. Baio