Firma Canonical ujawnia plany dotyczące nadchodzącej, znaczącej przebudowy narzędzia Snapcraft, używanego do tworzenia, dystrybucji i aktualizacji samodzielnych pakietów w formacie Snap. Zauważono, że obecna baza kodu Snapcraft została uznana za przestarzałą (legacy) i będzie wykorzystywana w razie potrzeby korzystania ze starych technologii. Wprowadzone radykalne zmiany nie wpłyną na obecny model użytkowania — w projektach związanych z Ubuntu Core 18 i 20 nadal będzie używany stary monolityczny Snapcraft, a nowy modułowy Snapcraft zacznie być stosowany od gałęzi Ubuntu Core 22.
Na miejsce starego Snapcraftu wejdzie nowa, bardziej kompaktowa i modułowa wersja, która uprości tworzenie pakietów snap przez programistów i usunie trudności związane z tworzeniem przenośnych pakietów, które mogą działać w różnych dystrybucjach. Bazą dla nowego Snapcraft jest mechanizm Craft Parts, który pozwala na pozyskiwanie danych z różnych źródeł podczas budowy pakietów, przetwarzanie ich na różne sposoby i tworzenie hierarchii katalogów w systemie plików, odpowiedniej do wdrażania pakietów. Craft Parts zakłada użycie w projekcie przenośnych komponentów, które mogą być niezależnie załadowane, zbudowane i zainstalowane.
Wybór nowej lub starej implementacji Snapcraft będzie dokonywany za pomocą specjalnego mechanizmu fallback, zintegrowanego z procesem budowy. Dzięki temu istniejące projekty będą mogły budować pakiety snap bez zmian, a modyfikacje będą wymagane tylko w przypadku przenoszenia pakietów na nową wersję systemu Ubuntu Core.
Źródło: opennet.ru
