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 revisionLast revisionBoth sides next revision | ||
etc:common_activities:slind:deb_producer [2007/11/21 22:45] – zan | etc:common_activities:slind:deb_producer [2008/01/17 02:36] – kvm | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Плагин работы с .deb пакетами | + | ===== Плагин |
- | ==== Исходные предположения | + | < |
- | - Если проект является обычным makefile-проектом, то в makefile имеется цель install, корректно обрабатывающая переменную DESTDIR(на совести пользователя). | + | для тестирования |
- | - Если проект является управляемым, то мы имеем возможность | + | </ |
- | ==== Сценарии диалога с пользователем ==== | ||
- | === Создание DEBIAN-каталога в проекте === | ||
- | - Пользователь выделяет проект, | ||
- | - Открывается мастер создания DEBIAN-каталога. | ||
- | - Пользователь заполняет поля мастера, | ||
- | - Если операция производится над makefile-проектом, | ||
- | - Генерируется DEBIAN-каталог, | ||
- | === Сборка пакета === | ||
- | - Пользователь вделяет проект, | ||
- | - Выполняется сборка пакета. | ||
- | === Список полей, заполняемых в мастере | + | Требования |
- | | + | ^Id ^Описание ^P((приоритет: 1-maх, |
- | - Версия пакета. | + | | REQ1 | Должен быть |
- | - Зависимости | + | | REQ2 | Структура дерева файлов пакета |
- | - changelog. | + | | REQ3 | Должен поддерживаться standard проект | 1 | | |
- | - Скрипты пред-/пост-инсталляции(создаются, если не существуют). | + | | REQ4 | < |
- | - Папка, в которой выполняется сборка пакета(по умолчанию build).\\ | + | | REQ5 | Пользователь указывает местоположение файлов |
- | FIXME дополнить список | + | | REQ6 | Файлы, входящие в пакет берутся |
+ | | REQ7 | Должен быть предоставлен | ||
+ | | REQ8 | Должна быть возможность редактирования скриптов | ||
+ | | REQ9 | Пользователь должен уметь изменять changelog | ||
+ | | REQ10 | Должна | ||
+ | | REQ11 | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package | ||
+ | | REQ12 | Должен быть предоставлен | ||
- | === Поля, неявно заполняемые в мастером === | ||
- | - Целевая архитектура. | ||
- | ==== Подход к решению задачи | + | ==== План |
- | === Создание debian-каталога к проекту === | + | |Освоиться со сборкой source и binary пакетов|21.01| |
- | - Проверяем наличие makefile' | + | |Экспорт (доработка)|23.01| |
- | - Зовём debhelp утилиты в правильном порядке - они | + | |Редактор control-файла|28.01| |
- | === Генерация | + | |Помощник changelog|28.01| |
- | - При вызове генерации пакета выполняется цель install makefile' | + | |Генерация |
- | - Просто запускаем dpkg. | + | |
- | ==== Текущие вопросы ==== | ||
- | * Какие поля должны заполняться для debian-каталога обязательно(читай спрашиваться в мастере)? | ||
- | * Какие утилиты debhelp' | ||
- | * Как подключиться к Makefile Generator? | ||
- | * Как " | ||
- | ==== Отчёты | + | ==== Определения |
- | * [[.: | + | * **Standard makefile project** -- проект CDT в котором makefile пишется вручную, |
- | * [[.: | + | * **Managed makefile project** -- проект CDT в котором makefile каждый раз генерируется заново при изменении проекта. |
- | * [[.: | + | * **DebianNature** -- свойство проекта CDT, которое означает что проект |
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Реализация ==== | ||
+ | |||
+ | * Разработка пакета (плагина) org.slind.ei.debproducer | ||
+ | * Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install | ||
+ | * < | ||
+ | * Если в проекте нет каталога debian, (в котором в том | ||
+ | * Сборка пакета происходит из специально подготовленного каталога при помощи dpkg | ||
+ | * Подготовка каталога, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Интерфейс пользователя ==== | ||
+ | |||
+ | * Генерация каталога DEBIAN (File-> | ||
+ | * Редактор файла control: по аналогии | ||
+ | * Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer) | ||
+ | * Экспорт пакета (File-> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Сценарии ==== | ||
+ | * Предусловие: | ||
+ | === Генерация директории DEBIAN === | ||
+ | * Пользователь выбирает пункт меню File-> | ||
+ | [[.: | ||
+ | ^наименование ^обязательный ^назначение ^ | ||
+ | | Package type | да | выбор типа пакета, | ||
+ | |Source description|source|Описание | ||
+ | |Packages descrition|source|Описание бинарных пакетов| | ||
+ | |Package description|binary|Описание бинарного пакета| | ||
+ | |||
+ | * В полях мастера пользователь заполняет поля | ||
+ | * Генерируется директория debian, | ||
+ | * Пользователь имеет возможность редактировать полученные файлы | ||
+ | === Экспорт .deb-пакета === | ||
+ | * Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге | ||
+ | выбирает пункт " | ||
+ | Мастер имеет следующие экраны: | ||
+ | ^наименование ^обязательный ^назначение ^ | ||
+ | | export | ||
+ | |||
+ | * словно по волшебству, | ||
+ | |||
+ | ==== Подробности ==== | ||
+ | |||
+ | * [[.: | ||
+ | * [[.: | ||
- | ==== Общие вопросы ==== | ||
- | - Делается-ли сборка пакета в makefile. Если да, то нужно-ли учитывать эту возможность или предоставлять её как опцию при генерации пакета? | ||
- | ==== Возможные направления дальнейшего развития(2 итерация) ==== | ||
- | * Редактор control-файла, | ||
- | * Автоматическое заполнение зависимостей пакета. | ||
- | * Автоматическое создание цели install в makefile если, её нет. | ||
- | * Создание мастера обновления версии(Дополнние changelog, увеличение номера версии, | ||
==== Ссылки ==== | ==== Ссылки ==== | ||
- | [[http:// | + | [[http:// |
- | FIXME изучить что умеет/ | + | |
~~DISCUSSION~~ | ~~DISCUSSION~~ |
etc/common_activities/slind/deb_producer.txt · Last modified: 2008/03/23 23:16 by zan