etc:common_activities:slind:deb_producer
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
etc:common_activities:slind:deb_producer [2007/11/24 21:52] – kkv | etc:common_activities:slind:deb_producer [2008/03/23 23:16] (current) – zan | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Плагин работы с .deb пакетами | + | ===== Плагин |
+ | < | ||
+ | для тестирования плагина в cvs(projects/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | Требования к плагину приведены в таблице. | ||
^Id ^Описание ^P((приоритет: | ^Id ^Описание ^P((приоритет: | ||
| REQ1 | Должен быть расширением стандартного проекта CDT | 1 | | | | REQ1 | Должен быть расширением стандартного проекта CDT | 1 | | | ||
| REQ2 | Структура дерева файлов пакета должна определяться целью install в makefile | | REQ2 | Структура дерева файлов пакета должна определяться целью install в makefile | ||
| REQ3 | Должен поддерживаться standard проект | | REQ3 | Должен поддерживаться standard проект | ||
- | | REQ4 | Должен поддерживаться managed проект | + | | REQ4 |
- | | REQ5 | Пользователь указывает местоположение файлов на целевой платформе вручную | + | | REQ5 |
| REQ6 | Файлы, входящие в пакет берутся из CDT- проекта или из его целей | | REQ6 | Файлы, входящие в пакет берутся из CDT- проекта или из его целей | ||
- | | REQ7 | Должен быть предоставлен интерфейс описания пакетов (файл control) | + | | REQ7 | Должен быть предоставлен интерфейс описания пакетов (файл control) |
| REQ8 | Должна быть возможность редактирования скриптов установки / удаления | | REQ8 | Должна быть возможность редактирования скриптов установки / удаления | ||
| REQ9 | Пользователь должен уметь изменять changelog | | REQ9 | Пользователь должен уметь изменять changelog | ||
| REQ10 | Должна быть возможность генерации бинарного пакета для целевой платформы | | REQ10 | Должна быть возможность генерации бинарного пакета для целевой платформы | ||
| REQ11 | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package | | REQ11 | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package | ||
+ | | REQ12 | Должен быть предоставлен помощник создания каталога debian, генерирующий | ||
+ | |||
+ | |||
+ | ==== План работ ==== | ||
+ | |Освоиться со сборкой source и binary пакетов|21.01| | ||
+ | |Экспорт (доработка)|23.01| | ||
+ | |Редактор control-файла|28.01| | ||
+ | |Помощник changelog|28.01| | ||
+ | |Генерация rules|6.02| | ||
+ | |||
==== Определения ==== | ==== Определения ==== | ||
- | * **Standard makefile project** -- проект CDT в котором makefile пишется вручную, | + | * **Standard makefile project** -- проект CDT в котором makefile пишется вручную, |
* **Managed makefile project** -- проект CDT в котором makefile каждый раз генерируется заново при изменении проекта. | * **Managed makefile project** -- проект CDT в котором makefile каждый раз генерируется заново при изменении проекта. | ||
+ | * **DebianNature** -- свойство проекта CDT, которое означает что проект содержит каталог debian и для него может быть сгенерирован deb-пакет. | ||
+ | |||
==== Реализация ==== | ==== Реализация ==== | ||
Line 23: | Line 41: | ||
* Разработка пакета (плагина) org.slind.ei.debproducer | * Разработка пакета (плагина) org.slind.ei.debproducer | ||
* Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install | * Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install | ||
- | * Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin, | + | * <del>Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin, |
- | * Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется | + | * Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется |
- | * Любой из шагов | + | * Сборка пакета происходит |
+ | * Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта | ||
- | ==== Интерфейс пользователя ==== | ||
- | * Редактирование переменных | ||
- | * Шаг: control | ||
- | * Шаг: changelog | ||
- | * Шаги: файлы из каталога debian | ||
- | ==== Сценарии ==== | + | ==== Интерфейс пользователя |
- | === Экспорт проекта в deb-пакет | + | * Генерация каталога DEBIAN (File-> |
- | | + | * Редактор файла control: по аналогии с редактором для plugin.xml. Должен предоставлять возможность |
- | | + | * Дейсвия редактировани файла changelog: new item, new version, |
+ | * Экспорт пакета (File-> | ||
- | Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге | + | |
+ | ==== Сценарии ==== | ||
+ | * Предусловие: | ||
+ | === Генерация директории DEBIAN === | ||
+ | * Пользователь выбирает пункт меню File-> | ||
+ | [[.: | ||
+ | ^наименование ^обязательный ^назначение ^ | ||
+ | | Package type | да | выбор типа пакета, | ||
+ | |Source description|source|Описание общей части| | ||
+ | |Packages descrition|source|Описание бинарных пакетов| | ||
+ | |Package description|binary|Описание бинарного пакета| | ||
+ | |||
+ | * В полях мастера пользователь заполняет поля для файла control | ||
+ | * Генерируется директория debian, содержащая файлы control, changelog и rules((для source-пакетов)) | ||
+ | * Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог | ||
+ | === Экспорт .deb-пакета === | ||
+ | * Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге | ||
выбирает пункт " | выбирает пункт " | ||
Мастер имеет следующие экраны: | Мастер имеет следующие экраны: | ||
^наименование ^обязательный ^назначение ^ | ^наименование ^обязательный ^назначение ^ | ||
- | | control | + | | export |
- | | changelog | + | |
- | | ? | нет | интерфейсы | + | |
- | Кнопка Finish генерирует deb-пакет. | + | |
- | + | ||
- | + | ||
- | FIXME!FIXME!FIXME!FIXME!FIXME! | + | |
- | === Список полей, заполняемых в мастере === | + | |
- | - Имя пакета. | + | |
- | - Версия пакета. | + | |
- | - Зависимости пакета(пока просто имена, вводимые вручную). | + | |
- | - changelog. | + | |
- | - Скрипты пред-/ | + | |
- | - Папка, в которой выполняется сборка пакета(по умолчанию build).\\ | + | |
- | FIXME дополнить список | + | |
- | + | ||
- | === Поля, неявно заполняемые в мастером === | + | |
- | - Целевая архитектура. | + | |
- | + | ||
- | ==== Подход к решению задачи ==== | + | |
- | === Создание debian-каталога к проекту === | + | |
- | - Проверяем наличие makefile' | + | |
- | - Зовём debhelp утилиты в правильном порядке - они всё делают. | + | |
- | === Генерация пакета === | + | |
- | - При вызове генерации пакета выполняется цель install makefile' | + | |
- | - Просто запускаем dpkg. | + | |
- | + | ||
- | ==== Текущие вопросы ==== | + | |
- | * Какие поля должны заполняться для debian-каталога обязательно(читай спрашиваться в мастере)? | + | |
- | * Какие утилиты debhelp' | + | |
- | * Как подключиться к Makefile Generator? | + | |
- | * Как " | + | |
- | + | ||
- | ==== Отчёты по задачам ==== | + | |
- | * [[.: | + | * словно по волшебству, в указанной директории появляется deb-пакет... |
- | * [[.: | + | |
- | * [[.: | + | |
- | ==== Общие вопросы ==== | + | ==== Подробности ==== |
- | - Почему для SLIND выбран именно debian? | + | |
- | ==== Возможные направления дальнейшего развития(2 итерация) ==== | + | * [[.: |
- | * Редактор control-файла, выполненый аналогично редактору plugin.xml в PDE. | + | * [[.: |
- | * Автоматическое заполнение зависимостей пакета. | + | |
- | * Автоматическое создание цели install в makefile если, её нет. | + | |
- | * Создание мастера обновления версии(Дополнние changelog, увеличение номера | + | |
==== Ссылки ==== | ==== Ссылки ==== | ||
- | [[http:// | + | [[http:// |
- | FIXME изучить что умеет/ | + | |
~~DISCUSSION~~ | ~~DISCUSSION~~ |
etc/common_activities/slind/deb_producer.1195930335.txt.gz · Last modified: 2008/01/03 02:32 (external edit)