Поиск |
[software] [catdoc] [tcl] [geography] [old things] | |||||||||||||||
Создание пакетов SolarisВсе уже привыкли, что правильный способ сборки и установки программ под POSIX-совместимые операционные системы - это создать родной для этой системы пакет, и его установить Установка программ из пакетов имеет ряд преимуществ.
В ОС Solaris тоже есть система управления пакетами, используемая при установке системы. Она обладает почти всеми теми же возможностями, что и пакетные менеджеры Linux. Правда, основные известные репозитории opensource пакетов для Solaris - SunFreeware и BlastWave используют возможности пакетной системы Solaris далеко не на полную мощность. Sunfreeware например, почти не прописывает зависимостей в пакеты. Кроме того, практически никто не распространяет исходников пакетов. Поэтому научиться делать правильные пакеты для Solaris, посмотрев как это умные люди делают, достаточно нетривиально. Правда, в установленной системе Solaris в каталоге /var/sadm/pkg хранится метаинформация по всем установленным пакетам фирмы Sun, входящим в дистрибутив системы. Именно это и следует рассматривать как основной источник примеров сборки пакетов. Структура пакета SolarisПакет Solaris может существовать в двух "агрегатных состояниях"
Преобразование пакетов между двумя этими форматами выполняется с помощью утилиты pkgtrans. Помимо собственно файлов устанавливаемого приложения, пакет содержит файлы с управляющей информацией. Они включают в себя описание пакета (pkginfo), список файлов (pkgmap), список зависимостей (depend) и скрипты, выполняемые при установке/удалении пакета. Пакетная система Solaris поддерживает ситуацию, когда файл (обычно директория) принадлежит сразу нескольким пакетам. Особенности сборки программ под Solaris32 и 64 битаОписания сервисовИерархия файловой системыСтандартный путь создания пакетов SolarisВременное дерево инсталляцииДля создания пакета необходимо в первую очередь получить дерево файлов, которые будут в этот пакет входить. Для этого можно, например сказать make install в сборочной директории, указав с помощью параметра DESTDIR, prefix или что там поддерживает система сборки данного приложения, что устанавливать надо в определенную директорию. Если у вас есть файл .spec для сборки данного пакета в RPM или служебные файлы для сборки в пакет Debian, можно посмотреть там.
Создание файла pkginfoПосле этого нужно создать файл pkginfo.Создание файла dependsСкрипты инсталляции и деинсталляцииФайл prototypeВыполнение pkgmkСкрипты, облегчающие сборку пакетовСкрипт fixprotoСкрипт mkdependПример сборки |