La société Canonical a dévoilé ses plans pour une refonte significative de l’outil Snapcraft, utilisé pour créer, distribuer et mettre à jour des paquets autonomes au format Snap. Il est noté que l'actuelle base de code de Snapcraft est considérée comme obsolète et sera utilisée uniquement si nécessaire pour des technologies anciennes. Ces changements radicaux n'affecteront pas le modèle d'utilisation actuel — dans les projets liés à Ubuntu Core 18 et 20, l’ancien Snapcraft monolithique continuera d’être utilisé, tandis que le nouveau Snapcraft modulaire sera déployé à partir de la branche Ubuntu Core 22.
Le nouveau Snapcraft, plus compact et modulaire, remplacera l’ancien, simplifiant ainsi la création des paquets snap par les développeurs et éliminant les difficultés liées à la création de paquets portables adaptés à différents distributions. Le nouveau Snapcraft repose sur le mécanisme Craft Parts, permettant lors de la construction des paquets d'obtenir des données de différentes sources, de les traiter de diverses façons et de former une hiérarchie de répertoires dans le système de fichiers, adaptée au déploiement de paquets. Craft Parts implique l'utilisation de composants portables, qui peuvent être chargés, construits et installés indépendamment les uns des autres.
Le choix entre la nouvelle ou l’ancienne mise en œuvre de Snapcraft sera effectué via un mécanisme de fallback intégré au processus de compilation. Ainsi, les projets existants pourront compiler des paquets snap sans modifications et nécessiteront des modifications uniquement lors de la migration des paquets vers la nouvelle version de la base du système Ubuntu Core.
Source : opennet.ru
