Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:slind:deb_producer

Плагин генерации .deb пакетов

для тестирования плагина в cvs(projects/slind/eclipse/tst/) лежат исходные коды less. Чтобы вручную собрать deb-пакет достаточно1) выполнить debuild.

Требования к плагину приведены в таблице.

Id Описание P2) Комментарий
REQ1 Должен быть расширением стандартного проекта CDT 1
REQ2 Структура дерева файлов пакета должна определяться целью install в makefile 1
REQ3 Должен поддерживаться standard проект 1
REQ4 Должен поддерживаться managed проект 2
REQ5 Пользователь указывает местоположение файлов на целевой платформе вручную 1
REQ6 Файлы, входящие в пакет берутся из CDT- проекта или из его целей 1
REQ7 Должен быть предоставлен интерфейс описания пакетов (файл control) 1
REQ8 Должна быть возможность редактирования скриптов установки / удаления пакета 3
REQ9 Пользователь должен уметь изменять changelog 2
REQ10 Должна быть возможность генерации бинарного пакета для целевой платформы 1
REQ11 Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package 1
REQ12 Должен быть предоставлен помощник создания каталога debian, генерирующий файлы control, changelog, rules (для source-пакетов) 1 не использовать dh_make

План работ

Освоиться со сборкой source и binary пакетов21.01
Экспорт (доработка)23.01
Редактор control-файла28.01
Помощник changelog28.01
Генерация rules6.02

Определения

  • Standard makefile project – проект CDT в котором makefile пишется вручную, никогда не изменяется извне средствами разработки.
  • Managed makefile project – проект CDT в котором makefile каждый раз генерируется заново при изменении проекта.
  • DebianNature – свойство проекта CDT, которое означает что проект содержит каталог debian и для него может быть сгенерирован deb-пакет.

Реализация

  • Разработка пакета (плагина) org.slind.ei.debproducer
  • Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install
  • Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin,doc,lib,…)
  • Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется помощником, и все файлы добавляются в проект
  • Сборка пакета происходит из специально подготовленного каталога при помощи dpkg
  • Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта

Интерфейс пользователя

  • Генерация каталога DEBIAN (File→New→DEBIAN) 3)
  • Редактор файла control: по аналогии с редактором для plugin.xml. Должен предоставлять возможность заполнения стандартных полей control-файла и добавление специальных полей для пакетов slind
  • Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer)
  • Экспорт пакета (File→Export→.deb package)

Сценарии

  • Предусловие: стандартный cdt-проект. В makefile проекта есть цель install, зависящая от DESTDIR

Генерация директории DEBIAN

  • Пользователь выбирает пункт меню File→New→DEBIAN

Мастер имеет следующие экраны:

наименование обязательный назначение
Package type да выбор типа пакета, указание пути к директории debian от корня проекта
Source descriptionsourceОписание общей части
Packages descritionsourceОписание бинарных пакетов
Package descriptionbinaryОписание бинарного пакета
  • В полях мастера пользователь заполняет поля для файла control
  • Генерируется директория debian, содержащая файлы control, changelog и rules4)
  • Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог

Экспорт .deb-пакета

  • Пользователь выбирает меню File/export или Export в контекстном меню проекта. В появившемся дилоге

выбирает пункт “General/Debian package”. Мастер имеет следующие экраны:

наименование обязательный назначение
export да путь для сохранения .deb
  • словно по волшебству, в указанной директории появляется deb-пакет…

Подробности

Ссылки

1)
при условии, что установленны все необходимые для сборки пакеты
2)
приоритет: 1-maх,3-min
3)
заполнение файла control, rules для source-пакетов, генерация файла changelog
4)
для source-пакетов

Discussion

cheat, 2008/03/23 23:20

Сейчас по факту у экспорта вообще нет опций. Можно добавить: поле для пути к файлу с подписью(может ему место вообще в настройках плагина?), чекбокс «не подписывать файлы», комбо выбора архитектуры для которой собирается, чекбокс «не выполнять проверку зависимостей». Нужно уточнить что их этого нужно + озвучить проблему с местом оседания файлов.

You could leave a comment if you were logged in.
etc/common_activities/slind/deb_producer.txt · Last modified: 2008/03/23 23:16 by zan