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

Файл prototype

В нашем практическом примере используется иерархическое распределение объектов пакета, как показано на рисунке ниже.

Рисунок 5–1 Структура каталогов иерархического пакета

Описание чертежа дается следующим контекстом.

Объекты пакета устанавливаются в то же место, в котором они расположены в каталоге pkgвыше. Модули драйвера ( sst и sst.conf) устанавливаются в каталог /usr/kernel/drv, а вложенный файл в каталог /usr/include/sys/scsi/targets. Файлы sst, sst.conf и sst_def.h являются абсолютными объектами. Тестовая программа sstest.c и ее каталог SUNWsst являются перемещаемыми; место их установки определяется параметром BASEDIR.

Оставшиеся компоненты пакета (все контрольные файлы) помещаются в каталог верхнего уровня пакета на компьютере разработчика, за исключением сценария класса sed. Сценарий называется devlink.tab в соответствии с изменяемым им файлом и помещается в каталог etc, содержащий действительный файл devlink.tab.

Из каталога pkg выполните команду pkgproto следующим образом:


find usr SUNWsst -print | pkgproto > prototype

Результат выполнения этой команды выглядит так:

d none usr 0775 pms mts
d none usr/include 0775 pms mts
d none usr/include/sys 0775 pms mts
d none usr/include/sys/scsi 0775 pms mts
d none usr/include/sys/scsi/targets 0775 pms mts
f none usr/include/sys/scsi/targets/sst_def.h 0444 pms mts
d none usr/kernel 0775 pms mts
d none usr/kernel/drv 0775 pms mts
f none usr/kernel/drv/sst 0664 pms mts
f none usr/kernel/drv/sst.conf 0444 pms mts
d none SUNWsst 0775 pms mts
f none SUNWsst/sstest.c 0664 pms mts

Создание данного файла prototype еще не завершено. Чтобы закончить создание этого файла, произведите следующие изменения:

Окончательный файл prototype выглядит так:

i pkginfo
i postinstall
i preremove
i copyright
e sed /etc/devlink.tab ? ? ?
f none /usr/include/sys/scsi/targets/sst_def.h 0644 bin bin
f none /usr/kernel/drv/sst 0755 root sys
f none /usr/kernel/drv/sst.conf 0644 root sys
d none SUNWsst 0775 root sys
f none SUNWsst/sstest.c 0664 root sys

Знаки вопроса в строке для сценария sed указывают, что права доступа и принадлежность существующего файла на целевом компьютере не должны изменяться.