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

Переменные среды пакета

Переменные среды можно использовать в обязательных информационных файлах, pkginfo и prototype. Кроме того, можно использовать параметр для команды pkgmk, используемой для сборки пакета. Поскольку в данной главе обсуждаются эти файлы и команды, здесь представлена дополнительная информации по переменным, зависящая от контекста. Однако перед началом сборки пакета следует ознакомиться с различными типами переменных и их возможным влиянием на успешное создание пакета.

Существуют два типа переменных:

Общие правила использования переменных среды

В файле pkginfo определение переменной имеет форму PARAM=value (Параметр=значение), и первая буква в PARAM является заглавной. Значения этих переменных определяются только во время установки. Если значение одной из этих переменных не может быть определено, выполнение команды pkgadd прерывается, и выдается сообщение об ошибке.

В файле prototype определение переменной может принять форму !PARAM=value или $variable. PARAM и variable могут начинаться как с заглавной, так и со строчной буквы. Вычисляются значения только для переменных, значения которых известны в период сборки. Если PARAM или variable является переменной сборки или установки, значение которой неизвестно во время сборки пакета, работа команды pkgmk прерывается, и появляется сообщение об ошибке.

Параметр PARAM=value можно включить и в качестве параметра команды pkgmk. Этот параметр работает так же, как в файле prototype, за исключением того, что область его действия является глобальной для всего пакета. Определение !PARAM=value в файле prototype является локальным для этого файла и той части пакета, который оно определяет.

Если PARAMявляется переменной установки, а variable - переменной установки или сборки с известным значением, то команда pkgmk вставляет определение в файл pkginfo, и это определение будет доступно в период установки. Однако команда pkgmk не определяет значения PARAM, содержащиеся в именах путей, указанных в файле prototype.

Краткий обзор переменных среды пакета

В таблице ниже представлен краткий обзор форматов, местоположения и области применения переменных.

Таблица 2–2 Краткий обзор переменных среды пакета

Место определения переменной 

Формат определения переменной 

Тип определяемой переменной 

Когда определяется значение переменной 

Где определяется значение переменной 

Элементы, которые переменная может заменить 

Файл pkginfo

PARAM=value

Переменная сборки 

Игнорируется во время сборки 

нет 

Нет 

Установка 

Во время установки 

В файле pkgmap

owner (владелец), group (группа), path (путь) или цель ссылки

 

 

Файл prototype

!PARAM=value

Переменная сборки 

Во время сборки 

В файле prototype и любых включенных файлах

mode (режим), owner (владелец), group (группа) или path (путь)

Установка 

Во время сборки 

В файле prototype и любых включенных файлах

Только в командах !search и !command

 

 

Командная строка pkgmk

PARAM=value

Переменная сборки 

Во время сборки 

В файле prototype

mode (режим), owner (владелец), group (группа) или path (путь)

Установка 

Во время сборки 

В файле prototype

Только команда !search

 

 

Во время установки 

В файле pkgmap

owner (владелец), group (группа), path (путь) или link target (целевая ссылка)