Packaging Automation/Преобразование Пакетов: различия между версиями
Нет описания правки |
|||
Строка 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 |
Версия от 15:46, 11 октября 2016
Введение.
В системах автоматизации за преобразование пакетов отвечают утилиты, использующие библиотеку RPM::Source::Transform (сейчас в пакете perl-RPM-Source-Editor).
Эту библиотеку можно расширять различными плагинами, с помощью которых можно решать следующие задачи:
- различные операции по редактированию пакета,
- автообновление пакета до следующей версии Gear/gear-uupdate, Gear/gear-cronbuild, cronbuild, croncopy, cronport
- импорт пакета в формате другого диалекта 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