Авторские статьи

Snapcraft 0.2.


Если кто спросонья, не попив кофейку, прочёл новость как StarCraft 0.2, спешу разъяснить, что речь идёт об инструменте упаковки софта под названием snapcraft в пакеты snap для будущей технологии Snappy. Вот так!

Даниэль Гольбах (Daniel Holbach), представляя новую версию, рассказал историю об эволюции упаковки и доставки софта в Убунту. В те года, когда он присоединился к сообществу Убунту, казалось всё сделано для сторонних разработчиков: отличная документация с переводом на различные языки, PPA на Launchpad, bzr-builddeb, создание дневных сборок ПО на Launchpad, одобрение ПО сотрудниками из Application Review Board (ARB). Казалось бы, делай софт - заливай в репозитории Убунту!

Проект Ubuntu Phone обкатал главное! Уход от deb пакетов и их зависимостях друг от друга (избавил от необходимости делать тяжёлый full dependency resolution) И работу софта в строгих профилях AppArmor. Уход от Deb пакетов привёл к появлению пакета Click, который эволюционировал затем в Snap, который принёс поддержку атомарных обновлений, откатов при сбое.

Всё это было сделано для одной цели: максимальное упрощение создания пакета программы её разработчиком и быстрое автоматическое одобрение пакета при попадании в официальный репозиторий. Кратко говоря, у автора софт собирается и работает. Ему для создания пакета snap данной программы нужно заполнить только 3 обязательных поля: имя пакета, версию, имя-емайл-URL. Автор программы не должен париться по поводу текущей версии Убунту, версии библиотек в ней, есть ли они там. Если автор согласен с дефолтными строгими правилами, в которых будет работать его программа, то софт в пакете snap пройдёт автоматическое одобрение. Canonical таким образом облегчает массовую проверку софта и ускоряет появление новых версий программ от сторонних разработчиков в официальных репозиториях.

Всё вместе называется технология Snappy. Инструмент создания snap пакетов называется snapcraft. В его новой 0.2 версии добавили:

  • более мощный синтаксис для определения и описания используемых вами бинарников и сервисов.
  • все метаданные можно указывать в snapcraft.yaml, а не только meta-data/package.yaml
  • для программистов на Python будет интересны плагины для pip: python3-project и python2-project.
  • команда snapcraft clean теперь проводит больше тестов.

Для знакомства с программой упаковки в пакеты snap вам нужно сделать:
sudo add-apt-repository ppa:snappy-dev/tools
sudo apt-get update
sudo apt-get install snapcraft

Можно поставить примеры sudo apt-get install snapcraft-examples и найти их в каталоге /usr/share/snapcraft/examples/

Основные разработчики Sergio Schvezov, Michael Vogt и Daniel Holbach показывают как легко можно упаковать софт в snap для Убунту.

Дата последней правки: 2016-06-08 11:09:00

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта