etc:common_activities:slind:deb_producer
Table of Contents
Плагин генерации .deb пакетов
для тестирования плагина в cvs(projects/slind/eclipse/tst/) лежат исходные коды less. Чтобы вручную собрать deb-пакет достаточно1) выполнить debuild.
Требования к плагину приведены в таблице.
Id | Описание | P2) | Комментарий |
---|---|---|---|
REQ1 | Должен быть расширением стандартного проекта CDT | 1 | |
REQ2 | Структура дерева файлов пакета должна определяться целью install в makefile | 1 | |
REQ3 | Должен поддерживаться standard проект | 1 | |
REQ4 | | 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 |
План работ
Освоиться со сборкой source и binary пакетов | 21.01 |
Экспорт (доработка) | 23.01 |
Редактор control-файла | 28.01 |
Помощник changelog | 28.01 |
Генерация rules | 6.02 |
Определения
- 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: по аналогии с редактором для plugin.xml. Должен предоставлять возможность заполнения стандартных полей control-файла и добавление специальных полей для пакетов slind
- Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer)
- Экспорт пакета (File→Export→.deb package)
Сценарии
- Предусловие: стандартный cdt-проект. В makefile проекта есть цель install, зависящая от DESTDIR
Генерация директории DEBIAN
- Пользователь выбирает пункт меню File→New→DEBIAN
Мастер имеет следующие экраны:
наименование | обязательный | назначение |
---|---|---|
Package type | да | выбор типа пакета, указание пути к директории debian от корня проекта |
Source description | source | Описание общей части |
Packages descrition | source | Описание бинарных пакетов |
Package description | binary | Описание бинарного пакета |
- В полях мастера пользователь заполняет поля для файла control
- Генерируется директория debian, содержащая файлы control, changelog и rules4)
- Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог
Экспорт .deb-пакета
- Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге
выбирает пункт “General/Debian package”. Мастер имеет следующие экраны:
наименование | обязательный | назначение |
---|---|---|
export | да | путь для сохранения .deb |
- словно по волшебству, в указанной директории появляется deb-пакет…
Подробности
Ссылки
etc/common_activities/slind/deb_producer.txt · Last modified: 2008/03/23 23:16 by zan
Discussion
Сейчас по факту у экспорта вообще нет опций. Можно добавить: поле для пути к файлу с подписью(может ему место вообще в настройках плагина?), чекбокс «не подписывать файлы», комбо выбора архитектуры для которой собирается, чекбокс «не выполнять проверку зависимостей». Нужно уточнить что их этого нужно + озвучить проблему с местом оседания файлов.