Что такое Sisyphus?
Материал из ALT Linux Wiki
Содержание[убрать] |
[править] Введение
Sisyphus (Сизиф) — это разрабатываемый ALT Linux Team проект, целью которого является развитие репозитория свободного ПО для удобной разработки на его основе дистрибутивов и других решений.
Проект Sisyphus включает следующие компоненты:
- собственно репозиторий ПО (rpm- и src.rpm-пакеты);
- инструментарий для подготовки и тестирования программных пакетов (hasher, gear, git; sisyphus_check, qa-robot, repocop; etc);
- инструментарий обеспечения целостности репозитория (apt);
- инструментарий для разработки конечных решений и, в частности, дистрибутивов (spt, mkimage, Alterator, Installer).
В настоящий момент Sisyphus доступен для архитектур x86 и x86_64, но ведется работа по портированию на другие платформы (ARM, PPC).
[править] Назначение Sisyphus
Sisyphus прежде всего предназначен для использования в качестве основы для разработки продуктов/решений для конечных пользователей:
- Разработка дистрибутивов общего назначения (например, ALT Linux Server, ALT Linux Desktop);
- Разработка специализированных дистрибутивов (OEM решения, ALTSP, SeirosPBX и другие);
- Разработка дополнений к существующим дистрибутивам;
- Разработка решений для использования на виртуальных машинах (например, шаблоны OpenVZ).
Пожалуй, самым распространенным вариантом на сегодня является создание компанией "Альт Линукс" линейки дистрибутивов ALT Linux.
[править] Чем не является 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
[править] Основные инстументы для подготовки пакетов
- rpm
- hasher
- git
- gear
- etersoft-build-utils - набор скриптов, автоматизирующий рутинные действия мантейнера
- apt (apt-rpm)
- sisyphus_check
- repocop - платформа для запуска интеграционных тестов над пакетами
- qa-robot
- spt
- mkimage
[править] Нормативные документы (полиси)
Чтобы обеспечить некоторую упорядоченность в развитии проекта, существует ряд соглашений, регламентирующих различные (чаще технологические) аспекты разработки.
[править] Как присоединиться к разработке 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;
- Наверняка есть и другие.
[править] Лирические мнения
[править] aen@ (в обращении к потенциальным пользователям дистрибутивов)
> Однако и на Sisyphus можно прекрасно работать, просто риск кривых обновлений
> гораздо выше. Если обновляться редко, то разницы по большому счёту нет.
Нет! Сизифа надо бояться, он все сломает.
Это было официальное сообщение.
[править] ab@
Сизиф не надо бояться или только уважать. Нужно принять как факт то, что где-то существуют заводы, на которых плавят руду и льют металл, чтобы потом из него сделать необходимые детали и уже из них товары народного потребления. Нужно ли бояться заводов и работяг, каждый день рискующих сгореть в домне? Врядли. В цеху может кто-то и матерком покрыть, особенно если тот, кого кроют, не соблюдает технику безопасности. В процессе отлива могут быть и опасные этапы, когда лучше и не подходить близко. Так и здесь, только жизнь этих работяг и подходы "к станку" у всех на виду.
Если относиться к доступной всем внутренней жизни цеха с пониманием и твердо оценивать собственные возможности, то пользоваться Сизифом можно. Но между "можно" и "нужно" -- бездна, которая должна быть заполнена собственной мыслительной деятельностью, с учетом собственной ситуации и потенциальных результатов.
Не надо только делать из нормального трудового процесса жупел или символ чего-либо.
[править] rider@
Перейти на Sisyphus стоит, если:
- вы знаете, что вы делаете.
- вы умеете исправлять то, что вы не знаете, что делает
- вы программист
- у вас есть достаточно времени, чтобы исправлять то, что вы не знаете, что делает
- ваше желание участовать в разработке настолько велико, что перевешивает все остальные пункты