Guia do Desenvolvedor de Empacotamento de Aplicativos

Exemplo - Um pacote absoluto tradicional

Se o pacote SUNWstuf fosse um pacote absoluto, o parâmetro BASEDIR não deveria estar no arquivo pkginfo e o arquivo pkgmap teria a seguinte aparência.

O arquivo pkgmap

: 1 1758
1 d none /opt ? ? ?
1 d none /opt/SUNWstuf 0775 root bin
1 d none /opt/SUNWstuf/EZstuf 0775 root bin
1 f none /opt/SUNWstuf/EZstuf/dirdel 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/EZstuf/usrdel 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/EZstuf/filedel 0555 bin bin 40 773 751310229
1 d none /opt/SUNWstuf/HRDstuf 0775 root bin
1 f none /opt/SUNWstuf/HRDstuf/mksmart 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mktall 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mkcute 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mkeasy 0555 bin bin 40 773 751310229
1 i pkginfo 348 28411 760740163
1 i postinstall 323 26475 751309908
1 i postremove 402 33179 751309945
1 i preinstall 321 26254 751310019
1 i preremove 320 26114 751309865

Neste exemplo, se o administrador tivesse especificado um diretório base alternativo durante a instalação, ele seria ignorado pelo comando pkgadd. Este pacote é instalado sempre no /opt/SUNWstuf do sistema de destino.

O argumento -R do comando pkgadd funciona conforme o previsto. Por exemplo,


pkgadd -d . -R /export/opt/client3 SUNWstuf

instala os objetos em /export/opt/client3/opt/SUNWstuf. Porém, isso é o mais perto que este pacote chega de ser um pacote relocável.

Observe o uso do ponto de interrogação (?) no diretório /opt do arquivo pkgmap. Isso indica que os atributos existentes não devem ser alterados. Não significa “criar o diretório com atributos padrão”, embora sob certas circunstâncias isso possa ocorrer. Qualquer diretório específico de um novo pacote deve especificar todos os atributos explicitamente.