Você pode usar variáveis nos arquivos de informação necessários, pkginfo e prototype. Você também pode usar uma opção para o comando pkgmk, usada para construir um pacote. À medida que estes arquivos e comandos são tratados neste capítulo, mais informações sobre variáveis relacionadas ao contexto são proporcionadas. No entanto, antes de começar a construir o pacote, você deve conhecer os diferentes tipos de variáveis e como elas podem afetar a criação bem-sucedida de um pacote.
Há dois tipos de variáveis:
As variáveis de construção começam com uma letra minúscula e são avaliadas no tempo de construção, conforme o pacote está sendo construído com o comando pkgmk.
As variáveis de instalação começam com uma letra maiúscula e são avaliadas no tempo de instalação, conforme o pacote está sendo instalado com o comando pkgadd.
No arquivo pkginfo, a definição de uma variável tem a forma PARAM=value, na qual a primeira letra de PARAM é maiúscula. Estas vairáveis são avaliadas somente no momento da instalação. Se alguma dessas variáveis não puder ser avaliada, o comando pkgadd aborta com um erro.
No arquivo prototype, a definição de uma variável pode ter a forma !PARAM=value ou $variable. Tanto PARAM quanto variable podem começar com uma letra maiúscula ou minúscula. São avaliadas somente as variáveis cujos valores são conhecidos no momento da instalação. Se PARAM ou variable for uma variável de construção ou de instalação cujo valor não é conhecido no momento da construção, o comando pkgmk aborta com um erro.
É possível incluir a opção PARAM=value como uma opção do comando pkgmk. Esta opção funciona da mesma forma que no arquivo prototype, exceto que seu escopo é global e abrange todo o pacote. A definição de !PARAM=value em um arquivo prototype é local para tal arquivo e para a parte do pacote que ele define.
Se PARAM é uma variável de instalação e variable é uma variável de instalação ou de construção com um valor conhecido, o comando pkgmk insere a definição no arquivo pkginfo para que a definição esteja disponível no momento da instalação. No entanto, o comando pkgmk não avalia os PARAM que estão em quaisquer nomes de caminho especificados no arquivo prototype.
A tabela seguinte resume o local, o escopo e os formatos de especificação das variáveis.
Tabela 2–2 Resumo das variáveis de ambiente do pacote
Onde a variável está definida |
Formato de definição da variável |
Tipo de variável que está sendo definida |
Quando a variável é avaliada |
Onde a variável é avaliada |
Itens que podem substituir a variável |
---|---|---|---|---|---|
Arquivo pkginfo |
PARAM=value |
Construção |
Ignorado no tempo de construção |
N/D |
Nenhum |
Instalação |
Tempo de instalação |
No arquivo pkgmap |
owner, group, path ou destino de link |
|
|
Arquivo prototype |
!PARAM=value |
Construção |
Tempo de construção |
No arquivo prototype e nos arquivos incluídos |
mode, owner, group ou path |
Instalação |
Tempo de construção |
No arquivo prototype e nos arquivos incluídos |
Somente nos comandos !search e !command |
|
|
Linha de comando pkgmk |
PARAM=value |
Construção |
Tempo de construção |
No arquivo prototype |
mode, owner, group ou path |
Instalação |
Tempo de construção |
No arquivo prototype |
Somente no !search |
|
|
Tempo de instalação |
No arquivo pkgmap |
owner, group, path ou destino de link |
|
|
|