Packaging Automation/Преобразование Пакетов

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(Введение.)
Строка 25: Строка 25:
* импорт пакета в формате deb из Debian/Ubuntu (в планах).
* импорт пакета в формате deb из Debian/Ubuntu (в планах).
 +
=== Принципы работы библиотеки ===
 +
В библиотеке имеется контейнер ресурсов, контейнер фабрик преобразований,
 +
и объекты, имеющие роли READER, PLAYER, WRITER.
 +
 +
Загружаемые плагины добавляют свои объекты в контейнер ресурсов и(ли) контейнер фабрик преобразований,
 +
и при необходимости переопределяют объекты для ролей READER, PLAYER, WRITER.
 +
 +
При запуске
 +
* библиотека осуществляет инициализацию объектов из контейнера ресурсов,
 +
контейнера фабрик преобразований, текущих READER, PLAYER, WRITER.
 +
* для каждого входящего аргумента
 +
** READER возвращает объект преобразуемого пакета (класс {{pkg|RPM::Source::Editor}}).
 +
** библиотека опрашивает объекты из контейнера фабрик преобразований,
 +
которые в ответ генерируют и возвращают объекты преобразований.
 +
** Библиотека создает объект шины обмена сообщений
 +
и передает объект преобразуемого пакета, контейнер ресурсов, шину обмена сообщений и набор объектов преобразований в текущий объект PLAYER.
 +
** PLAYER последовательно применяет к преобразуемому пакету каждый из объектов преобразований
 +
в порядке, отсортированными по приоритету, а с одинаковым приоритетом -- по порядку загрузки плагинов.
 +
** WRITER сохраняет изменения.
 +
 +
 +
* библиотека осуществляет инициализацию объектов из контейнера ресурсов.
buildroot2files
buildroot2files
hashertarbuild
hashertarbuild
srpmnmu
srpmnmu
srpmtool
srpmtool

Версия 12:46, 11 октября 2016


Содержание


Введение.

В системах автоматизации за преобразование пакетов отвечают утилиты, использующие библиотеку RPM::Source::Transform (сейчас в пакете perl-RPM-Source-Editor).

Эту библиотеку можно расширять различными плагинами, с помощью которых можно решать следующие задачи:

  • различные операции по редактированию пакета,
  • импорт пакета в формате другого диалекта rpm (fedora, mageia, suse, pld, ...)
  • импорт пакета в формате deb из Debian/Ubuntu (в планах).

Принципы работы библиотеки

В библиотеке имеется контейнер ресурсов, контейнер фабрик преобразований, и объекты, имеющие роли READER, PLAYER, WRITER.

Загружаемые плагины добавляют свои объекты в контейнер ресурсов и(ли) контейнер фабрик преобразований, и при необходимости переопределяют объекты для ролей READER, PLAYER, WRITER.

При запуске

  • библиотека осуществляет инициализацию объектов из контейнера ресурсов,

контейнера фабрик преобразований, текущих READER, PLAYER, WRITER.

  • для каждого входящего аргумента
    • READER возвращает объект преобразуемого пакета (класс RPM::Source::Editor).
    • библиотека опрашивает объекты из контейнера фабрик преобразований,

которые в ответ генерируют и возвращают объекты преобразований.

    • Библиотека создает объект шины обмена сообщений

и передает объект преобразуемого пакета, контейнер ресурсов, шину обмена сообщений и набор объектов преобразований в текущий объект PLAYER.

    • PLAYER последовательно применяет к преобразуемому пакету каждый из объектов преобразований

в порядке, отсортированными по приоритету, а с одинаковым приоритетом -- по порядку загрузки плагинов.

    • WRITER сохраняет изменения.


  • библиотека осуществляет инициализацию объектов из контейнера ресурсов.

buildroot2files hashertarbuild srpmnmu srpmtool

 
Личные инструменты