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

Обработка классов во время установки пакета

Ниже приведено описание действий системы при установке класса. Эти действия повторяются для каждого тома пакета во время его установки.

  1. Команда pkgadd позволяет создать список путевых имен.

    С помощью команды pkgadd производится создание списка путевых имен, над которыми производит действие сценарий. В каждой строке этого списка указывается исходный и целевой пути, разделенные пробелом. Исходный путь указывает, где в установочном томе расположен устанавливаемый объект . Целевой путь указывает местоположение в целевой системе, куда будет устанавливаться объект. Содержимое списка ограничивается следующими критериями.

    • В списке содержатся только путевые имена, принадлежащие связанному классу.

    • При сбое создания объекта пакета каталоги, именованные каналы, символьные устройства, блочные устройства и символические ссылки включаются в список с исходными путевым именем, равным /dev/null. Обычно эти элементы автоматически создаются с помощью команды pkgadd (если еще не существуют) и наделяются правильными атрибутами (режим, владелец, группа) согласно определению в файле pkgmap.

    • В список ни в коем случае не включаются связанные файлы типа l. Жесткие ссылки в данном классе создаются в элементе 4.

  2. Если для установки конкретного класса не предоставлен сценарий действия над классом, путевые имена в создаваемом списке копируются из тома в соответствующее целевое местоположение.

  3. Выполняется сценарий действия над классом (если существует).

    При вызове сценария действия над классом на его стандартный вход подается список, созданный в элементе 1. Если этот том является последним томом пакета или при отсутствии других объектов в этом классе сценарий выполняется с единственным аргументом ENDOFCLASS.


    Примечание –

    Даже если в пакете больше нет обычных файлов этого класса, производится вызов сценария действия над классом как минимум один раз с пустым списком и аргументом ENDOFCLASS.


  4. Командаpkgadd осуществляет аудит содержимого и атрибутов, а также создание жестких ссылок.

    После успешного выполнения элемента 2 или 3 команда pkgadd производит аудит содержимого и информации атрибутов для списка путевых имен. Команда pkgadd автоматически создает ссылки, связанные с классом. Обнаруженные несовпадения атрибутов в созданном списке исправляются для всех путевых имен.