Новый план

перенесено в Плагин генерации .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?