После 11 месяцев разработки представлен (http://openbuildservice.org/2014/03/31/version-2.5/) релиз платформы Open Build Service 2.5 (http://www.open-build-service.org), которая позволяет (http://en.opensuse.org/Build_Service) организовать процесс разработки дистрибутивов и программных продуктов, включая подготовку и сопровождение релизов и обновлений. Система даёт возможность выполнить кросс-компиляцию пакетов для большинства основных дистрибутивов Linux или собрать собственный дистрибутив на основе заданной пакетной базы.
Поддерживается сборка для 21 целевой платформы (дистрибутивов) и 6 архитектур, в том числе для архитектур i386, x86_64 и ARM. Среди поддерживаемых дистрибутивов: CentOS, Debian, Fedora, Mandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) и Ubuntu. В настоящий момент OBS используется в качестве первичной системы для сборки проектов openSUSE, Tizen, ownCloud и VideoLAN, а также для сборки Linux-продуктов в компаниях Dell, Cray и Intel.
OBS предлагает создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org (http://software.opensuse.org/), и одной командой собрать последнюю версию заданной программы в виде бинарного пакета под нужную систему. Кроме того, можно сформировать готовое минималистичное окружение для выполнения в системах виртуализации, cloud-окружениях или для загрузки в виде Live-дистрибутива. При работе с OBS разработчик может использовать готовый web-сервис build.opensuse.org (http://build.opensuse.org/) или установить (https://github.com/openSUSE/open-build-service) подобную систему на своём сервере. Кроме того, можно быстро развернуть собственную инфраструктуру при помощи специально подготовленных образов (http://www.open-build-service.org/download/) для виртуальных машин, локальной установки или для PXE-загрузки по сети.Система позволяет автоматизировать загрузку исходных текстов из внешних Git или Subversion репозиториев или архивов с кодом с ftp- и web-серверов первичных проектов, что позволяет избавиться от промежуточной ручной загрузки архивов с кодом на локальную машину разработчика и последующего импорта в openSUSE Build Service. Для управления Open Build Service можно использовать как инструментарий для командной строки, так и web-интерфейс. Код всех компонентов системы, включая web-интерфейс, систему тестирования пакетов и сборочные бэкенды, полностью открыт (https://github.com/openSUSE/open-build-service) под лицензией GPLv2.
Среди улучшений (https://github.com/openSUSE/open-build-service/blob/2.5/Rele...), добавленных в Open Build Service 2.5:
- Добавлен новый API для манипуляцией токенами аутентификации, позволяющий обеспечить сопряжение OBS с внешними сервисами, такими как GitHub для решения задач инициирования процессов непрерывной интеграции или доставки (например, "git push" в GitHub можно привязать к пересборке пакета);- Реализация web-интерфейса и управляющего API объединены и оформлены в виде единого приложения на Ruby on Rails, что значительно упрощает сопровождение и расширение функциональности, а также ускоряет работу системы, благодаря исключению лишних прослоек и сетевого взаимодействия;
- Новый API и интерфейс администратора для настройки параметров OBS. Вместо наблюдаемого ранее набора конфигурационных файлов, каждый из которых отвечал за настройку определённого компонента OBS, отныне подготовлен специальный унифицированный конфигурационный API и построенная на его основе web-панель администратора;
- Интегрирована поддержка отправки комментариев для проектов, пакетов и запросов. Отныне пользователи могут обсуждать те или иные вещи не покидая интерфейс OBS. Реализация системы отправки комментариев также привела к созданию новой системы нотификации, позволяющей выводить уведомления о наступлении произвольных событий в OBS;
- Добавлена система автоматической чистки забытых устаревших веток, оставшихся без подтверждения. При создании новой ветки теперь определяется таймаут, в случая отсутствия подтверждения для которой ветка будет автоматически удалена (например, когда разработчик создал ветку, но отвлёкся и забыл про неё).
- Средства для поиска пакетов. Новая поисковая подсистема OBS основана на движке sphinx и позволяет осуществлять поиск по названию, заголовку и описанию пакетов и проектов в комбинации с дополнительными атрибутами, такими как число ссылок/веток и активность разработки.
URL: http://openbuildservice.org/2014/03/31/version-2.5/
Новость: http://www.opennet.me/opennews/art.shtml?num=39447
а еще добавили сбоку под арч
Он уже полтора года как по Арч собирает, пруф: http://openbuildservice.org/2012/09/10/arch-linux-support/
Ждём ебилдов.
да, давно уже работает. ради эксперимента пару раз собирал на ней некоторые свои пакеты.
> а еще добавили сбоку под арчСборку под Arch Linux добавили в прошлой версии.
http://openbuildservice.org/2013/04/30/version-2.4/
А если я glibc захочу самый новый или python? Все будет так же гладко как в portage?
Что именно вы хотите? Пересобрать весь дистр с недефолтной глибс? openSUSE:Factory так и наполняется, все живы.
Создай репозиторий, добавь туда эти пакеты. Все новые пакеты из этого репозитория будут компилироваться с ними. Можешь на всякий случай указать минимально необходимую версию в SPEC-файлах.
> А если я glibc захочу самый новый или python? Все будет так
> же гладко как в portage?1. Хоти
2. Нет, portage не умеет решать циклические зависимости.
>OBS предлагает создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org, и одной командой собрать последнюю версию заданной программы в виде бинарного пакета под нужную систему.Если нужная система rpm-based.
>>OBS предлагает создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org, и одной командой собрать последнюю версию заданной программы в виде бинарного пакета под нужную систему.
> Если нужная система rpm-based.Нет.
Да? И что, кроме rpm, в OBS можно сделать из spec-файла?
deb оно тоже может собрать.
И правда, похоже в последних версиях добавили такую возможность.
катит только для rpm для deb,portage есть более простые и правильные пути
Более простой и правильный билдсервис? Ссылку пожалуйста
Глупый вопрос. А свой дистр можно запилить с блекджеком, переписанным системде и патченным ядром?
> Глупый вопрос. А свой дистр можно запилить с блекджеком, переписанным системде и
> патченным ядром?В свой дистр можно включить любые пакеты.
> Глупый вопрос. А свой дистр можно запилить с блекджеком, переписанным системде и
> патченным ядром?Можно, я таким и занимаюсь. Зависит только от того какую базу сырцов взять.
для слаки есть?
> для слаки есть?Есть - /dev/null
Кому интересно как использовать эту систему для сборки deb пакетов https://en.opensuse.org/openSUSE:Build_Service_Debian_buildsникакие SPEC-файлы не используются,
для сборки deb пакета вам нужны те же 5 файловpackageName.dsc
debian.changelog
debian.control
debian.rules
tarball (tar.gz)Кроме того
"The Build Service will not create a source repository for .deb-based distributions, but only the .deb will be created"- может собирать только бинарные пакеты, так что полноценный репозитарий вы не получите.
Кому интересно, для сборки debian используется https://wiki.debian.org/sbuild
"(OBS 2.4 or later): Overwrite the build result format. For example a package with spec build description may generate deb packages instead of rpms"справедливости ради, все таки можно из spec собрать deb пакет, но, полагаю, все политики дебиана пойдут боком.
> справедливости ради, все таки можно из spec собрать deb пакет, но, полагаю,
> все политики дебиана пойдут боком.Они и так идут рэком, без правильных исходников.
К сожалению, там проблемы не только с debian rules / debian policy. Там также много проблем с правильным формированием листа зависимостей и базовым чрутом (который к тому же вовсе не дебиановкий). Поэтому наличие требования системного дебианопакета locales приводит к несобираемости пакета, который в нативном debuin buildd собирается без вопросов. иными словамИ, захотите выстрелить себе дробью в живот - пользуйтесь OBS.
Неасилятор?
> К сожалению, там проблемы не только с debian rules / debian policy.
> Там также много проблем с правильным формированием листа зависимостей и базовым
> чрутом (который к тому же вовсе не дебиановкий). Поэтому наличие требования
> системного дебианопакета locales приводит к несобираемости пакета, который в нативном
> debuin buildd собирается без вопросов. иными словамИ, захотите выстрелить себе дробью
> в живот - пользуйтесь OBS.Пользователи дебиана могут продолжать мучаться.
У меня вопрос, что нужно сделать, что бы наложить
свои патчи в момент сборки deb пакета? Где и что
прописывать? Как положить свой файл, не апстримный
в пакет? Читаю: http://www.debian.org/doc/manuals/maint-guide/index.ru.html
но пока не нашел.P.S: Субъективно, но сборка собственного rpm проще.
> У меня вопрос, что нужно сделать, что бы наложить
> свои патчи в момент сборки deb пакета? Где и что
> прописывать? Как положить свой файл, не апстримный
> в пакет? Читаю: http://www.debian.org/doc/manuals/maint-guide/index.ru.html
> но пока не нашел.
> P.S: Субъективно, но сборка собственного rpm проще.Если не через OBS, а просто при сборке deb нужно наложить патчи, то можно попробовать dpatch.
Не через OBS. Как это сделать?
В случае сборки rpm, я кладу патчи директорию SOURCES,
сборочного окружения, а в спеке указываю, что они
есть:
# be verbose during compile
Patch1: %name-verbose.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1036993
Patch2: %name-1.72-format.patchи что их надо применять:
%prep
%setup -n %name
%patch1 -p1 -b .verbose
#patch2 -p1 -b .formatВ случае cборки для Debian, в каком файле
наличие патчей надо указывать и как указывается
их применение?
В документации всё есть. Читай. debian/patches.
> В случае cборки для Debian, в каком файле
> наличие патчей надо указывать и как указывается
> их применение?Спроси wrar@, если не хватит штатного http://www.debian.org/doc/manuals/maint-guide/modify.en.html или где там.
wrar@ последний человек, которого я буду спрашивать.
Лучше сам разберусь.
> wrar@ последний человек, которого я буду спрашивать.Эээ... ну dottedmag@ или avn@.
> Лучше сам разберусь.
Или так.
А что "Эээ"? Он же сноб.
Скачай DEB-SRC какого-нибудьWine и посмотри как там сделано.
Да получите вы репозиторий, что с рпм, что с деб, что для арча.
Господа, никто не пробовал прикручивать сие под Alt?
> Господа, никто не пробовал прикручивать сие под Alt?Смотря в какую сторону -- dans@ пробовал прикрутить сборку в OBS из альтовых спеков, помнится, а кто-то ещё (kas@?) -- сборку OBS под альт. Насколько знаю, до конечного результата обе попытки доведены не были.
>> Господа, никто не пробовал прикручивать сие под Alt?
> Смотря в какую сторону -- dans@ пробовал прикрутить сборку в OBS из
> альтовых спеков, помнится, а кто-то ещё (kas@?) -- сборку OBS под
> альт. Насколько знаю, до конечного результата обе попытки доведены не
> были.Там всего-то надо будет кучу изобретений альта добавлять. Правда смысл? Можно же использовать другие дистрибутивы, тот же openSUSE. Какая должна быть причина использовать именно alt?
А кто знает сборку kde4 под centos6?
> А кто знает сборку kde4 под centos6?Опять же, смысл? rhel7 давно бета был, подожди и переедешь на новую версию.