LINUX.ORG.RU

ROSA ABF 2.0

 , , ,


1

3

Компания «РОСА» объявляет об обновлении среды разработки и сборки свободного программного обеспечения ROSA Automatic Build Farm (ABF) до версии 2.0. Система получила более 100 различных улучшений, которые помогут разработчикам и мейнтейнерам более эффективно управлять жизненным циклом дистрибутивов (от создания исходного кода до сборки ISO-образов).

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

REST API
Благодаря REST API, каждый может использовать ABF как платформу для своих приложений и сервисов, а также автоматизировать рутинные операции. Документацию по REST API вы можете найти на специальном сайте для разработчиков: http://abf-doc.rosalinux.ru/.

Pull Request
Функция Pull Request позволяет предложить изменения в git-репозитории других участников. После отправки такого запроса, все заинтересованные участники могут видеть, обсуждать и, при необходимости, редактировать код. Причем инструмент эффективен для проектов любого масштаба. Чтобы воспользоваться Pull Request, сделайте клон (форк) проекта, внесите в него правки, а затем предложите их в основную ветку, создав запрос на включение изменений из своего проекта. При этом никаких прав на основной проект не предоставляется и не требуется.

Построчное комментирование кода
Поскольку во время работы с кодом невозможно обойтись без обсуждений, в ABF 2.0 включена поддержка Github Flavored Markdown — простого языка разметки. Вместе с возможностью обсуждать каждую строчку кода, он предоставляет команде разработчиков хороший инструмент для дискуссий.

Трекер с реакцией на изменение кода
Под реакцией на изменения исходного кода мы подразумеваем отображение в задаче следующих данных:

  • информация о сделанных изменениях в исходном коде, если в коммите был указан номер задачи;
  • информация о других задачах и запросах на изменения исходного кода, если в них ссылались на данную.

Теперь в задаче можно увидеть всю информацию о ней: обсуждения, коммиты, связанные задачи и запросы на изменения исходного кода (Pull Request).

Git через ssh
Наверное, самая ожидаемая функция ROSA ABF. Во-первых, она избавляет разработчика от необходимости вводить пароль для совершения каждой операции. Во-вторых, снимает ограничение на объем передаваемых данных. И, в-третьих, это классический вариант работы с удаленным сервером Git.

Подсистема сборки пакетов
Обновленная подсистема получила полноценную поддержку сборки пакетов под разные дистрибутивы и повышенный уровень безопасности. Были устранены неявные зависимости между сборками, поскольку для каждой из них теперь используется чистая виртуальная машина. Также добавлены новые возможности по работе со сборочными заданиями и проведена унификация рабочих инструментов. Теперь стало возможно отменить уже собирающиеся задание и стал доступен автоматически обновляемый общий лог процесса.

Что ещё нового в ROSA ABF 2.0:

  • возможность сравнения произвольных коммитов и веток в веб-интерфейсе;
  • почтовые оповещения по различным аспектам системы и гибкие возможности настройки таких оповещений;
  • механизм массовых сборок;
  • официальный и ещё два неофициальных консольных клиента;
  • страница релизов исходного кода проекта;
  • информационные бюллетени;
  • расширенные возможности у персональных репозиториев;
  • подробная техническая документация.

Подробный список изменений на английском языке вы можете прочесть в блоге проекта ABF: http://abf-blog.rosalinux.ru/post/48772687862/abf-long-road-to-2-0

Отрадно констатировать тот факт, что сообщество регулярно пополняет экосистему Automatic Build Farm новыми инструментами, позволяющими существенно сократить рутинные операции и получить подробные данные о состоянии пакетной базы. Например:

URPM-Repoclosure (отвечает за замкнутость репозитория по зависимостям);
ABI Compliance Checker (анализирует совместимость версий С/C++ библиотек);
Upstream Tracker (инструмент мониторинга и анализа библиотек в Upstream);
Updates Tracker (определяет устаревшие пакеты по сравнение с Upstream или другими дистрибутивами);
PkgDiff (показывает изменения в пакетах).

ROSA ABF 2.0 является открытым проектом и мы приглашаем всех желающих принять участие в нем. Разработчики могут воспользоваться обширной документацией по системе.

На текущий момент ABF как платформу для разработки своих дистрибутивов использует не только компания РОСА, но и OpenMandriva и Conectiva. В качестве экспериментов на ABF также собраны AltLinux, Fedora, OpenSuse, Scientific Linux, RHEL.

