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).
Эту библиотеку можно расширять различными плагинами, с помощью которых можно решать следующие задачи:
- различные операции по редактированию пакета,
- автообновление пакета до следующей версии 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