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

Использование параметра BASEDIR

Файл pkginfo для любого перемещаемого пакета должен включать базовый каталог по умолчанию в форме подобной записи:


BASEDIR=absolute_path

Это лишь базовый каталог по умолчанию; он может быть изменен администратором в ходе установки.

Хотя для некоторых пакетов требуется несколько базовых каталогов, преимущество использования этого параметра для размещения пакета состоит в том, что к моменту начала установки базовый каталог гарантированно будет на месте и доступным для записи как допустимый каталог. Правильный путь к базовому каталогу сервера и клиента доступен всем процедурным сценариям в форме зарезервированных переменных среды. Текущий базовый каталог установки отображается с помощью команды pkginfo -r SUNWstuf.

В сценарии checkinstall параметр BASEDIR существует точно в том виде, как он был определен в файле pkginfo (условия еще не были определены). Для проверки целевого базового каталога требуется конструкция ${PKG_INSTALL_ROOT}$BASEDIR. Это означает, что сценарии request и checkinstall могут изменять значение параметра BASEDIR в среде установки с предсказуемыми результатами. Ко времени вызова сценария preinstall параметр BASEDIR уже является полностью обусловленным указателем на действительный базовый каталог целевой системы, даже если эта система - клиент.


Примечание –

Сценарий request использует параметр BASEDIR по-разному в разных выпусках операционной системы SunOS. Чтобы осуществить проверку параметра BASEDIR в сценарии request, следует использовать следующий программный код, позволяющий определить фактический используемый базовый каталог.

# request script
constructs base directory
if [ ${CLIENT_BASEDIR} ]; then
	  LOCAL_BASE=$BASEDIR
else
	  LOCAL_BASE=${PKG_INSTALL_ROOT}$BASEDIR
fi