Увидел свет релиз платформы Open Build Service 2.4, которая позволяет организовать процесс разработки дистрибутивов и программных продуктов, включая подготовку и сопровождение релизов и обновлений. Система даёт возможность выполнить кросс-компиляцию пакетов для большинства основных дистрибутивов Linux или собрать собственный дистрибутив на основе заданной пакетной базы.
Поддерживается сборка для 22 целевых платформ (дистрибутивов) и 7 архитектур, в том числе для архитектур i386, x86_64 и ARM. Среди поддерживаемых дистрибутивов: CentOS, Debian, Fedora, Mandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) и Ubuntu. В настоящий момент OBS используется в качестве первичной системы для сборки проектов openSUSE, MeeGo, Tizen и VideoLAN, а также для сборки Linux-продуктов в компаниях Dell, Cray и Intel.
OBS предлагает создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org, и одной командой собрать последнюю версию заданной программы в виде бинарного пакета под нужную систему. Кроме того, можно сформировать готовое минималистичное окружение для выполнения в системах виртуализации, cloud-окружениях или для загрузки в виде Live-дистрибутива. При работе с OBS разработчик может использовать готовый web-сервис build.opensuse.org или установить подобную систему на своём сервере. Кроме того, можно быстро развернуть собственную инфраструктуру при помощи специально подготовленных образов для виртуальных машин, локальной установки или для PXE-загрузки по сети.
Система позволяет автоматизировать загрузку исходных текстов из внешних Git или Subversion репозиториев или архивов с кодом с ftp- и web-серверов первичных проектов, что позволяет избавиться от промежуточной ручной загрузки архивов с кодом на локальную машину разработчика и последующего импорта в openSUSE Build Service. Для управления Open Build Service можно использовать как инструментарий для командной строки, так и web-интерфейс. Код всех компонентов системы, включая web-интерфейс, систему тестирования пакетов и сборочные бэкенды, полностью открыт под лицензией GPLv2.
Среди улучшений, добавленных в Open Build Service 2.4:
В дополнение к пакетам в форматах DEB и RPM, в Open Build Service интегрирована поддержка формата PKGBUILD, используемого дистрибутивом Arch Linux;
Поддержка сборки пакетов для 64-разрядной архитектуры AArch64 (ARM64), реализованной в процессорах с набором команд ARMv8. Архитектура AArch64 включает в себя новый набор команд A64, примечательный расширением числа регистров, новыми командами для вычислений с плавающей запятой (FP) и новыми векторными SIMD-инструкциями NEON, такими как инструкции для ускорения работы алгоритмов шифрования AES и SHA-1/SHA-256;
Возможность использования цифровых подписей для пакетов с загрузчиками и драйверами, что позволяет создавать дистрибутивы, работающие на системах с UEFI Secure Boot;
Новый режим ограниченной сборки, позволяющий привязать процесс сборки заданных пакетов к сборочным узлам, удовлетворяющим определённым параметрам. Например, можно разрешить сборку только на узлах с минимальной версией ядра, флагами CPU, размером памяти, доступным местом на диске и типом используемого изолированного окружения. Указанную возможность можно использовать для организации более оптимального распределения работ по разнородным узлам сборочного кластера, а также для проведения тестирования сборки в разных условиях;
Поддержка метаданных универсальной платформы для установки приложений AppStream, что открывает возможности по интеграции OBS с сервисами распространения приложений, поддерживающими AppStream API;
Проведена работа по увеличению скорости работы различных компонентов OBS и экономии времени пользующихся OBS разработчиков. Добавлена поддержка предустановки образов зависимостей для ускорения сборки изолированных сборочных окружений - теперь можно объединить в один образ все компоненты окружения без необходимости установки отдельных пакетов. Увеличена эффективность кэширования сборочных метаданных, обеспечена группировка записываемых метаданных и представлен более эффективный процесс слияния метаданных. Задействованы асинхронные методы взаимодействия для связи между разными установками OBS, что позволило избавиться от влияния характеристик сети на работу сборочного процесса;
Осуществлена миграция на Ruby 1.9 и Rails 3.2;
Увеличена мощность общедоступного сборочного online-сервиса, для работы которого выделена дополнительная серверная стойка;
Поддерживается сборка для 22 целевых платформ (дистрибутивов) и 7 архитектур, в том числе для архитектур i386, x86_64 и ARM. Среди поддерживаемых дистрибутивов: CentOS, Debian, Fedora, Mandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) и Ubuntu. В настоящий момент OBS используется в качестве первичной системы для сборки проектов openSUSE, MeeGo, Tizen и VideoLAN, а также для сборки Linux-продуктов в компаниях Dell, Cray и Intel.
OBS предлагает создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org, и одной командой собрать последнюю версию заданной программы в виде бинарного пакета под нужную систему. Кроме того, можно сформировать готовое минималистичное окружение для выполнения в системах виртуализации, cloud-окружениях или для загрузки в виде Live-дистрибутива. При работе с OBS разработчик может использовать готовый web-сервис build.opensuse.org или установить подобную систему на своём сервере. Кроме того, можно быстро развернуть собственную инфраструктуру при помощи специально подготовленных образов для виртуальных машин, локальной установки или для PXE-загрузки по сети.
Система позволяет автоматизировать загрузку исходных текстов из внешних Git или Subversion репозиториев или архивов с кодом с ftp- и web-серверов первичных проектов, что позволяет избавиться от промежуточной ручной загрузки архивов с кодом на локальную машину разработчика и последующего импорта в openSUSE Build Service. Для управления Open Build Service можно использовать как инструментарий для командной строки, так и web-интерфейс. Код всех компонентов системы, включая web-интерфейс, систему тестирования пакетов и сборочные бэкенды, полностью открыт под лицензией GPLv2.
Среди улучшений, добавленных в Open Build Service 2.4:
В дополнение к пакетам в форматах DEB и RPM, в Open Build Service интегрирована поддержка формата PKGBUILD, используемого дистрибутивом Arch Linux;
Поддержка сборки пакетов для 64-разрядной архитектуры AArch64 (ARM64), реализованной в процессорах с набором команд ARMv8. Архитектура AArch64 включает в себя новый набор команд A64, примечательный расширением числа регистров, новыми командами для вычислений с плавающей запятой (FP) и новыми векторными SIMD-инструкциями NEON, такими как инструкции для ускорения работы алгоритмов шифрования AES и SHA-1/SHA-256;
Возможность использования цифровых подписей для пакетов с загрузчиками и драйверами, что позволяет создавать дистрибутивы, работающие на системах с UEFI Secure Boot;
Новый режим ограниченной сборки, позволяющий привязать процесс сборки заданных пакетов к сборочным узлам, удовлетворяющим определённым параметрам. Например, можно разрешить сборку только на узлах с минимальной версией ядра, флагами CPU, размером памяти, доступным местом на диске и типом используемого изолированного окружения. Указанную возможность можно использовать для организации более оптимального распределения работ по разнородным узлам сборочного кластера, а также для проведения тестирования сборки в разных условиях;
Поддержка метаданных универсальной платформы для установки приложений AppStream, что открывает возможности по интеграции OBS с сервисами распространения приложений, поддерживающими AppStream API;
Проведена работа по увеличению скорости работы различных компонентов OBS и экономии времени пользующихся OBS разработчиков. Добавлена поддержка предустановки образов зависимостей для ускорения сборки изолированных сборочных окружений - теперь можно объединить в один образ все компоненты окружения без необходимости установки отдельных пакетов. Увеличена эффективность кэширования сборочных метаданных, обеспечена группировка записываемых метаданных и представлен более эффективный процесс слияния метаданных. Задействованы асинхронные методы взаимодействия для связи между разными установками OBS, что позволило избавиться от влияния характеристик сети на работу сборочного процесса;
Осуществлена миграция на Ruby 1.9 и Rails 3.2;
Увеличена мощность общедоступного сборочного online-сервиса, для работы которого выделена дополнительная серверная стойка;