etc:common_activities:slind:deb_producer
This is an old revision of the document!
Table of Contents
Плагин работы с .deb пакетами
Требования приведены в таблице.
Id | Описание | P1) | Комментарий |
---|---|---|---|
REQ1 | Должен быть расширением стандартного проекта CDT | 1 | |
REQ2 | Структура дерева файлов пакета должна определяться целью install в makefile | 1 | |
REQ3 | Должен поддерживаться standard проект | 1 | |
REQ4 | Должен поддерживаться managed проект | 2 | |
REQ5 | Пользователь указывает местоположение файлов на целевой платформе вручную | 1 | |
REQ6 | Файлы, входящие в пакет берутся из CDT- проекта или из его целей | 1 | |
REQ7 | Должен быть предоставлен интерфейс описания пакетов (файл control) | 3 | |
REQ8 | Должна быть возможность редактирования скриптов установки / удаления пакета | 3 | |
REQ9 | Пользователь должен уметь изменять changelog | 2 | |
REQ10 | Должна быть возможность генерации бинарного пакета для целевой платформы | 1 | |
REQ11 | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package | 1 |
Определения
- Standard makefile project – проект CDT в котором makefile пишется вручную, никогда не изменяется извне струдствами разработки.
- Managed makefile project – проект CDT в котором makefile каждый раз генерируется заново при изменении проекта.
Реализация
- Разработка пакета (плагина) org.slind.ei.debproducer
- Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install
- Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin,doc,lib,…)
- Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется dh_make и все файлы добавляются в проект
- Любой из шагов экспорта проекта в deb-пакет может завершиться ошибкой
- Сборка пакета происходит из специально подготовленного каталога при помощи dpkg
- Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта
Интерфейс пользователя
Сценарии
* Предусловие: В makefile проекта есть цель install, зависящая от DESTDIR * Предусловие: Для managed-проектов заданы пути4) для
Генерация директории DEBIAN
- Пользователь выбирает пункт меню File→New→DEBIAN
Мастер имеет следующие экраны:
наименование | обязательный | назначение |
---|---|---|
control | да | описание зависимостей, архитектура, разработчик, описание пакета, версия для пакетов проекта |
* В полях мастера пользователь заполняет поля для файла control (Описание пакета, рис.1)
- Генерируются файлы директории DEBIAN
- Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог
Экспорт .deb-пакета
- Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге
выбирает пункт “General/Debian package”. Мастер имеет следующие экраны:
наименование | обязательный | назначение |
---|---|---|
changelog | да | описание изменени (текстовый редактор текущего изменения), путь для сохранения |
* В мастере экспорта указывает целевую директорию, архитектуру, описание изменений
- словно по волшебству, в указанной директории появляется deb-пакет…
Подробности
Общие вопросы
- Почему для SLIND выбран именно debian?
Ссылки
etc/common_activities/slind/deb_producer.1196104426.txt.gz · Last modified: 2008/01/03 02:32 (external edit)
Discussion
Сейчас по факту у экспорта вообще нет опций. Можно добавить: поле для пути к файлу с подписью(может ему место вообще в настройках плагина?), чекбокс «не подписывать файлы», комбо выбора архитектуры для которой собирается, чекбокс «не выполнять проверку зависимостей». Нужно уточнить что их этого нужно + озвучить проблему с местом оседания файлов.