The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Роса открыла код сборочной среды ABF

02.04.2012 16:43

Компания Роса объявила о публикации кода ABF (Automatic Build Farm), распределенной среды непрерывной разработки дистрибутивов и организации сборки пакетов отдельных приложений. ABF не привязана к конкретному дистрибутиву и может использоваться для разработки различных типов дистрибутивов на основе RPM, DEB и других форматов пакетов. Система сочетает в себе особенности и сильные стороны Open Build Service и Launchpad, например, позволяет собирать пакеты для всех поддерживаемых дистрибутивов, поддерживает сборку дистрибутива, предоставляет web-интерфейс для сопровождения процесса разработки c возможностью планирования работы, проведения обсуждений и обмена наработками между группами разработчиков и дистрибутивами.

Исходные тексты открыты под лицензией GPLv2. Ядро ABF написано на языке Python, а web-интерфейс на Ruby с использованием Ruby on Rails. Для хранения исходные текстов пакетов задействована система контроля версий Git. Ядро ABF составляют такие подсистемы, как система сборки (клиент и сервер для сборки пакетов из исходных кодов), менеджер сборки продуктов (формирование iso-образа дистрибутива) и компоненты поддержки сборки для Fedora/RHEL и Роса/Mandriva (по аналогии может быть обеспечена поддержка любых других дистрибутивов). Web-интерфейс позволяет управлять всеми процессами разработки и сборки дистрибутивов СПО, а также организовать взаимодействия разработчиков, пользователей и мэйнтейнеров.

