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.