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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.