Плагин генерации .deb пакетов

для тестирования плагина в cvs(projects/slind/eclipse/tst/) лежат исходные коды less. Чтобы вручную собрать deb-пакет достаточно1) при условии, что установленны все необходимые для сборки пакеты выполнить debuild.

Требования к плагину приведены в таблице.

Id	Описание	P2) приоритет: 1-maх,3-min	Комментарий
REQ1	Должен быть расширением стандартного проекта CDT	1
REQ2	Структура дерева файлов пакета должна определяться целью install в makefile	1
REQ3	Должен поддерживаться standard проект	1
REQ4	Должен поддерживаться managed проект	2
REQ5	Пользователь указывает местоположение файлов на целевой платформе вручную	1
REQ6	Файлы, входящие в пакет берутся из CDT- проекта или из его целей	1
REQ7	Должен быть предоставлен интерфейс описания пакетов (файл control)	1
REQ8	Должна быть возможность редактирования скриптов установки / удаления пакета	3
REQ9	Пользователь должен уметь изменять changelog	2
REQ10	Должна быть возможность генерации бинарного пакета для целевой платформы	1
REQ11	Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package	1
REQ12	Должен быть предоставлен помощник создания каталога debian, генерирующий файлы control, changelog, rules (для source-пакетов)	1	не использовать dh_make

Определения

Standard makefile project – проект CDT в котором makefile пишется вручную, никогда не изменяется извне струдствами разработки.

Managed makefile project – проект CDT в котором makefile каждый раз генерируется заново при изменении проекта.

DebianNature – свойство проекта CDT, которое означает что проект содержит каталог debian и для него может быть сгенерирован deb-пакет.

Реализация

Разработка пакета (плагина) org.slind.ei.debproducer

Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install

Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin,doc,lib,…)

Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется помощником, и все файлы добавляются в проект

Сборка пакета происходит из специально подготовленного каталога при помощи dpkg

Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта

Интерфейс пользователя

Генерация каталога DEBIAN (File→New→DEBIAN) 3) заполнение файла control, rules для source-пакетов, генерация файла changelog

Редактор файла control: по аналогии с редактором для plugin.xml. Должен предоставлять возможность заполнения стандартных полей control-файла и добавление специальных полей для пакетов slind

Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer)

Экспорт пакета (File→Export→.deb package)

Сценарии

Предусловие: стандартный cdt-проект. В makefile проекта есть цель install, зависящая от DESTDIR

Генерация директории DEBIAN

Пользователь выбирает пункт меню File→New→DEBIAN

Мастер имеет следующие экраны:

наименование	обязательный	назначение
control	да	описание зависимостей, архитектура, разработчик, описание пакета, версия для пакетов проекта

В полях мастера пользователь заполняет поля для файла control

Генерируются файлы директории DEBIAN

Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог

Экспорт .deb-пакета

Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге

выбирает пункт “General/Debian package”. Мастер имеет следующие экраны:

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

В мастере экспорта указывает целевую директорию, архитектуру, описание изменений

словно по волшебству, в указанной директории появляется deb-пакет…

Подробности

Описание структуры файлов каталога DEBIAN

Интерфейс пользователя

Ссылки

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