Aprobado el proyecto de aseguramiento de compilaciones reproducibles en Fedora 43

El Comité FESCo (Comité de Dirección de Ingeniería de Fedora), encargado de la parte técnica del desarrollo de la distribución Fedora Linux, ha aprobado un proyecto para garantizar compilaciones repetibles de paquetes en la versión de otoño de Fedora 43. La iniciativa tiene como objetivo la posibilidad de aplicar compilaciones repetibles para al menos el 99% de los paquetes en el repositorio.

Las compilaciones repetibles permitirán la creación de paquetes RPM propios que coincidan con los paquetes binarios listos para descargar. La coincidencia se asegura a nivel de los metadatos principales y los archivos incluidos en el paquete (solo variarán los metadatos relacionados con el tiempo de compilación, el host de compilación y la verificación mediante firma digital). El usuario podrá comprobar personalmente que los archivos binarios distribuidos en los paquetes se han construido a partir de los códigos fuente proporcionados y no contienen modificaciones ocultas. La verificación de la identidad de la compilación binaria permite no depender únicamente de la confianza en la infraestructura de compilación de la distribución, ya que la comprometedora del compilador o de las herramientas de compilación podría llevar a la inserción de puertas traseras ocultas.

Además de la seguridad, las compilaciones repetibles también serán útiles para el control de calidad; los problemas al intentar lograr compilaciones repetibles a menudo son causados por errores o desorden en el código, como el uso en paquetes etiquetados como "noarch" de dependencias ligadas a arquitecturas de hardware específicas. Las compilaciones repetibles también facilitarán el desarrollo de paquetes: después de pequeños ajustes, los paquetes recompilados solo diferirán en los elementos directamente relacionados con el cambio realizado, lo que simplificará enormemente la comparación de versiones de paquetes y el análisis de cambios.

Al generar construcciones repetibles, se consideran detalles como la coincidencia exacta de las dependencias; el uso de la misma composición y versiones de las herramientas de construcción; un conjunto idéntico de opciones y configuraciones predeterminadas; la preservación del orden de construcción de los archivos (aplicando los mismos métodos de clasificación); y la desactivación de la adición por parte del compilador de información auxiliar no constante, como valores aleatorios, referencias a rutas de archivos y datos sobre la fecha y hora de compilación. Los errores y condiciones de carrera en las herramientas también afectan la reproducibilidad de las construcciones.

La infraestructura del proyecto Fedora ya está preparada para realizar compilaciones repetibles. Por ejemplo, en lanzamientos anteriores se han realizado cambios en el sistema de compilación que sincronizan los metadatos sobre el tiempo de modificación de los archivos con el código fuente de referencia (mtime ya no depende del tiempo de compilación), así como asegurar un orden constante en la enumeración de metadatos y estructuras en los archivos binarios. En esta etapa, la cobertura de las compilaciones repetibles se estima en un 90%. Para lograr compilaciones repetibles en el 10% restante, se requiere la participación de los mantenedores de los paquetes problemáticos. Para fomentar las correcciones en estos paquetes, las fallas en las compilaciones repetibles se pretenden tratar como errores en la compilación.

Proyectos similares que buscan apoyar las compilaciones repetibles también están desarrollando las distribuciones Debian, Arch Linux, openSUSE y NixOS.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster