В этом разделе содержится описание необязательных информационных файлов пакета. С помощью этих файлов можно определить зависимости пакета, предоставить для пользователей сообщение об авторских правах, а также зарезервировать дополнительное дисковое пространство на целевой системе.
Необходимо определить, будет ли ваш пакет иметь зависимости от других пакетов или другие пакеты будут зависеть от вашего пакета. Зависимости и несовместимые версии можно определить с помощью двух дополнительных информационных файлов пакета, compver и depend.
Файл compver позволяет указать предыдущие версии пакета, совместимые с устанавливаемой версией.
Поставка файла depend позволяет определить три типа зависимостей, связанных с создаваемым пакетом. Эти типы зависимости перечислены ниже:
Требуемый пакет – Создаваемый пакет зависит от существования другого пакета
Обратная зависимость – Другой пакет зависит от существования этого пакета
Использовать обратную зависимость следует только в том случае, если от существующего пакета зависит пакет, в котором нет файла depend.
Несовместимый пакет – Созданный пакет несовместим с указанными пакетами
Файл depend разрешает только самые основные зависимости. Если пакет имеет зависимость от конкретного файла, его содержимого или поведения, файл depend не может обеспечить необходимую точность. В этом случае для подробной проверки зависимостей необходимо использовать сценарий request или сценарий checkinstall. Сценарий checkinstall также является единственным сценарием, который может без ошибок остановить процесс установки пакета.
Убедитесь в том, что файлы depend и compver имеют записи в файле prototype. Файл должен иметь тип i (для информационного файла пакета).
Для получения дополнительной информации см. справочную страницу depend(4) и compver(4).
Сделайте каталог, где содержатся информационные файлы, текущим рабочим каталогом.
Если имеются предыдущие версии пакета и необходимо указать, что новый пакет с ними совместим, с помощью любого текстового редактора создайте файл с именем compver.
Перечислите версии, совместимые с создаваемым пакетом. Используйте следующий формат:
string string . . . |
Значение строки string является идентичным значению, присвоенному параметру VERSION в файле pkginfo, для каждого совместимого пакета.
Сохраните изменения и выйдите из редактора.
Если создаваемый пакет имеет зависимость от существования других пакетов или другие пакеты имеют зависимости от существования вашего, а также если ваш пакет несовместим с другими пакетами, создайте файл с именем depend в любом текстовом редакторе.
Добавьте запись для каждой зависимости. Используйте следующий формат:
type pkg-abbrev pkg-name (arch) version (arch) version . . . |
Определяет тип зависимости. Должен быть выражен одним из следующих символов: P (требуемый пакет), I (несовместимый пакет) или R (обратная зависимость).
Указывает сокращенное имя (аббревиатуру) пакета, например SUNWcadap.
Указывает полное описание пакета, например: Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition.
Необязательный параметр. Указывает тип оборудования, на котором выполняется пакет. Например, sparc или x86. При указании архитектуры системы в качестве разделителя необходимо использовать скобки.
Необязательный параметр. Указывает значение, назначенное параметру VERSION в файле pkginfo.
Для получения дополнительных сведений см. страницу depend(4).
Сохраните изменения и выйдите из редактора.
Выполните одну из следующих задач.
Если необходимо создать дополнительные информационные файлы и сценарии установки, перейдите к следующей задаче: Написание сообщения об авторских правах.
Если файл prototype еще не создан, выполните процедуру Создание файла prototype с помощью команды pkgproto. Перейдите к Шаг 7.
Если файлprototype уже создан, измените его, добавив запись для каждого созданного файла.
Выполните сборку пакета.
В случае необходимости см. главу Как собрать пакет.
В этом примере имеются четыре версии пакета: 1.0, 1.1, 2.0, и новая версия пакета - 3.0. Новый пакет совместим со всеми тремя версиями. Файл compver для новой версии может выглядеть следующим образом:
release 3.0 release 2.0 version 1.1 1.0 |
Записи не обязательно располагать в последовательном порядке. Однако они должны в точности соответствовать определению параметра VERSION в файле pkginfo каждого пакета. В этом примере разработчики пакета используют различные форматы первых трех версий.
В этом примере предполагается, что пример пакета SUNWcadap требует наличия установленных в целевой системе пакетов SUNWcsr и SUNWcsu. Файл depend для пакета SUNWcadap выглядит следующим образом:
P SUNWcsr Core Solaris, (Root) P SUNWcsu Core Solaris, (Usr) |
После сборки пакета установите его для подтверждения правильности выполнения установки и проверьте его целостность. Глава 4Проверка и запись пакета содержатся пояснения по этим задачам и поэтапные указания по записи проверенного пакета на распространяемый носитель.
Вам необходимо решить, будет ли при установке пакета отображаться сообщение об авторских правах. Если оно должно отображаться, создайте файл copyright.
Чтобы обеспечить юридическую защиту для создаваемого приложения, создайте файл copyright . Для того, чтобы получить текст содержимого файла, обратитесь в юридический отдел своей компании.
Чтобы донести до пользователей сообщение об авторских правах, создайте файл с именем copyright. Во время установки пакета сообщение будет показываться точно в том виде, в каком оно представлено в файле (без учета форматирования). Для получения дополнительной информации см. справочную страницу copyright(4).
Убедитесь, что файл copyright имеет запись в файле prototype. Файл должен иметь тип i (для информационного файла пакета).
Сделайте каталог, где содержатся информационные файлы, текущим рабочим каталогом.
Создайте файл с именем copyright с помощью любого текстового редактора.
Введите текст сообщения об авторских правах точно в том виде, в каком оно должно отображаться при установке пакета.
Сохраните изменения и выйдите из редактора.
Выполните одну из следующих задач.
Если необходимо создать дополнительные информационные файлы и сценарии установки, перейдите к следующей задаче Резервирование дополнительного дискового пространства на целевой системе.
Если вы не создали файл prototype, выполните процедуру Создание файла prototype с помощью команды pkgproto. Перейдите к Шаг 5.
Если файл prototype уже создан, измените его, добавив записи для созданных информационных файлов.
Выполните сборку пакета.
В случае необходимости см. главу Как собрать пакет.
Например, часть сообщения об авторских правах может выглядеть следующим образом:
Copyright (c) 2003 Company Name All Rights Reserved This product is protected by copyright and distributed under licenses restricting copying, distribution, and decompilation. |
После сборки пакета установите его для подтверждения правильности выполнения установки и проверьте его целостность. Глава 4Проверка и запись пакета содержатся пояснения по этим задачам и поэтапные указания по записи проверенного пакета на распространяемый носитель.
Вам необходимо принять решение о том, требуется ли для вашего пакета дополнительное место на диске на целевой системе. Это дополнительное место, которое необходимо для объектов пакета. В этом случае создайте информационный файл space . Эта задача отличается от создания пустых файлов и каталогов во время установки, как указывается в разделе Определение дополнительных объектов, которые будут создаваться во время установки.
Команда pkgadd позволяет проверить наличие достаточного места на диске на основе определений объектов в файле pkgmap. Однако для пакета может требоваться дополнительное место на диске помимо того, что определено для объектов в файле pkgmap. Например, пакет должен создать после установки файл, в котором может быть база данных, файлы журнала или растущий файл иного рода, расходующий свободное место на диске. Чтобы зарезервировать достаточный объем дискового пространства, добавьте файл space, в котором указываются требования к объему дискового пространства. С помощью команды pkgadd производится проверка дополнительного дискового пространства, указанного в файле space. Для получения дополнительной информации см. справочную страницу space(4).
Убедитесь, что для файла space имеется запись в файле prototype. Файл должен иметь тип i (для информационного файла пакета).
Сделайте каталог, где содержатся информационные файлы, текущим рабочим каталогом.
С помощью любого текстового редактора создайте файл с именем space.
Укажите требования к дополнительному месту на диске, которое требуется для вашего пакета. Используйте следующий формат:
pathname blocks inodes |
Указывает имя каталога, которое может или не может использоваться в качестве точки монтирования для файловой системы.
Указывает место для резервирования, выраженное количеством блоков по 512 байт.
Указывает количество требуемых индексных дескрипторов.
Для получения дополнительной информации см. справочную страницу space(4).
Сохраните изменения и выйдите из редактора.
Выполните одну из следующих задач.
Если необходимо создать сценарии установки, перейдите к следующей задаче: Создание сценария request .
Если файл prototype не создан, выполните процедуру, указанную в разделе Создание файла prototype с помощью команды pkgproto. Перейдите к Шаг 5.
Если файл prototype уже создан, измените его, добавив записи для созданных информационных файлов.
Выполните сборку пакета.
В случае необходимости см. главу Как собрать пакет.
В этом примере файла space указаны 1000 блоков по 512 байт и 1 индексный дескриптор, которые будут зарезервированы в каталоге /opt целевого компьютера.
/opt 1000 1 |
После сборки пакета установите его для подтверждения правильности выполнения установки и проверьте его целостность. В Глава 4Проверка и запись пакета содержатся пояснения по этим задачам и поэтапные указания по записи проверенного пакета на распространяемый носитель.