Исходный код

Документация по ABF на английском языке

Обсуждение проекта

Служба поддержки

Краткое руководство по работе в системе ROSA ABF

>>> Подробности



Проверено: Aceler ()

ROSA ABF 2.0 является открытым проектом и мы приглашаем всех желающих принять участие в нем. Разработчики могут воспользоваться обширной документацией по системе.

Мне тоже интересно, какая лицензия? Если я правильно понял это не СПО?

rsashka ()
Ответ на: комментарий от Lennart

ROSA CJSC (“ROSA”) distributes the ABF source code under the GNU General Public License (GPL), version 2.0 or later. Third-party copyright in this distribution is noted where applicable.

Aceler ★★★★★ ()
Ответ на: комментарий от rsashka

Если внимательно читать пост, можно найти ссылку на исходный код.

Aceler ★★★★★ ()

Коллеги, мои искренние поздравления!

В качестве экспериментов на ABF также собраны AltLinux, Fedora, OpenSuse, Scientific Linux, RHEL.

Нельзя ли посмотреть на собранный ALT Linux?

aen ★★ ()

Зачем плодят сущности... Эти ресурсы да в OBS...

anonymous ()

Типа, Андройд откопали в своём говне. Не доросли.

nihil ★★★★★ ()
Ответ на: комментарий от Aceler

Я внимательно читал пост. И меня интересует лицензия, под которой выходит этот проект, а не ссылка на его исходный код.

rsashka ()
Ответ на: комментарий от anonymous

Спасибо! А то я думал мне предложат скачать код и посмотреть лицензию в нем ;-)

rsashka ()
Ответ на: комментарий от rsashka

Я внимательно читал пост. И меня интересует лицензия, под которой выходит этот проект, а не ссылка на его исходный код.

По ссылке на исходный код обычно можно найти ссылку на лицензию, ибо лицензия на исходный код.

Не хочешь ты сам рыбу ловить, да?

Aceler ★★★★★ ()

И да, пойду выпью колы по этому случаю.

Aceler ★★★★★ ()

Вкусно, казалось бы больше систем сборки, хороших и разных, но вот чем им OBS не угодил.

Пользуясь случаем - что используют в Fedora? Почему бы не использовать OBS или сабж? А давайте там все собирать :3

dearboy ()
Ответ на: комментарий от dearboy

А давайте там все собирать :3

кстати да - как это до сих пор гентушники что-нибудь этакое для сборки не приспособили?

Lennart ()
Ответ на: комментарий от dearboy

У всех дистрибутивов есть что-то своё. И поскольку это своё худо-бедно покрывает текущие нужды, а ньюфагов разработчики дистрибутива по привычке просто игнорят — дистрибутивный сервис сборки никто менять не собирается.

ABS в арче, что-то есть и в генте, debbuild у дебиана, rawhide и связанное с ним у федоры, лаунчпад у убунты, ну и OBS у opensuse.

quiet_readonly ★★★★ ()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Ответ на: комментарий от Lennart

Никаких ресурсов под каждого собирать не хватит. Хотя вот круто же было бы собрать с общими флагами оптимизации основные хотя бы пакеты, со всеми комбинациями юзфлагов. Sabayon получится.

dearboy ()
Ответ на: комментарий от dearboy

Никаких ресурсов под каждого собирать не хватит.

Бросьте, запросто хватит. А если бы так уж заботились о ресурсах — давно бы прикрутили clang как компилятор и gold как линковщик.

quiet_readonly ★★★★ ()
Ответ на: комментарий от Lennart

*гладит по голове*
Подрастёшь – объясним. А пока пошли на качельки.

Deleted ()

Порадовали, спасибо.

ly ()

гг. У них там чё денег как у космонавта — девать некуда?
Интересно, кто оплачивает банкет на деньги обманутого населения изъятые у оного входе прихватизации и проведением повышательной налоговой политики ?!!

Bad_ptr ★★★★ ()
Ответ на: комментарий от Lennart

кстати да - как это до сих пор гентушники что-нибудь этакое для сборки не приспособили?

управлять жизненным циклом дистрибутивов

развитие подсистемы сборки пакетов

среды разработки

Действительно, почему?

loz ★★★★★ ()
Ответ на: комментарий от Bad_ptr

гг. У них там чё денег как у космонавта — девать некуда?

