Проект AlmaLinux представил новую сборочную систему ALBS

Разработчики дистрибутива AlmaLinux, развивающего похожий на CentOS бесплатный клон Red Hat Enterprise Linux, представили новую сборочную систему ALBS (AlmaLinux Build System), которая уже использована при формировании выпусков AlmaLinux 8.6 и 9.0, подготовленных для архитектур x86_64, Aarch64, PowerPC ppc64le и s390x. Кроме сборки дистрибутива ALBS также используется для генерации и публикации корректирующих обновлений (errata), и заверения пакетов цифровой подписью. Код сборочной системы написан на языке Python и распространяется под лицензией GPLv3.

Представленная сборочная система основана на наработках компании CloudLinux, развивающей собственный коммерческий дистрибутив на основе пакетной базы RHEL. Компания CloudLinux основала проект AlmaLinux и выступила учредителем некоммерческой организации AlmaLinux OS Foundation, созданной для разработки на нейтральной площадке с участием сообщества и c использованием модели управления, похожей на организацию работы проекта Fedora. Для подтверждения приверженности изначально заявленной полностью открытой и прозрачной для сообщества модели разработки, код сборочной системы теперь полностью открыт, а все стадии сборки AlmaLinux подконтрольны сообществу.

Система ALBS ориентирована на автоматизацию сборки дистрибутива, сборки пакетов, тестирования пакетов, формирования цифровых подписей и публикации собранных пакетов в публичных репозиториях. Система нацелена на обработку всех стадий формирования дистрибутива как единого целого для исключения ошибок, вызванных человеческим фактором. Сборочная система продолжает развитие внутренней сборочной системы CloudLinux, применяемой с 2012 года.

Помимо пакетов в формате RPM, поддерживается формат DEB и предоставляются средства для автоматизации замены брендов и модификации пересобираемых пакетов. В том числе система может применяться для создания произвольных дистрибутивов на основе Ubuntu и Debian. Для тестирования сборок применяется система непрерывной интеграции Jenkins. Исходный код собираемых пакетов загружается из Git-репозитория (в случае с AlmaLinux изменения в пакетах RHEL отслеживается через git.centos.org и переносятся в git.almalinux.org и sources.almalinux.org).


Для всех желающих открыт анонимный доступ к сборочной системе AlmaLinux, позволяющий отслеживать все стадии сборки дистрибутива. Через предоставленный интерфейс можно определить какие пакеты собираются в данный момент, когда был собран интересующий пакет и при сборке каких пакетов возникли сбои. Для анализа доступен полный сборочный лог с детализацией на уровне отдельных пакетов. В настоящее время доступ ограничен возможностью наблюдения за системой, но в конце июля планируется запустить систему управления доступом на основе ролей (RBAC) и предоставить участникам из сообщества и сопровождающим возможность собирать в ALBS собственные пакеты.

В будущем также ожидается поддержка верификации сборок с использованием сервиса CodeNotary, поддержка сборочного сервиса COPR, поддержка пространств имён для предоставления проектам и организациям инфраструктуры сборки своих пакетов, подготовка средств для автоматизации сборки и публикации образов виртуальных машин и контейнеров.

Release. Ссылка here.