L'équipe de publication de Debian a annoncé que la reconstruction reproductible des paquets est désormais obligatoire. Hier, des modifications ont été apportées au système de compilation afin d'empêcher l'ajout de nouveaux paquets ne prenant pas en charge cette fonctionnalité. Le dépôt de test interdit également la mise à jour des paquets existants présentant des régressions au niveau de la reproductibilité de la compilation.
Dans Debian 13, qui contient 36 427 paquets sources, le taux de réussite des compilations reproductibles est de 96.9 % pour l'architecture x86_64 et de 96.8 % pour l'architecture ARM64. Dans les dépôts Debian Testing, ce taux est estimé à 94.5 % pour l'architecture ARM64 et à 75.7 % pour x86_64, sur la base de 37 809 paquets sources recompilés. Le test de reproductibilité des compilations dans les dépôts Debian Testing a échoué pour 1 141 paquets (3 %), et 7 952 paquets (21 %) présentaient des problèmes généraux de compilation à partir des sources.
Les versions reproductibles permettent aux utilisateurs de créer des versions personnalisées identiques, bit à bit, aux versions précompilées disponibles au téléchargement. Ils peuvent ainsi vérifier que les binaires distribués dans les paquets et les images de démarrage sont bien compilés à partir du code source fourni et ne contiennent aucune modification cachée. Cette vérification de l'identité de la version binaire élimine la nécessité de se fier uniquement à l'infrastructure de compilation de la distribution, où un compilateur ou des outils de compilation compromis pourraient permettre l'insertion de portes dérobées.
Lors de la formation d’assemblages répétables, des nuances telles que la correspondance exacte des dépendances sont prises en compte ; utilisation de compositions et de versions inchangées d'outils d'assemblage ; ensemble identique d’options et de paramètres par défaut ; maintenir l’ordre de collecte des fichiers (en utilisant les mêmes méthodes de tri) ; Désactive l'ajout par le compilateur d'informations de service volatiles telles que des valeurs aléatoires, des références de chemin de fichier et des informations de date et d'heure de génération. La reproductibilité de la build est également affectée par les bugs et les conditions de concurrence dans la chaîne d'outils.
Source: opennet.ru
