Сизиф (Sisyphus)

Один из крупнейший репозиториев открытого ПО в мире

Что такое репозиторий Сизиф / Sisyphus

Введение

Sisyphus (Сизиф) — это разрабатываемый ALT Linux Team проект, целью которого является развитие репозитория свободного ПО для удобной разработки на его основе дистрибутивов и других решений.

Проект Sisyphus включает следующие компоненты:

  • собственно репозиторий ПО (rpm- и src.rpm-пакеты);

  • инструментарий для подготовки и тестирования программных пакетов (hasher, gear, git; sisyphus_check, qa-robot, repocop; etc);

  • инструментарий обеспечения целостности репозитория (apt);

  • инструментарий для разработки конечных решений и, в частности, дистрибутивов (mkimage, Alterator, Installer).

В настоящий момент Sisyphus доступен для архитектур x86, x86_64, aarch64, armh, RISC-V, MIPS, Эльбрус (e2kv3, e2kv4) и ведется работа по портированию на другие платформы.

Назначение Sisyphus

Sisyphus прежде всего предназначен для использования в качестве основы для разработки продуктов/решений для конечных пользователей:

  • разработка дистрибутивов общего назначения (например, ALT Server, ALT Workstation);

  • разработка специализированных дистрибутивов (OEM решения, ALT СП, ИВК Кольчуга и другие);

  • разработка дополнений к существующим дистрибутивам;

  • разработка решений для использования на виртуальных машинах (например, шаблоны OpenVZ, docker и т.д.).

Пожалуй, самым распространённым вариантом на сегодня является создание компанией «Базальт СПО» линейки дистрибутивов ALT .

Чем не является Sisyphus

Достаточно важно понимать, чем Sisyphus точно не является, чтобы по ошибке не создать себе больших проблем.

  • Sisyphus не является самостоятельным дистрибутивом. Несмотря на наличие регулярных сборок.

  • Sisyphus не является обновлениями для дистрибутивов. Для этого есть updates бранчи.

  • Sisyphus не является дополнением к дистрибутивам. Для этого есть backports бранчи.

  • Sisyphus не является стабильным решением для применения в mission critical задачах. Для этого есть дистрибутивы.

Кому и зачем нужен Sisyphus

Косвенные варианты пока не рассматриваем, но они тоже есть.

Разработчикам решений на базе Linux

Sisyphus можно использовать в качестве основы для создания собственных решений — репозиториев, дистрибутивов и т. д.

Используя Sisyphus, разработчик получает в своё распоряжение большую базу подготовленных и в достаточной мере протестированных пакетов и набор полезных инструментов (hasher, gear, mkimage, etc), существенно сокращающих время на создание готового решения.

Достаточно логичным вариантом оказывается участие таких разработчиков в ALT Linux Team, что позволяет более активно влиять на направление развития проекта Sisyphus и, как следствие, получающихся на его основе продуктов. Таким образом можно существенно сократить затраты (временные, финансовые, человеческие) на создание конечного решения.

Продвинутым пользователям

Если пользователь не входит в Team, то ему Sisyphus может быть полезен в следующих случаях:

  • Можно взять отдельные пакеты, которые отсутствуют или устарели в дистрибутиве. Только сперва рекомендуется хорошо подумать, потом проверить отсутствие в backports, а уж потом брать (и то обычно лучше src.rpm, каковой и бэкпортить сборкой в бинарном окружении целевого дистрибутива).

  • Можно почувствовать себя «в струе», на своей шкуре ощущая, как развивается свободный софт и какие новшества (включая грабли) светят в ближайших релизах :-)

Зачем участвовать в работе над Sisyphus

Участие в разработке Sisyphus дает возможность непосредственно влиять на вектор развития проекта и производных от него решений. Как следствие, возможность получить более качественный продукт и/или снизить затраты на разработку своих решений. Например, можно опубликовать сборку необходимого пакета и получить в ближайшем стабильном дистрибутиве этот пакет «из коробки».

Как разрабатывается Sisyphus

См. основную страницу и далее по разделам.

Основные инструменты для подготовки пакетов

Нормативные документы (полиси)

Чтобы обеспечить некоторую упорядоченность в развитии проекта, существует ряд нормативных документов, регламентирующих различные (чаще технологические) аспекты разработки.

Как присоединиться к разработке Sisyphus

Для присоединения к разработке Sisyphus достаточно пройти процедуру вступления в ALT Linux Team.

Процедура состоит из идентификации кандидата — регистрации GPG и ssh-ключей, и проверки уровня технической подготовки — тестового задания, обычно состоящего из сборки пакета по правилам Sisyphus.

Тестовое задание может варьироваться для разных кандидатов: желающих заниматься преимущественно поддержанием пакетов в репозитории, документированием, дизайном, тестированием и т. д.

Взаимосвязь Сизифа с другими сущностями

Так как Sisyphus является не сферическим конём в вакууме, а прежде всего инструментарием, то должны быть связи между ним, его потребителями и конечными продуктами/решениями.

Sisyphus и ALT Linux Team

Разработкой проекта Sisyphus занимается независимая команда ALT Linux Team. Sisyphus является главным продуктом, создаваемым командой.

Sisyphus и компания «Базальт СПО»‎

‎Разработка Sisyphus происходит при заметной поддержке (технической, организационной и т. д.) со стороны компании «Базальт СПО»‎. Собственно, большая часть сотрудников компании также является участниками ALT Linux Team и занимается разработкой Sisyphus.

Sisyphus и дистрибутивы ALT Linux

Компания «Базальт СПО», среди прочего, выпускает дистрибутивы операционной системы Linux, которые создаются на основе стабильных срезов репозитория Sisyphus.

Процесс превращения нестабильного Сизифа в стабильный дистрибутив приблизительно описывается такой схемой:

Постоянно меняющийся Sisyphus ⇒ стабилизация Sisyphus ⇒ создание стабильной ветки ⇒ готовый дистрибутив (или линейка)

Решения других разработчиков

На базе Sisyphus построено некоторое количество публично доступных сторонних решений:

  • Дистрибутив для терминальных серверов ALT Linux Terminal;

  • Решение для IP-АТС — SeirosPBX;

  • Прошивка для маршрутизаторов — RAD Linux;

  • Наверняка есть и другие

Last updated