Основные возможности бета-версии ABF:

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


 
  1. Главная ссылка к новости (http://www.rosalab.ru/blogs/ro...)
  2. OpenNews: Компания Роса анонсировала сборочную среду ABF и порт Mock для работы с urpmi
  3. OpenNews: Открыт публичный сервер сборочной системы Korinf
  4. OpenNews: Система openSUSE Build Service переименована в Open Build Service
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33507-abf
Ключевые слова: abf, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (156) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 18:34, 02/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –4 +/
    Python + Ruby = слишком толсто и медленно.
     

     ....большая нить свёрнута, показать (44)

  • 1.9, I am (??), 21:21, 02/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    А как там с зависимостями? К примеру, приехала новая либа , которая run time dependencies у десятка и более пакетов? Эти пакеты надо руками ребилдить или интеллект этой штуки сам поймет, что надо сделать?
     

     ....большая нить свёрнута, показать (59)

  • 1.37, Аноним (-), 01:10, 03/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Всегда удивляли такие штуки - рассчёт зависимостей и автоматическая сборка только нужных пакетов выставляется как фича. Тогда как нормальные люди пошли по правильному пути - от source-based системы сборки которая всё это умеет из коробки.
     
     
  • 2.41, Eugeni Dodonov (ok), 02:01, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    Что-то я не уловил зависимости. В source-based системе тоже нужно учитывать зависимости и последовательность сборки. Как без этого собрать ту же mesa, которой нужен libdrm, которому нужен pixman, причем всем нужен glibc, gcc, python и limbpc (и так дальше по сборочной цепочке) например?
     
  • 2.45, ach (ok), 07:52, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Всегда удивляли такие штуки - рассчёт зависимостей и автоматическая сборка только нужных
    > пакетов выставляется как фича. Тогда как нормальные люди пошли по правильному
    > пути - от source-based системы сборки которая всё это умеет из
    > коробки.

    А зачем в Gentoo revdep-rebuild есть не напомните?

     
  • 2.79, Michael Shigorin (ok), 12:18, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    > Тогда как нормальные люди пошли по правильному пути - от source-based системы сборки

    ...которая практически в принципе несовместима с воспроизводимостью этой самой сборки: ушла или пришла зависимость (или тест в configure) где-то там дальше по графу -- и вот уже совсем другой результат через месяц получился.

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

    Так что это просто разные критерии нормальности.  Точнее, задачи разные.

     
     
  • 3.87, vle (ok), 12:45, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> Тогда как нормальные люди пошли по правильному пути - от source-based системы сборки
    > ...которая практически в принципе несовместима с воспроизводимостью этой самой сборки:

    Дорогой, Миша Шигорин, я тебя очень прошу, прекрати нести бред
    о вещах, в которых ты не разбираешься.

    Воспроизводима сборка пакета или нет зависит от тысяч причин,
    но только не от того, к какому типу пакетных систем относят ту или иную.
    Source-based ее _назвали_ или нет не имеет ни малейшего значения.

     
     
  • 4.99, Michael Shigorin (ok), 13:22, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > прекрати нести бред

    Лёш, подумай о составе сборочной среды, как он образуется, что на этот процесс влияет.  Сам понимаешь, это львиная доля обеспечения воспроизводимости.

    > Воспроизводима сборка пакета или нет зависит от тысяч причин

    Естественно.  И в т.ч. от того, почему и как происходят изменения.

    > но только не от того, к какому типу пакетных систем относят ту или иную.

    Я тебе верю, что в принципе из досок на гвоздях можно построить двадцатиэтажку.  Но ты руками покажи и заодно объясни, почему всё-таки обычно этого не делают.

    PS: и завязывай уже с этакими выбросами -- "бред и точка".  Сказал "а", говори "б", интересно же послушать умного и грамотного человека с глазооткрывателем.  Может, и впрямь упустил чего (хотя мне та же тематика более интересна в применении к образам, чем к пакетам).

     
     
  • 5.104, vle (ok), 13:35, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> прекрати нести бред
    > Лёш, подумай о составе сборочной среды, как он образуется, что на этот
    > процесс влияет.  Сам понимаешь, это львиная доля обеспечения воспроизводимости.

    Не надо меня лечить, дохтур

    >> но только не от того, к какому типу пакетных систем относят ту или иную.
    > Я тебе верю, что в принципе из досок на гвоздях можно построить
    > двадцатиэтажку.  Но ты руками покажи и заодно объясни, почему всё-таки
    > обычно этого не делают.

    Завязывай эти свои понты "из досок и гвоздей". Ни о досках ни о гвоздях
    ты не имеешь ни малейшего представления.

    > PS: и завязывай уже с этакими выбросами -- "бред и точка".  
    > Сказал "а", говори "б", интересно же послушать умного и грамотного человека
    > с глазооткрывателем.  Может, и впрямь упустил чего (хотя мне та
    > же тематика более интересна в применении к образам, чем к пакетам).

    Для того, что открывать глаза упертому верующему, убежденному
    в своей святости, надо оценить
    уровень его знаний о гвоздях и досках.
    Судя по тому, что я вижу о "Source-based системах"
    ты не знаешь ровно ничего.

     
     
  • 6.121, Michael Shigorin (ok), 14:18, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Судя по тому, что я вижу о "Source-based системах" ты не знаешь ровно ничего.

    Вообще-то знаю, но тебе и впрямь проще считать, что ничего: потому и попросил рассказать.

    Только не забудь про воспроизводимость, мы ведь именно о ней говорили.

     
     
  • 7.126, vle (ok), 14:43, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> Судя по тому, что я вижу о "Source-based системах" ты не знаешь ровно ничего.
    > Вообще-то знаю, но тебе и впрямь проще считать, что ничего

    В таком случае начнем со списка вопросов.

     
     
  • 8.135, Michael Shigorin (ok), 15:15, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Давай 1 Как определяется состав сборочной среды для конкретной программы ... текст свёрнут, показать
     
     
  • 9.138, vle (ok), 16:04, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Для конкретного пакета В случае pkgsrc из списка прописанного в DEPENDS, BUILD_... большой текст свёрнут, показать
     
     
  • 10.139, Eugeni Dodonov (ok), 16:55, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Оооо, спасибо большое за детали У меня всегда был такой вот вопрос - в данной к... текст свёрнут, показать
     
     
  • 11.144, vle (ok), 18:43, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    1 cd usr pkgsrc textproc dict-server bmake package Соберет все зависимости ... большой текст свёрнут, показать
     

  • 1.42, sasa (??), 02:10, 03/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > распределенной среды непрерывной разработки дистрибутивов

    Торвальдс разработал Linux и Git - один человек сделал больше чем все вместе взятые российские "разработчики" "независимых" дистрибутивов СПО. Кому нафик нужен весь этот шоу-бизнес..

     

     ....большая нить свёрнута, показать (24)

  • 1.47, Аноним (-), 09:34, 03/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    а gentoo оно умеет?
     
     
  • 2.49, gaal_dev (?), 10:20, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а gentoo оно умеет?

    В принципе это возможно. Надо еще поработать над этим. Нужен сборочный клиент.

     
  • 2.61, ach (ok), 11:19, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а gentoo оно умеет?

    А зачем?

     
     
  • 3.67, Michael Shigorin (ok), 11:41, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> а gentoo оно умеет?
    > А зачем?

    <прищурившись>Ну как же, а calculate? :)</>

    PS: поздравляю с выпуском, на самом деле.

     

  • 1.100, arisu (ok), 13:24, 03/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    (задумчиво) а Slackware поддерживается? как оно со слакбилдами работает?
     
     
  • 2.103, ach (ok), 13:30, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > (задумчиво) а Slackware поддерживается? как оно со слакбилдами работает?

    Клиент сборочный нужен под конкретный дистрибутив.

     
     
  • 3.113, arisu (ok), 14:00, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> (задумчиво) а Slackware поддерживается? как оно со слакбилдами работает?
    > Клиент сборочный нужен под конкретный дистрибутив.

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

    p.s. и тестовый сервер, да. потому что разворачивать у себя я не готов.

     
     
  • 4.117, ach (ok), 14:06, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >>> (задумчиво) а Slackware поддерживается? как оно со слакбилдами работает?
    >> Клиент сборочный нужен под конкретный дистрибутив.
    > я конкретно тупое и не умею искать. есть ли прямая ссылка на
    > тутор по созданию таких вещей? обещать, конечно, ничего не обещаю, но
    > вдруг да и напишу?

    wiki малоинформативна для этого - http://tinyurl.com/cv3z325 . Писалась статья тогда, когда исходников еще не было. Сейчас лучше посмотреть в исходники, вдруг там есть шаблон клиента (я не смотрел, не знаю). Дальше лучше подписаться на abf-users@rosalab.ru и общаться с разработчиками. И можно учетку завести и тестить непосредственно на ABF.


     
     
  • 5.120, arisu (ok), 14:18, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    tnx. схоронил ответ, на днях гляну. скорее всего — как обычно — ничего не сделаю, но вдруг.
     
  • 5.128, Michael Shigorin (ok), 14:48, 03/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Сейчас лучше посмотреть в исходники

    Не в обиду, но если бы вы сами воспользовались таким советом, а не из политики выросли -- то помогали бы пилить альт... :)

    А если взялись делать проект, то (без подковырок!) не отсылайте людей в исходники вместо документации: нет ничего вернее, но и желания лишний раз вычитывать реализацию и угадывать по ней намерение тоже нет.

    ---

    Страничка по ссылке пестрит ошибками самого разного плана -- от грамматических до концептуальных; похоже, писали впопыхах.  Если интересует список багов -- попросите писавших сперва просмотреть и поправить те, которые им и так заметны.

    Сильно позабавили "темы оформления" в списке примеров из определения проекта и вот эта коронная фраза: "При сборки проекта необходимо пересобрать все пакеты, которые были собраны на нем ранее. Это необходимо для удовлетворения зависимостей, в случае изменения в библиотеках. Если этого не делать, то программы, собранные на старой версии библиотек, могут не работать либо работать неправильно" (особенно на фоне термина "back build dependence", обличающего NIH и незнание что существующей терминологии, что английского).

    Ну и про собственно сборочный клиент -- надеюсь, у вас хотя бы код пишут лучше, чем документацию к нему: "Собрать проект и выложить в контейнер обновив мета-дату" -- это не описание на таком уровне детализации.  Либо же недостаёт отдельно описанной софтины с указанием, что входит в "собрать проект" (хотя бы для уже реализованных случаев).

    PS: только не принимайте близко к сердцу, я всё-таки надеюсь, что пригодится для исправления ошибок и делания выводов.  Уровень ужасает, конечно.  Надо выправлять.

     
     
  • 6.130, ach (ok), 14:50, 03/04/2012 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > А если взялись делать проект, то (без подковырок!) не отсылайте людей в
    > исходники вместо документации: нет ничего вернее, но и желания лишний раз
    > вычитывать реализацию и угадывать по ней намерение тоже нет.

    По шаблону лучше общаться с разработчиками, что я и написал. А arisu, судя по комментам, все-таки разработчик, так что его не испугают исходники.

     
     
  • 7.153, arisu (ok), 14:02, 04/04/2012 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    в общем-то да, разработчик. и вполне знаю, что написание внятной документации — это труд чуть ли не сложнее, чем разработка системы. конечно, при наличии пошаговых инструкций предпочту именно их, но коль нет… да и ладно. код ядра читали — не померли, авось и от ABF дуба не врежем.
     
  • 6.154, arisu (ok), 14:05, 04/04/2012 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    это, конечно, замечания по делу. но немного не по теме: человек, в общем-то, отвечал на конкретный вопрос конкретному пользователю. как «руководство для всех» — не катит, конечно, но как ответ именно мне — вполне.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру