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

Создание файла pkginfo

Файл pkginfo представляет собой файл ASCII, в котором описаны характеристики пакета и даны сведения, которые помогают контролировать процесс установки.

Каждая запись в файле pkginfo представляет из себя строку, которая устанавливает значения параметра в формате PARAM=value. PARAM может быть любым стандартным параметром, описанным на справочной странице pkginfo(4) Не существует обязательного порядка, в котором следует указывать параметры.


Примечание –

Каждое значение value может быть заключено в одинарные или двойные кавычки, например: 'value' или “value”). Если значение value содержит символы, считающиеся специальными в интерпретаторе команд, необходимо использовать кавычки. В практических примерах, приведенных в данной книге, не используются кавычки. Пример использования двойных кавычек приведен на справочной странице pkginfo(4).


Можно также создавать свои собственные параметры пакета, присвоив им значение в файле pkginfo. Ваши собственные параметры должны начинаться с заглавной буквы. Дальнейшие буквы могут быть как заглавными, так и строчными. Заглавная буква означает, что параметр (переменная) будет определен во время установки, а не во время сборки. Для получения дополнительной информации о разнице между переменными установки и переменными сборки см. раздел Переменные среды пакета.


Примечание –

Конечные пробелы после любого значения параметра игнорируются.


Необходимо определить следующие пять параметров в файле pkginfo: PKG, NAME, ARCH, VERSION и CATEGORY. Параметры PATH, PKGINST и INSTDATE вставляются автоматически программным обеспечением во время сборки пакета. Не следует изменять эти восемь параметров. Для информации об остальных параметрах см. справочную страницу pkginfo(4).

Определение экземпляра пакета

Один и тот же пакет может иметь различные версии, быть совместимым с различными архитектурами или и то и другое одновременно. Каждая разновидность пакета называется экземпляр пакета. Экземпляр пакета определяется по сочетанию определений параметров PKG, ARCH и VERSION в файле pkginfo.

Команда pkgadd назначает идентификатор пакета каждому экземпляру пакета в процессе установки. Идентификатор пакета - это аббревиатура пакета с цифровым суффиксом, например SUNWadm.2. Данный идентификатор служит отличительным признаком экземпляра пакета, по которому его можно отличить от любых других пакетов, включая другие экземпляры этого же пакета.

Определение аббревиатуры пакета (PKG)

Аббревиатура пакета - это краткое название пакета, которое определяется параметром PKG в файле pkginfo. Аббревиатура пакета должна иметь следующие характеристики:

Указание архитектуры пакета (ARCH)

Параметр ARCH в файле pkginfo определяет, какие архитектуры связаны с данным пакетом. Имя архитектуры не должно превышать 16 алфавитно-цифровых символов. Если пакет связан с несколькими архитектурами, то все архитектуры необходимо перечислить в списке через запятую.

Пример спецификации архитектуры пакета в файле pkginfo :


ARCH=sparc

Указание архитектуры системы команд пакета (SUNW_ISA)

Параметр SUNW_ISA в файле pkginfo указывает, какая архитектура системы команд связана с пакетом Sun Microsystems. Может принимать следующие значения:

Например, значение SUNW_ISA в файле pkginfo для пакета, содержащего 64-разрядные объекты, будет:


SUNW_ISA=sparcv9

Если параметр SUNW_ISA не установлен, то по умолчанию архитектура системы команд пакета устанавливается на значение параметра ARCH.

Указание версии пакета (VERSION)

Параметр VERSION в файле pkginfo указывает версию пакета. Название версии не должно превышать 256 символов ASCII и не может начинаться с левой скобки.

Пример спецификации версии в файле pkginfo:


VERSION=release 1.0

Определение имени пакета (NAME)

Имя пакета - это полное название пакета, определяемое параметром NAME в файле pkginfo.

Поскольку системные администраторы часто используют имена пакетов для указания, следует ли устанавливать тот или иной пакет, написание четких и выразительных полных имен пакетов очень важно. Имена пакетов должны соответствовать следующим ниже критериям.

Пример имени пакета, определенного в файле pkginfo:


NAME=Chip designers need CAD application software to design
abc chips.  Runs only on xyz hardware and is installed in the
usr partition.

Определение категории пакета (CATEGORY)

Параметр CATEGORY в файле pkginfo указывает, к какой категории принадлежит пакет. Пакет должен принадлежать как минимум к одной из следующих категорий: system (система) или application (приложение). Имена категорий обозначаются алфавитно-цифровыми символами. Имена категорий не зависят от регистра и не должны превышать 16 символов в длину.

Если пакет принадлежит к нескольким категориям, укажите эти категории в списке через запятую.

Пример спецификации CATEGORY в файле pkginfo :


CATEGORY=system

ProcedureКак создать файл pkginfo

  1. С помощью своего любимого текстового редактора создайте файл с именем pkginfo.

    Этот файл может быть создан в любом месте системы.

  2. Откройте файл для правки и определите пять обязательных параметров.

    Этими пятью параметрами являются: PKG, NAME, ARCH, VERSION и CATEGORY. Для получения дополнительной информации об этих параметрах ознакомьтесь с разделом Создание файла pkginfo.

  3. Добавьте к файлу любые необязательные параметры.

    Создайте свои собственные параметры или прочтите справочную страницу pkginfo(4) для получения сведений о стандартных параметрах.

  4. Сохраните изменения и выйдите из редактора.


Пример 2–1 Создание файла pkginfo

В данном примере показано содержимое допустимого файла pkginfo с пятью обязательными параметрами, а также с параметром BASEDIR. Параметр BASEDIR более подробно обсуждается в разделе Поле path.


PKG=SUNWcadap
NAME=Chip designers need CAD application software to design abc chips.  
Runs only on xyz hardware and is installed in the usr partition.
ARCH=sparc
VERSION=release 1.0
CATEGORY=system
BASEDIR=/opt

См. также

См. раздел Как упорядочить содержимое пакета.