Recently the launch of the Open Build Service 2.10 platform was announced, which is designed to organize the development process of software distributions and products, including preparing and maintaining releases and updates. The system stands out for allowing packages to be cross-compiled for most major Linux distributions or create your own distribution based on a certain package.
Compilation supports 21 platforms (distributions), including CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL), and Ubuntu. Assembly is possible for 6 architectures, including i386, x86_64, and ARM.
OBS covers over 140,000 packages and is used as the main system for building openSUSE, Tizen, Sailfish / Mer, NextCloud, and VideoLAN projects, as well as building Linux products on Dell, Cray, and Intel.
To create a new version of a given program in the form of a binary package for the desired system, it is enough to create a specification file or connect the package repository presented on the software.opensuse.org site.
Additionally, a ready-made minimalist environment can be created to run on virtualization systems, cloud-based environments, or to download as a live distribution.
About Open Build Service
When working with OBS, a developer can use the online service build.opensuse.org or install a similar system on your server.
Also, you can quickly deploy your own infrastructure with the help of specially prepared images for virtual machines, containers, local installation or for PXE boot over the network.
It is possible to automate the download of source texts from repositories or external files from Git or Subversion with ftp code and primary project web servers, allowing you to get rid of the intermediate manual download of code files to the local developer machine and then import them into the openSUSE Build Service.
The companion packages are provided with tools to determine the dependencies of other packages with automatic reassembly of the dependencies when changes are made to them. By adding patches, it is possible to test them with similar packages from other projects.
To manage Open Build Service, you can use both toolss command line and a web interface.
There are tools to connect third-party clients and use resources from external services such as GitHub, SourceForge, and kde-apps.org.
Developers have access to tools to create groups and organize collaboration. The code for all components of the system, including the web interface, the package testing system and the components of the previous version, is open under the GPLv2 license.
Main new features of Open Build Service 2.10
In this new version the web interface has been completely redesigned with frame components Bootstrap, which simplified code maintenance, unified the multi-part layout, and eliminated many complications (previously used the 960 Grid System, its own theme for the Jquery UI, and a lot of specific CSS).
Despite the processing, the developers tried to preserve the recognition of the elements and the usual way of working to reduce discomfort during the transition to the new version;
Work has been done to improve support for application delivery and deployment for insulated containers.
Modules were added for integration with Gitlab and Pagure, that allow you to link certain actions in OBS when making new commitments or when certain events occur in these systems.
Integrated downloads to Amazon EC2 and Microsoft Azure cloud environments, as well as through Vagrant.
Code performance was optimized for product build and release in the repository. The developer has the opportunity to incrementally update the project.
Of the other novelties that stand out we find:
- Sysv startup scripts are replaced with systemd files
- Added support for storing metrics with performance data in InfluxDB
- The use of emoji is allowed in text fields (to be included in database.yml, the encoding must be set to utf8mb4)
- Added the option to send notifications to message owners about problems, with information about new comments
- The preliminary confirmation of requests function appeared (the request is accepted only after the review has been completed)