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

Сценарий request

trap 'exit 3' 15
# determine if and where general executables should be placed
ans=`ckyorn -d y \
-p "Should executables included in this package be installed"
` || exit $?
if [ "$ans" = y ]
then
   CLASSES="$CLASSES bin"
   NCMPBIN=`ckpath -d /usr/ncmp/bin -aoy \
   -p "Where should executables be installed"
   ` || exit $?
fi
# determine if emacs editor should be installed, and if it should
# where should the associated macros be placed
ans=`ckyorn -d y \
-p "Should emacs editor included in this package be installed"
` || exit $?
if [ "$ans" = y ]
then
   CLASSES="$CLASSES emacs"
   EMACS=`ckpath -d /usr/ncmp/lib/emacs -aoy \
   -p "Where should emacs macros be installed"
   ` || exit $?
fi

Обратите внимание, что выполнение сценария request может завершиться таким образом, что ни один из файлов не останется в файловой системе. Для установки в системе Solaris версий ниже 2.5 и совместимых версий (где нельзя использовать сценарий checkinstall), сценарий request подходит наилучшим образом для тестирования файловой системы с тем, чтобы обеспечить успешную установку. Если выполнение сценария request завершается с кодом 1, произойдет чистый выход из процесса установки.

В данных файлах примеров показано, как использовать параметрические пути для создания нескольких базовых каталогов. Однако предпочтительнее использовать параметр BASEDIR, который управляется и проверяется командой pkgadd. При использовании нескольких базовых каталогов необходимо особо тщательно следить за установкой нескольких версий и архитектур на одну и ту же платформу.