Společnost Canonical odhalila plány na významný redesign nástroje Snapcraft, který se používá k vytváření, distribuci a aktualizaci samostatných balíčků ve formátu Snap. Je zdůrazněno, že současná kódová základna Snapcraft je považována za zastaralou (legacy) a bude používána, když bude potřeba používat staré technologie. Rozvíjené radikální změny neovlivní současný model používání — v projektech souvisejících s Ubuntu Core 18 a 20 bude nadále používán starý monolitický Snapcraft, zatímco nový modulární Snapcraft začne být aplikován od verze Ubuntu Core 22.
Na místo starého Snapcraftu přijde nový kompaktnější a modulární variant, který usnadní vývojářům vytváření snap-balíčků a zbaví je obtíží spojených s vytvářením přenosných balíčků vhodných pro různé distribuce. Základem nového Snapcraftu je mechanismus Craft Parts, který umožňuje při sestavování balíčků získávat data z různých zdrojů, zpracovávat je různými způsoby a vytvářet hierarchii adresářů v souborovém systému vhodnou pro nasazení balíčků. Craft Parts předpokládá použití přenosných komponent, které mohou být nezávisle na sobě stahovány, sestavovány a instalovány.
Volba nové nebo staré implementace Snapcraftu bude probíhat prostřednictvím speciálního fallback mechanismu integrovaného do procesu sestavení. Tímto způsobem budou existující projekty moci sestavovat snap-balíčky bez změn a budou vyžadovat modifikaci pouze při přechodu balíčků na novou verzi systému Ubuntu Core.
Zdroj: opennet.ru