Да, они тратятся на десктоп, а не только на серверочки.

Интересно, кто оплачивает банкет на деньги обманутого населения изъятые у оного входе прихватизации и проведением повышательной налоговой политики ?!!

http://lleo.me/dnevnik/2009/03/18.html

quiet_readonly ★★★★ ()
Ответ на: комментарий от aen

Спасибо!

Поддержка сборок делалась в качестве эксперементов и этих сборок нет, к сожалению, в основной (production) системе на abf.rosalinux.ru, но именно эти исследования легли в основу новой сборочной подсистемы.

Сейчас на abf.rosalinux.ru собирается RHEL(RELS, CentOS, скоро будет добавлена Fedora) и ROSA/Mandriva(OpenMandriva). Поддержка новых может быть добавлена через стандартные механизмы, о которых можно прочесть здесь: http://abf-doc.rosalinux.ru/abf/scripts/ и посмотреть реально работающую реализацию всего процесса для RHEL и MDV.

А здесь можно прочесть о системе сборки ISO: http://abf-doc.rosalinux.ru/abf/iso_build/ (тоже работает для MDV и RHEL).

То есть оценить сейчас возможность сборок для других дистрибутивов, кроме RHEL и MDV, можно по примерам и документации, но, к сожалению, не по пакетам и образам.

Если остались вопросы, буду рад ответить.

anonymous ()
Ответ на: комментарий от Lennart

А чо там сравнивать? obs на говнопейтоне, abf на православном руби. Вот и всё сравнение.

anonymous ()

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

Отлично! Чатик в каментах! Жаль, конечно, что не борда.

abraziv_whiskey ★★★★★ ()
Ответ на: комментарий от c0smonaut

В данном случае это вполне оправданный NIH, так как ROSA метит в национальные платформы.

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

В качестве экспериментов на ABF также собраны AltLinux <...>

Я полагал, что если «собраны», то они где-то есть. Пусть даже

этих сборок нет, к сожалению, в основной (production) системе на abf.rosalinux.ru.

Конечно, нам было бы весьма интересно взглянуть на результаты экспериментальных сборок ALT Linux на ABF, тем более, что они анонсированы.

aen ★★ ()
Ответ на: комментарий от Quasar

Чем же он оправдан? Ну ок, национальная платформа. И и поэтому нужно обязательно все свое написать? Они и ядро собираются свое написать? :)

c0smonaut ()
Ответ на: комментарий от quiet_readonly

молодец, заработал свои 85 рублей. только народ-то не обманешь, и через 100 лет будут говорить, как в 90е годы 20 столетия с помощью «приватизации» всех сделали нищими.

anonymous ()

