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/12 01:58] – kvm | etc:common_activities:slind:deb_producer [2008/01/17 02:36] – kvm | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Плагин | + | ===== Плагин |
- | Пакет -- архив, содержащий в себе файлы, приготовленные для | + | < |
+ | для тестирования плагина | ||
+ | </ | ||
- | Помимо всего прочего, | ||
- | Разрешением | + | Требования к плагину приведены в таблице. |
+ | ^Id ^Описание ^P((приоритет: | ||
+ | | REQ1 | Должен быть расширением | ||
+ | | REQ2 | Структура дерева файлов пакета должна определяться целью install в makefile | ||
+ | | REQ3 | Должен поддерживаться standard проект | ||
+ | | REQ4 | < | ||
+ | | REQ5 | Пользователь указывает | ||
+ | | REQ6 | Файлы, входящие в пакет берутся из CDT- проекта или из его целей | 1 | | | ||
+ | | REQ7 | Должен быть предоставлен интерфейс описания пакетов (файл control) | ||
+ | | REQ8 | Должна быть возможность редактирования скриптов установки / удаления | ||
+ | | REQ9 | Пользователь должен уметь изменять changelog | ||
+ | | REQ10 | Должна быть возможность генерации бинарного пакета для целевой платформы | ||
+ | | REQ11 | Проект должен экспортироваться в deb-пакет выбором | ||
+ | | REQ12 | Должен быть предоставлен помощник создания каталога debian, генерирующий | ||
- | === Требования верхнего уровня | ||
- | В балице приведены требования самого верхнего уровня к разрабатываемому плагину. | + | ==== План работ ==== |
+ | |Освоиться со сборкой 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 | ||
+ | * < | ||
+ | * Если в проекте нет каталога debian, (в котором | ||
+ | * Сборка пакета происходит из специально подготовленного каталога при помощи dpkg | ||
+ | * Подготовка каталога, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Интерфейс пользователя ==== | ||
+ | |||
+ | * Генерация каталога DEBIAN (File-> | ||
+ | * Редактор файла control: по аналогии с редактором для plugin.xml. Должен предоставлять возможность заполнения стандартных полей control-файла и добавление специальных полей для пакетов slind | ||
+ | * Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer) | ||
+ | * Экспорт пакета (File-> | ||
- | ^Id ^Описание ^P((приоритет: | ||
- | | REQ1 | Должен поддерживать проект deb описывающий один или несколько пакетов | ||
- | | REQ2 | Deb-проект должен уметь загружаться и сохраняться | ||
- | | REQ3 | Пользователь должен уметь указывать местоположение файлов на целевой платформе | ||
- | | REQ4 | Должна быть возможность использования файлов и целей CDT-проекта | ||
- | | REQ5 | Должен быть предоставлен интерфейс описания пакетов (файл control) | ||
- | | REQ6 | Должна быть возможность редактирования скриптов установки / удаления | ||
- | | REQ7 | Пользователь должен уметь изменять changelog | ||
- | | REQ8 | Должна быть возможность генерации пакета для целевой платформы | ||
- | | REQ9 | Должен быть мастер создания проекта | ||
- | | REQ10 | Должна быть возможность генерации пакета с исходными текстами | ||
- | | REQ11 | Должна быть возможность генерации бинарного пакета | ||
- | === Варианты использования (User story) === | ||
- | == Создание deb-проекта == | ||
- | - В меню File-> | ||
- | - В появившемся диалоговом окне предлагается выбор источника: | ||
- | * существующий deb-пакет | ||
- | * проект CDT | ||
- | * FIXME: бинарные файлы? | ||
- | Создается deb-проект, | ||
- | == Выбор состава конфигурационных файлов == | ||
- | - Кнопка «add cfg files» в главной панели инструментов открывает диалог, | ||
- | - Выбранные файлы создаются в каталоге DEBIAN | ||
- | == Редактирование конфигурационных файлов == | ||
- | По двойному щелчку на имени конфигурационного файла в дереве открывается редактор соответствующего типа. | ||
- | * Редактор для файла control | ||
- | {{etc: | ||
- | В файле control может содержаться описание нескольких пакетов. Для каждого пакета в редакторе есть отдельная вкладка (на рисунке - tetris, another package) | ||
- | * Редактор для файла rules | ||
- | {{etc: | ||
- | - Пользователь выделяет узел в дереве имеющихся файлов | ||
- | - при нажатии на кнопку “>> | ||
- | - в правом окне строится целевое дерево файлов | ||
- | - с помощью кнопки «<< | ||
- | Файл rules может редактироваться как обычный скрипт((с использованием плагина ShellEd?)). Для этого нужно переключиться на вкладку “rules” в нижней части редактора. | ||
- | * Файлы скриптов установки/ | ||
- | == Генерация пакета == | ||
- | При нажатии на кнопку «gen pkg» в главной панели инструментов открывается диалог, | ||
- | * тип генерируемого пакета: | ||
- | * информацию об изменениях для файла changelog. | ||
- | === Уточняющая информация === | ||
- | == Входные данные для генерации пакета == | ||
- | Чтобы сгенерировать пакет, необходимо иметь следующие данные: | ||
- | * тип пакета (бинарный или с исходными текстами программы); | ||
- | * список файлов, | ||
- | * в случае, | ||
- | * список требуемых библиотек; | ||
- | * список предоставляемых библиотек; | ||
- | * путь, куда ставить какой файл(разные файлы могут быть установлены в различные каталоги) | ||
- | == Сборка пакетов для другой платформы == | ||
- | FIXME: в работе | + | ==== Сценарии ==== |
+ | * Предусловие: стандартный cdt-проект. В makefile проекта есть цель install, зависящая от DESTDIR | ||
+ | === Генерация директории DEBIAN === | ||
+ | * Пользователь выбирает пункт меню File-> | ||
+ | [[.: | ||
+ | ^наименование ^обязательный ^назначение ^ | ||
+ | | Package type | да | выбор типа пакета, | ||
+ | |Source description|source|Описание общей части| | ||
+ | |Packages descrition|source|Описание бинарных пакетов| | ||
+ | |Package description|binary|Описание бинарного пакета| | ||
+ | |||
+ | * В полях мастера пользователь заполняет поля для файла control | ||
+ | * Генерируется директория debian, содержащая файлы control, changelog и rules((для source-пакетов)) | ||
+ | * Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог | ||
+ | === Экспорт .deb-пакета === | ||
+ | * Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге | ||
+ | выбирает пункт " | ||
+ | Мастер имеет следующие экраны: | ||
+ | ^наименование ^обязательный ^назначение ^ | ||
+ | | export | ||
- | == Пакеты | + | * словно по волшебству, |
- | FIXME: в работе | + | ==== Подробности ==== |
- | == Добавление скриптов пре/пост инсталяции/ | + | * [[.: |
+ | * [[.: | ||
- | есть [[http:// | ||
- | FIXME изучить что умеет/ | ||
+ | ==== Ссылки ==== | ||
+ | [[http:// | ||
+ | ~~DISCUSSION~~ |
etc/common_activities/slind/deb_producer.txt · Last modified: 2008/03/23 23:16 by zan