Плагин для сборки пакетов

Пакет – архив, содержащий в себе файлы, приготовленные для установки в систему. Пакет содержит информацию о содержащихся в нём программах, их версиях, правилах установки и удаления пакета.

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

Разрешением зависимостей занимается менеджер пакетов.

Требования верхнего уровня

В балице приведены требования самого верхнего уровня к разрабатываемому плагину.

Id	Описание	P1) приоритет: 1-maх,3-min	Комментарий
REQ1	Должен поддерживать проект deb описывающий один или несколько пакетов	2
REQ2	Deb-проект должен уметь загружаться и сохраняться	2
REQ3	Пользователь должен уметь указывать местоположение файлов на целевой платформе	1
REQ4	Должна быть возможность использования файлов и целей CDT-проекта	3
REQ5	Должен быть предоставлен интерфейс описания пакетов (файл control)	1
REQ6	Должна быть возможность редактирования скриптов установки / удаления пакета	2
REQ7	Пользователь должен уметь изменять changelog	1
REQ8	Должна быть возможность генерации пакета для целевой платформы	1
REQ9	Должен быть мастер создания проекта	2
REQ10	Должна быть возможность генерации пакета с исходными текстами	2
REQ11	Должна быть возможность генерации бинарного пакета	1

Варианты использования (User story)

: необходимо обсуждение!

Создание deb-проекта

В меню File→New пользователь выбирает пункт «deb-project»

В появившемся диалоговом окне предлагается выбор источника:

существующий deb-пакет

проект CDT

: бинарные файлы?

Создается deb-проект, в рабочем каталоге создается каталог <имя_проекта>-1.0.0 c подкаталогом DEBIAN, в котором находятся файлы описания пакета (control, changelog, rules)

Выбор состава конфигурационных файлов

Кнопка «add cfg files» в главной панели инструментов открывает диалог, в котором пользователь может отметить необходимые файлы (predinst, postinst, predrm, postrm, : что еще?)

Выбранные файлы создаются в каталоге DEBIAN

Редактирование конфигурационных файлов

По двойному щелчку на имени конфигурационного файла в дереве открывается редактор соответствующего типа.

Редактор для файла control

В файле control может содержаться описание нескольких пакетов. Для каждого пакета в редакторе есть отдельная вкладка (на рисунке - tetris, another package)

Редактор для файла rules

Пользователь выделяет узел в дереве имеющихся файлов

при нажатии на кнопку “»” открывается диалог для выбора пути назначения

в правом окне строится целевое дерево файлов

с помощью кнопки ««» пользователь может удалить файл из целевого дерева

Файл rules может редактироваться как обычный скрипт2) с использованием плагина ShellEd? . Для этого нужно переключиться на вкладку “rules” в нижней части редактора.

Файлы скриптов установки/удаления редактируются как обычные скрипты.

Генерация пакета

При нажатии на кнопку «gen pkg» в главной панели инструментов открывается диалог, в котором пользователь должен ввести

тип генерируемого пакета: с исходными кодами/бинарный

информацию об изменениях для файла changelog.

Уточняющая информация

Входные данные для генерации пакета

Чтобы сгенерировать пакет, необходимо иметь следующие данные:

тип пакета (бинарный или с исходными текстами программы);

список файлов, которые необходимо запаковать;

в случае, если это бинарный пакет необходимо:

список требуемых библиотек;*

список предоставляемых библиотек;

путь, куда ставить какой файл(разные файлы могут быть установлены в различные каталоги)

Сборка пакетов для другой платформы

: в работе

Пакеты с исходниками: сборка и установка

: в работе

Добавление скриптов пре/пост инсталяции/деинсталяции

есть плагин для редактирования скриптов…
изучить что умеет/насколько пригоден к использованию