Canonical объявила о переработке Snapcraft 

Обнародование Canonical в последнее время ваши планы у вас есть на следующий основная версия инструментария Snapcraft, который используется для создания, распространения и обновления популярного формата пакетов Snap.

Следует отметить, что текущая кодовая база Snapcraft был объявлен унаследованным и будет применяться при необходимости использовать старые технологии.

В своем объявлении он упоминает, что от резких изменений которые планируется выполнить и из которых некоторые из них уже выполняются, не повлияют на текущую модель использования, поскольку проекты, связанные с Ubuntu Core 18 и 20, будут продолжать использовать старую монолитную модель Snapcraft.

Кроме того, они упоминают, что новую модульную модель Snapcraft планируется начать применять с ветки Ubuntu Core 22.

На самом деле все гораздо сложнее и со временем становится все сложнее. В течение последних шести лет команда Snapcraft работала над тем, чтобы сделать свой основной продукт модульным, эффективным и полезным для разработчиков Snap, расширяя его функциональность и добавляя новые возможности с течением времени. В некотором смысле, это полноценный продукт, который хорошо выполняет свою задачу. Но есть способы сделать все еще лучше. В этой статье рассматривается будущее Snapcraft.

Что касается причин, по которым он предназначен для замены старого Snapcraft, то это потому, чтоe хочет предложить новый, более компактный и модульный вариант что облегчит разработчикам создание пакетов Snap, добавив к этому, что они также хотят раз и навсегда избавиться от хлопот, связанных с созданием переносимых пакетов, которые работают во всех дистрибутивах.

В основе нового Snapcraft лежит механизм Craft Parts, упоминается, что помимо возможности сборки пакетов, он также сможет получать данные из разных источников, обрабатывать их по-разному и формировать иерархию каталогов в ФС, подходит для реализации пакетов.

Craft Parts предполагает использование в проекте портативных компонентов, которые можно скачать, собрать и установить самостоятельно.

Основная концепция вращается вокруг разделения Snapcraft на более мелкие, еще более модульные и многоразовые компоненты, которые можно использовать в различных продуктах. Общей основой для этих усилий является набор библиотек Craft, как мы уже обсуждали в блоге Craft Parts. Теория требует использования универсального генератора деталей, основанного на поставщиках ремесленных и ремесленных деталей, с добавленной функциональностью Snapcraft в качестве отдельного уровня. Вопрос только в том, какова скорость полета ласточки? Насколько сложно было бы спроектировать и реализовать это?

Прямо перед праздничным сезоном команда Snapcraft решила ответить именно на этот вопрос и изучить степень модульности своего подхода.

Выбор новой реализации или старый снапкрафт будет осуществляться через специальный встроенный механизм резервного копирования в процессе строительства. Поэтому существующие проекты смогут создавать Snap-пакеты без изменений и потребуют модификаций только при переносе пакетов на новую версию системной базы Ubuntu Core.

Что касается работы, которая уже была проделана, то очень кратко о ней:

  • Текущая кодовая база Snapcraft теперь считается устаревшей.
  • Основная точка входа для этого пакета запускается, когда требуется устаревшая резервная копия Snapcraft.
  • Устаревший Snapcraft хранит данные конфигурации проекта в виде словаря.
  • Это было изменено для использования пидантической модели. Кроме того, схему JSON необходимо хранить отдельно.
  • Был создан простой прототип с использованием базы core22 (образ для разработки), в результате чего был получен устанавливаемый мгновенный пакет, содержащий тестовое приложение.

В конце концов если вам интересно узнать об этом больше О заметке вы можете проверить оригинальное объявление в по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.