Руководство разработчика по пакетированию приложений

Использование относительных параметрических путей

Если программный продукт необходимо установить на старые версии операционной системы SunOS, вся необходимая работа должна производиться в сценарии request. Этот подход можно также использовать для управления большим количеством каталогов. Если потребуются дополнительные каталоги, их необходимо включить под одним базовым каталогом для облегчить администрирование продукта. Несмотря на то, что параметр BASEDIR не предоставляет ту степень детализации, которая доступна в последних выпусках Solaris, пакет все равно может осуществлять увод базового каталога с помощью сценария request, который будет осуществлять управление параметрическими путями. Файлы pkginfo и pkgmap могут выглядеть следующим образом:

Файл pkginfo

# pkginfo file
PKG=SUNWstuf
NAME=software stuff 
ARCH=sparc
VERSION=1.0.0,REV=1.0.5
CATEGORY=application
DESC=a set of utilities that do stuff
BASEDIR=/opt
SUBBASE=SUNWstuf
VENDOR=Sun Microsystems, Inc.
HOTLINE=Please contact your local service provider
EMAIL=
MAXINST=1000
CLASSES=none daemon
PSTAMP=hubert990707141632

Файл pkgmap

: 1 1758
1 d none $SUBBASE/EZstuf 0775 root bin
1 f none $SUBBASE/EZstuf/dirdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/usrdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/filedel 0555 bin bin 40 773 751310229
1 d none $SUBBASE/HRDstuf 0775 root bin
1 f none $SUBBASE/HRDstuf/mksmart 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mktall 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkcute 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkeasy 0555 bin bin 40 773 751310229
1 d none /etc	? ? ?
1 d none /etc/rc2.d ? ? ?
1 f daemon /etc/rc2.d/S70dostuf 0744 root sys 450 223443
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
1 i i.daemon 509 39560 752978103
1 i r.daemon 320 24573 742152591

Данный пример не совершенен. Команда pkginfo -r возвращает в качестве базы установки каталог /opt, что очень расплывчато. Каталог /opt содержит много пакетов, но по крайней мере это значащий каталог. Как и в примере выше, данный пример полностью поддерживает большое количество архитектур и версий. Сценарий request можно подогнать под потребности определенного пакета и проанализировать применимые зависимости.