Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:slind:deb_producer

This is an old revision of the document!


Плагин для сборки пакетов

Пакет – архив, содержащий в себе файлы, приготовленные для установки в систему. Пакет содержит информацию о содержащихся в нём программах, их версиях, правилах установки и удаления пакета.

Помимо всего прочего, пакет содержит в себе полную версию, список файлов которые он предоставляет и список требуемых пакетов(зависимостей). Список требуемых пакетов содержит пакеты, которые уже должны быть установелны, когда будет происходить установка нашего пакета.

Разрешением зависимостей занимается менеджер пакетов.

Требования верхнего уровня

В таблице приведены требования самого верхнего уровня к разрабатываемому плагину.

Id Описание P1) Комментарий
REQ1 Должен поддерживать проект deb описывающий один или несколько пакетов 2
REQ2 Deb-проект должен уметь загружаться и сохраняться 2
REQ3 Пользователь должен уметь указывать местоположение файлов на целевой платформе 1
REQ4 Должна быть возможность использования файлов и целей CDT-проекта 3
REQ5 Должен быть предоставлен интерфейс описания пакетов (файл control) 1
REQ6 Должна быть возможность редактирования скриптов установки / удаления пакета 2
REQ7 Пользователь должен уметь изменять changelog 1
REQ8 Должна быть возможность генерации пакета для целевой платформы 1
REQ9 Должен быть мастер создания проекта 2
REQ10 Должна быть возможность генерации пакета с исходными текстами 2
REQ11 Должна быть возможность генерации бинарного пакета 1

Варианты использования (User story)

DELETEME: необходимо обсуждение!

Создание deb-проекта
  1. В меню File→New пользователь выбирает пункт «deb-project»
  2. В появившемся диалоговом окне предлагается выбор источника:
  • существующий deb-пакет
  • проект CDT
  • FIXME: бинарные файлы?

Создается deb-проект, в рабочем каталоге создается каталог <имя_проекта>-1.0.0 c подкаталогом DEBIAN, в котором находятся файлы описания пакета (control, changelog, rules)

Выбор состава конфигурационных файлов
  1. Кнопка «add cfg files» в главной панели инструментов открывает диалог, в котором пользователь может отметить необходимые файлы (predinst, postinst, predrm, postrm, FIXME: что еще?)
  2. Выбранные файлы создаются в каталоге DEBIAN
Редактирование конфигурационных файлов

По двойному щелчку на имени конфигурационного файла в дереве открывается редактор соответствующего типа.

  • Редактор для файла control


В файле control может содержаться описание нескольких пакетов. Для каждого пакета в редакторе есть отдельная вкладка (на рисунке - tetris, another package)

  • Редактор для файла rules

  1. Пользователь выделяет узел в дереве имеющихся файлов
  2. при нажатии на кнопку “»” открывается диалог для выбора пути назначения
  3. в правом окне строится целевое дерево файлов
  4. с помощью кнопки ««» пользователь может удалить файл из целевого дерева

Файл rules может редактироваться как обычный скрипт2). Для этого нужно переключиться на вкладку “rules” в нижней части редактора.

  • Файлы скриптов установки/удаления редактируются как обычные скрипты.
Генерация пакета

При нажатии на кнопку «gen pkg» в главной панели инструментов открывается диалог, в котором пользователь должен ввести

  • тип генерируемого пакета: с исходными кодами/бинарный
  • информацию об изменениях для файла changelog.

Уточняющая информация

Входные данные для генерации пакета

Чтобы сгенерировать пакет, необходимо иметь следующие данные:

  • тип пакета (бинарный или с исходными текстами программы);
  • список файлов, которые необходимо запаковать;
  • в случае, если это бинарный пакет необходимо:
    • список требуемых библиотек;*
    • список предоставляемых библиотек;
  • путь, куда ставить какой файл(разные файлы могут быть установлены в различные каталоги)
Сборка пакетов для другой платформы

FIXME: в работе

Пакеты с исходниками: сборка и установка

FIXME: в работе

Добавление скриптов пре/пост инсталяции/деинсталяции

есть плагин для редактирования скриптов
FIXME изучить что умеет/насколько пригоден к использованию

1)
приоритет: 1-maх,3-min
2)
с использованием плагина ShellEd?

Discussion

cheat, 2008/03/23 23:20

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

You could leave a comment if you were logged in.
etc/common_activities/slind/deb_producer.1194976451.txt.gz · Last modified: 2008/01/03 02:32 (external edit)