📜 ⬆️ ⬇️

GMP: with what we give up

ROSA company's R & D team's comment on the project for prototyping systems for the National Software Platform.

Many people are interested in what we will go to surrender and show the old Mandriva assembly tools. In fact, PingVin's winnings of the first stage of the GMP and, as a result, the task of providing an assembly system that came to R & D of ROSA, provide our modest team with an opportunity to demonstrate to the public the internal project of the ABF universal build server developed in ROS / Mandriva.

We started this project in Russia to implement our long-standing idea of ​​automated dependency matching when rebuilding packages. Namely, ABF works in such a way that new packages do not run apruv (and do not fall into the repository) until the reassembly of all dependent ones is reached. The procedure for coordinated reassembly allows including handle ring dependencies. As a result - once achieved, the correctness and reproducibility of assembling a set of packages (and therefore distributions and any programs for them) are not further disturbed by careless actions of maintainers (what the ABF ideologists often encountered in their previous lives when building Fedora’s derivatives, and later on Mandrivy). If the maintainer offers a low-quality package, he will immediately and automatically receive it back with instructions to redo it.
')
In the opinion of ROSA / Mandriva system architects, continuous integration in building distributions is not just the fact of daily assemblies from packages of varying degrees of freshness, as often happens, but to a much greater degree - the build manager’s confidence that all the packages are assembled without conflicts with each other, and it is necessary to check in general, and not just a set of locally applied tests. It seems to us a strange situation when a violation of the assembly package of other packages is found largely by chance, manually and reassembly requests are manually placed on the mailing list without any guarantee of a reaction. This is the last century.

Structurally, ABF is an extensible distributed set of build clients (for different platforms and architectures), working with a single code repository and managed from a single balancer dispatcher. Already there are build clients for Mandriva and for a number of RH derivatives, that is, different distributions are being built in a uniform manner. From the platform / distribution developer who comes to this infrastructure, you need to create your own build backend based on our template (using script fragments from the original build procedure) and import the source codes into the repository. That is, to assemble any RPM-based distribution kit is a technical matter. With Debian-based distributions, creating backends is a bit more complicated, but achievable and already planned. And the creation of derivative distributions and building one application for several platforms - all this ceases to be at least somewhat complicated.

I repeat, we are talking about technologies that were long conceived and developed in Ros, and which were originally developed for internal needs. We didn’t try to deliver these technologies to the outside, we didn’t prepare them specifically for the competition (and in the process of preparing prototypes, we have to urgently adapt the code for some requirements), besides, Penguin’s application budget will not even cover our own already incurred costs for developing these technologies. Nevertheless, if we raise the question of technical alternatives in this contract, we consider our technologies to be quite worthy of participation and, importantly, quite modern (see above). The level we claim is Launchpad and OBS.

The question of what mode to conduct the project after the delivery for us remains open. Of course, we are interested in developing it and inviting distribution teams, especially those working with Debian-distributions derived from Mandriva (especially we will be glad to the highly respected EduMandriva team), as well as collecting distributions on other hardware architectures.

Evgeny Sokolov
Rosa r & d

Source: https://habr.com/ru/post/131323/


All Articles