rosalinux.ru не работает :(

kott ★★★★★ ()
Ответ на: комментарий от anonymous

Если остались вопросы, буду рад ответить.

Я все же поставлю вопросы прямо:

1. Собран ли ALT Linux на ABF, пусть и в качестве эксперимента?

2. Доступны ли результаты этой экспериментальной сборки?

Интересны (хотя для меня и менее важны) ответы на те же вопросы про OpenSuse.

aen ★★ ()
Ответ на: комментарий от anonymous

Поддержка сборок делалась в качестве эксперементов и этих сборок нет, к сожалению, в основной (production) системе на abf.rosalinux.ru

ISO-шки хотя бы остались?

Aceler ★★★★★ ()
Ответ на: комментарий от Aceler

Не рекламируй тут эту дрянь, лучше кваску хлебни.

boo32 ()
Ответ на: комментарий от aen

Эксперементальные сборки для AltLinux и OpenSuSe. Прошу не относится к ним строго, ведь задачей была понять, какие узкие места существовали в текущей архитектуре и как их можно было устранить. То есть мы не решали задачу полной пересборки с нуля дистрибутива. Наша цель была в исследовании различных этапов: сборка пакетов, генерация репозиториев, сборка ISO и их осуществимость в рамках ABF. Как итог — полностью переработанная подсистема сборки, которая позволяет вполне легко добавить поддержку новых дистрибутивов.

Как добавить поддержку: http://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?quote=not_empty&az...

AltLinux:

Образ: http://file-store.rosalinux.ru/download/08402618e290c72ab1f3f55e15e31b414d8d7c80 Лог сборки: http://file-store.rosalinux.ru/download/3108a14223b3af631cc1633af3ff143d93c0a282

OpenSuSe:

Образ: http://file-store.rosalinux.ru/download/b5e72cfbf18b36ee8d103537f7f99307dd143f11

Лог сборки: http://file-store.rosalinux.ru/download/b43cd917d0075e25aa679c6004a5cb4538f6de4f

К слову об узких местах, информацию об этом мы тоже не скрывали. В 2012 году летом в Обнинске у нас был доклад, посвященный как раз этой теме: http://www.rosalab.ru/blogs/abf-sistema-dlya-sovmestnoy-razrabotki

anonymous ()
Ответ на: комментарий от boo32

Не офтопь на ЛОРе, лучше хлебни что-нибудь ещё.

Aceler ★★★★★ ()
Ответ на: комментарий от anonymous

Спасибо! В Обнинске вы говорили про возможность, а интересны результаты. Посмотрим на праздниках.

aen ★★ ()
Ответ на: комментарий от aen

По ссылкам результаты эксперементов, проводимых в 2012 году на основе еще старой версии сборочной системы. Мы пытались выжить из нее максимум.

Если хочется изучить именно текущие состояние дел, то лучше всего для этого подойдет изучение текущей сборки для RHEL. Это внешний по отношению к ROSA дистрибутив, поддержку которого мы реализовали, чтобы делать на основе него Rosa Server (RELS).

Документация: http://abf-doc.rosalinux.ru/abf/scripts/ должна ответить на большинство вопросов по процессу сборки и возможности ее кастомизации.

Собственно на текущий момент поддержка остальных дистрибутивов - это вопрос востребованности. Кто будет следить за ними и решать возникающие вопросы на abf.rosalinux.ru. Если найдутся желающие там поддерживать AltLinux или OpenSuSe, то мы с радостью эти дистрибутивы добавим.

К слову, регистрация на ABF теперь открыта, можно спокойно зайти и попробывать что-нибудь собрать для того же CentOS 6.3 == rosa-server2012, пользуясь кратким руководством и используя только веб-интерфейс.

anonymous ()
Ответ на: комментарий от Aceler

Нет ограничений только на RPM. Мы постарались создать сборочную систему таким образом, чтобы иметь возможность добавлять различные дистрибутивы, например Ubuntu.

Если в двух словах: мы собираем в родной среде родными инструментами. Есть список вызовов, которые использует ABF для сборок и публикаций, которые нужно реализовать для поддержки конкретного дистрибутива. Вызовы и ожидаемые результаты описаны в документации.

Эти скрипты довольно простые для человека, который имеет представление о сборке на том дистрибутиве, который добавляем, и знаком с Bash.

anonymous ()
Ответ на: комментарий от rsashka

Я внимательно читал пост

в каком месте внимательно, и что не понятно из этого:

ROSA CJSC ("ROSA") distributes the ABF source code under the GNU General Public License (GPL), version 2.0 or later.
что можно увидеть, если пойти чуть дальше, чем одна ссылка из топа?

novitchok ★★★★★ ()
Ответ на: комментарий от anonymous

OBS на рельсах и перле. Только OSC на python.

Хмм.. Сборка в KVM добавлена только в этой версии? До этого в chroot всё публично собирали??

k0da ()
Ответ на: комментарий от k0da

Сборка в KVM добавлена только в этой версии

Сейчас обслуживания виртуальных машин используется VirtualBox. Используется он через замечательный инструмент vagrant: http://vagrantup.com/

Ранее каждый сборочный клиент поднимался отдельно и представлял собой виртуальную машину на базе kvm. И в том, и в другом случае сборка производителась в chroot-окружении.

Использование chroot-окружения для сборки пакетов общепринятая практика, мне не совсем понятно ваше возмущение этим фактом.

anonymous ()
Ответ на: комментарий от anonymous

т.е. вы поднимаете VM а потом еще и в chroot собираете?

Сколько джобов выполняет VM?

хм... VBox... Intel онли.

k0da ()
Ответ на: комментарий от k0da

т.е. вы поднимаете VM а потом еще и в chroot собираете?

Совершенно верно.

Сколько джобов выполняет VM?

1 VM выполняет всего 1 задание. После выполнение виртуальная машина отказывается до исходного состояния. То есть на каждое задание - чистая виртуальная машина.

Intel only

Мы сейчас экспериментируем с поддержкой ARM, но пока ничего определенного сказать не можем.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.