Los desarrolladores de la distribución AlmaLinux, que desarrolla un clon gratuito de Red Hat Enterprise Linux similar a CentOS, han presentado un nuevo sistema de compilación llamado ALBS (AlmaLinux Build System), que ya se ha utilizado en la formación de las versiones de AlmaLinux 8.6 y 9.0, preparadas para las arquitecturas x86_64, Aarch64, PowerPC ppc64le y s390x. Además de la construcción de la distribución, ALBS también se utiliza para generar y publicar actualizaciones correctivas (erratas) y para la firma digital de paquetes. El código del sistema de compilación está escrito en Python y se distribuye bajo la licencia GPLv3.
El sistema de compilación presentado se basa en los trabajos de la empresa CloudLinux, que desarrolla su propia distribución comercial basada en el paquete RHEL. La empresa CloudLinux fundó el proyecto AlmaLinux y se convirtió en el fundador de la organización sin fines de lucro AlmaLinux OS Foundation, creada para el desarrollo en una plataforma neutral con la participación de la comunidad y utilizando un modelo de gestión similar al de la organización del proyecto Fedora. Para confirmar el compromiso con el modelo de desarrollo completamente abierto y transparente para la comunidad que se declaró originalmente, el código del sistema de compilación ahora está completamente abierto, y todas las etapas de construcción de AlmaLinux están bajo el control de la comunidad.
El sistema ALBS está orientado a la automatización de la construcción de la distribución, la construcción de paquetes, la prueba de paquetes, la generación de firmas digitales y la publicación de paquetes construidos en repositorios públicos. El sistema tiene como objetivo manejar todas las etapas de la formación de la distribución como un todo para eliminar errores causados por el factor humano. El sistema de compilación continúa el desarrollo del sistema de compilación interno de CloudLinux, utilizado desde 2012.
Además de los paquetes en formato RPM, se admite el formato DEB y se proporcionan herramientas para la automatización del cambio de marcas y la modificación de paquetes reconstruidos. El sistema también se puede utilizar para crear distribuciones personalizadas basadas en Ubuntu y Debian. Se utiliza un sistema de integración continua Jenkins para probar las compilaciones. El código fuente de los paquetes construidos se carga desde el repositorio de Git (en el caso de AlmaLinux, los cambios en los paquetes RHEL se rastrean a través de git.centos.org y se trasladan a git.almalinux.org y sources.almalinux.org).

Se ha habilitado el acceso anónimo al sistema de construcción de AlmaLinux para todos los interesados, lo que permite rastrear todas las etapas de la construcción de la distribución. A través de la interfaz proporcionada, se puede determinar qué paquetes se están construyendo actualmente, cuándo se construyó un paquete de interés y en qué paquetes se produjeron fallas durante la construcción. Está disponible un registro completo de la construcción con detalles a nivel de paquetes individuales para análisis. Actualmente, el acceso está limitado a la observación del sistema, pero a finales de julio se planea lanzar un sistema de gestión de acceso basado en roles (RBAC) y brindar a los miembros de la comunidad y a los mantenedores la posibilidad de construir sus propios paquetes en ALBS.
En el futuro, también se espera el soporte para la verificación de construcciones utilizando el servicio CodeNotary, el soporte para el servicio de construcción COPR, el soporte para espacios de nombres para proporcionar a proyectos y organizaciones la infraestructura para construir sus paquetes, y la preparación de herramientas para la automatización de la construcción y publicación de imágenes máquinas virtuales y contenedores.
Fuente: opennet.ru
