etc:common_activities:slind:new_roadmap
Table of Contents
Новый план
перенесено в Плагин генерации .deb пакетов
Исходные предположения
- Если проект является обычным makefile-проектом, то в makefile имеется цель install, корректно обрабатывающая переменную DESTDIR(на совести пользователя).
- Если проект является управляемым, то мы имеем возможность добавить цель install в динамический makefile(вопрос исследуется).
Сценарии диалога с пользователем
Создание DEBIAN-каталога в проекте
- Пользователь выделяет проект, вызвает контекстное меню, выбрает пункт New → DEBIAN catalog.
- Открывается мастер создания DEBIAN-каталога.
- Пользователь заполняет поля мастера, нажимает кнопку Finish.
- Если операция производится над makefile-проектом, то выполняется проверка наличия цели install. В случае её отсутствия выводится сообщение об ошибке и операция прерывается.
- Генерируется DEBIAN-каталог, открывается control-файл в редакторе.
Сборка пакета
- Пользователь вделяет проект, вызвает контекстное меню или выпадающее меню кнопки External tools, выбрает пункт Run as… → dpkg(рабочее название).
- Выполняется сборка пакета.
Список полей, заполняемых в мастере
- Имя пакета.
- Версия пакета.
- Зависимости пакета(пока просто имена, вводимые вручную).
- changelog.
- Скрипты пред-/пост-инсталляции(создаются, если не существуют).
- Папка, в которой выполняется сборка пакета(по умолчанию build).
дополнить список
Поля, неявно заполняемые в мастером
- Целевая архитектура.
Вопросы
- Делается-ли сборка пакета в makefile. Если да, то нужно-ли учитывать эту возможность или предоставлять её как опцию при генерации пакета?
Возможные направления дальнейшего развития(2 итерация)
- Редактор control-файла, выполненый аналогично редактору plugin.xml в PDE.
- Автоматическое заполнение зависимостей пакета.
- Автоматическое создание цели install в makefile если, её нет.
- Поддержка сборщиков, отличных от make(ant).
- Создание мастера обновления версии(Дополнние changelog, увеличение номера версии, редактирование зависимостей и их перепроверка).
Что примерно происходит внутри
Создание debian-каталога к проекту
- Проверяем наличие makefile'а в проекта, если есть работаем дальше, если нет то добавляем в Makefile Generator генерацию цели install.
- Зовём debhelp утилиты в правильном порядке - они всё делают.
Генерация пакета
- При вызове генерации пакета выполняется цель install makefile'а c заменой переменной DESTDIR на путь к какой-то временной папке.
- Просто запускаем dpkg.
Что надо постичь
- Какие поля должны заполняться для debian-каталога обязательно(читай спрашиваться в мастере)
- Какие утилиты debhelp'а нам нужны, какие данные потребуются для их вызова?
- Как подключиться к Makefile Generator?
- Как “правильно” скормить полученные знания и файлики dpkg?
etc/common_activities/slind/new_roadmap.txt · Last modified: 2008/01/03 02:32 by 127.0.0.1