Компания Роса объявила о начале тестирования ABF (Auto Build Farm), распределенной среды для непрерывной разработки дистрибутивов СПО и прикладных программ. Система сборки реализована на Python, web-интерфейс для управления всеми процессами разработки и сборки дистрибутивов СПО написан на Ruby с использованием Ruby on Rails, система хранения исходных кодов базируется на системе контроля версий Git. Доступ к ABF пока ограничен и открывается только после заполнения мотивированной заявки. Код системы планируется открыть в марте.

ABF является результатом развития прототипа сборочной среды, созданной в рамках первого этапа проекта государственной программы «Информационное общество» по созданию Национальной программной платформы (конкурс ИО/04-11). С 10 февраля компания РОСА перешла на ABF в качестве основной платформы разработки собственных дистрибутивов. Структура ABF позволяет минимальными усилиями адаптировать данную систему и для других дистрибутивов с различными системами управления пакетами.

Основные возможности альфа-версии:

  • Управление пользователями, ролями, пакетами, репозиториями, ветками, заданиями на сборку;
  • Создание проектов (соответствующих пакетам ОС) на основе импорта внешних src.rpm или клонирования (форка) доступных пакетов ABF в пользовательский репозиторий;
  • Сборка пакетов с учетом обратных зависимостей, что позволяет проверить при обновлении пакета отсутствие нарушений сборки во всем множестве зависимых от него пакетов путем построения согласованной иерархии сборочных контейнеров;
  • Контроль доступа к различным платформам/репозиториям.
  • Просмотр данных об исходном коде пакетов (история изменений, авторы, версии).
  • Сборка бинарных пакетов под определенную архитектуру в пользовательский репозиторий либо общественный репозиторий (платформу).
  • Мониторинг состояния сборки пакетов на распределенном множестве сборочных узлов.
  • Сборка ISO-образов дистрибутивов.
  • Назначение различных полномочий пользователей на выполнение операций, вплоть до уровня отдельных пакетов.
  • Ведение журнала операций и возможность полного аудита событий в системе.

Одновременно представлена новая сборочная утилита mock-urpm, представляющая собой порт для работы с urpmi программы mock, используемой в проекте Fedora Linux для сборки rpm-пакетов в chroot-окружении (надстройка над rpmbuild). Пакет с исходными текстами mock-urpm можно загрузить из стандартных репозиториев Mandriva Linux. Код распространяется в рамках лицензии GPLv2.

Утилита mock-urpm предназначена в основном для локальной сборки отдельных пакетов мэйнтейнерами, позволяя сформировать унифицированное изолированное окружение, на состояние которого не будут влиять настройки локальной системы (например, можно гарантировать что в окружении будут только указанные в пакете зависимости). На вход может поступать SPEC-файл или SRPM-пакет, после пересборки на выходе будет получен готовый пакет для целевой системы.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33073