Die Entwickler der AlmaLinux-Distribution, die eine kostenlose Klonversion von Red Hat Enterprise Linux ähnlich CentOS entwickelt, haben das neue Build-System ALBS (AlmaLinux Build System) präsentiert, das bereits bei der Erstellung der Veröffentlichungen AlmaLinux 8.6 und 9.0 verwendet wurde, die für die Architekturen x86_64, Aarch64, PowerPC ppc64le und s390x vorbereitet wurden. Neben der Distribution wird ALBS auch zur Generierung und Veröffentlichung von Korrekturupdates (Errata) sowie zur Signierung von Paketen verwendet. Der Quellcode des Build-Systems ist in Python geschrieben und wird unter der Lizenz GPLv3 verteilt.
Das vorgestellte Build-System basiert auf den Entwicklungen des Unternehmens CloudLinux, das eine eigene kommerzielle Distribution auf Basis der RHEL-Paketbasis entwickelt. CloudLinux gründete das Projekt AlmaLinux und trat als Gründer der gemeinnützigen AlmaLinux OS Foundation auf, die für die Entwicklung auf einer neutralen Plattform unter Einbeziehung der Community und unter Verwendung eines ähnlichen Managementmodells wie beim Fedora-Projekt geschaffen wurde. Um das Engagement für das ursprünglich erklärte vollständig offene und transparente Entwicklungsmodell der Community zu bestätigen, ist der Quellcode des Build-Systems jetzt vollständig offen, und alle Phasen des Builds von AlmaLinux unterliegen der Kontrolle der Community.
Das ALBS-System ist auf die Automatisierung des Baus der Distribution, die Erstellung von Paketen, das Testen von Paketen, die Erstellung digitaler Signaturen und die Veröffentlichung der gebauten Pakete in öffentlichen Repositories ausgerichtet. Das System zielt darauf ab, alle Phasen der Distributionserstellung als Ganzes zu verarbeiten, um Fehler, die durch menschliches Versagen verursacht werden könnten, auszuschließen. Das Build-System entwickelt das interne Build-System von CloudLinux weiter, das seit 2012 verwendet wird.
Neben RPM-Paketen wird auch das DEB-Format unterstützt, und es werden Tools bereitgestellt, die die Automatisierung von Markenwechseln und die Modifizierung neu verpackter Pakete ermöglichen. Das System kann auch zur Erstellung beliebiger Distributionen auf Basis von Ubuntu und Debian verwendet werden. Für das Testen der Builds wird das Continuous-Integration-System Jenkins eingesetzt. Der Quellcode der erstellten Pakete wird aus einem Git-Repository heruntergeladen (im Fall von AlmaLinux werden Änderungen an RHEL-Paketen über git.centos.org verfolgt und in git.almalinux.org sowie sources.almalinux.org übertragen).

Für alle Interessierten ist der anonyme Zugang zum AlmaLinux-Bausystem geöffnet, der es ermöglicht, alle Phasen des Baus der Distribution zu verfolgen. Über die bereitgestellte Schnittstelle kann man feststellen, welche Pakete derzeit gebaut werden, wann das gewünschte Paket zusammengestellt wurde und bei welchem Paket es zu Problemen kam. Für die Analyse steht das vollständige Bauprotokoll mit detaillierten Informationen auf Paketebene zur Verfügung. Aktuell ist der Zugang auf die Beobachtung des Systems beschränkt, aber Ende Juli ist geplant, ein rollenbasiertes Zugriffskontrollsystem (RBAC) einzuführen und den Mitgliedern der Community sowie den Betreuern die Möglichkeit zu geben, eigene Pakete in ALBS zu bauen.
In Zukunft wird auch die Unterstützung zur Verifizierung der Builds mit dem CodeNotary-Service, die Unterstützung des Build-Dienstes COPR, die Unterstützung von Namensräumen zur Bereitstellung von Infrastruktur für Projekte und Organisationen zum Bauen ihrer Pakete sowie die Vorbereitung von Mitteln zur Automatisierung des Baus und der Veröffentlichung von Images erwartet. virtuelle Maschinen und Containern.
Quelle: opennet.ru
