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