Значительный выпуск системы самодостаточных пакетов Flatpak 0.6.13

2 года ago admin 0

Состоялся выпуск инструментария Flatpak 0.6.13 (бывший xdg-app), в рамках которого развивается система для сборки самодостаточных пакетов, которые не привязаны к конкретным дистрибутивам Linux и выполняются в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Arch Linux, Fedora, Debian, Mageia, Gentoo и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатной программе управления приложениями GNOME.

Основное отличие Flatpak от Snap в том, что Snap использует компоненты окружения основной системы и изоляцию на основе фильтрации системных вызовов, в то время как Flatpak создаёт отдельный от системы контейнер и оперирует крупными runtime-наборами, предоставляя в качестве зависимостей не пакеты, а типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE). С особенностями Flatpak можно познакомиться в тексте анонса первого выпуска.

Несмотря на не привлекающий внимание номер версии, в Flatpak 0.6.13 представлено несколько существенных изменений:

  • С целью предоставления возможности обработки сразу нескольких приложений в рамках одной операции изменён формат определения аргументов командной строки. Если ранее в качестве аргументов для команд install, update и uninstall передавался идентификатор приложений и опционально имя ветки, то новый формат подразумевает объединение этих параметров в виде составных аргументов, например «org.my.App/x86_64/stable», «org.my.App/x86_64», «org.my.App//stable» или просто «org.my.App», что позволяет указать сразу несколько таких аргументов в одной командной строке и установить несколько приложений за один раз;
  • Представлен упрощённый вариант определения внешних репозиториев, из которых будут загружаться Flatpak-пакеты с приложениями и runtime. Если раньше требовалось определить параметры репозитория через передачу аргументов в команде «flatpak remote-add», то в новом выпуске параметры репозитория могут быть переданы в формате «.flatpakrepo». Например, для добавления репозитория достаточно указать ссылку на файл с его описанием («flatpak remote-add —from gnome https://sdk.gnome.org/gnome.flatpakrepo»);
  • Добавлена поддержка файлов «.flatpakref», включающих параметры установки приложения и выполняющих роль, аналогичную файлам «.flatpakrepo», но содержат информацию не только о репозиториях, но и приложении. Файл в формате «.flatpakref» удобно использовать для организации быстрой установки программы с сайта. Например, выполнив команду «flatpak install —from https://sdk.gnome.org/gedit.flatpakref» будут загружены пакет с gedit и все необходимые для его работы runtime-наборы;
  • Реализована система автоматического подбора зависимостей. Ранее при рабоче через интерфейс командной строки пользователь должен был знать какой runtime-набор необходимо установить для приложения (предполагалось, что интерактивная установка зависимостей выполняется в графическом интерфейсе), что приводило к возникновению сложностей (например, после обновления flatpak-пакета gedit с версии 3.20 до 3.22, пользователь должен был догадаться перейти на новую версию runtime). В новой версии в CLI добавлен интерактивный режим подбора и обновления зависимостей (новое поведение отключается опцией «—no-use-for-deps» или через установку параметра «NoDeps=true»):
       $ flatpak update org.gnome.gedit   Looking for updates...   Required runtime for org.gnome.gedit/x86_64/stable  (org.gnome.Platform/x86_64/3.22) is not installed, searching...   Found in remote gnome, do you want to install it? [y/n]: y   Installing: org.gnome.Platform/x86_64/3.22 from gnome   Installing: org.gnome.Platform.Locale/x86_64/3.22 from gnome   Updating: org.gnome.gedit/x86_64/stable from gnome-apps   Updating: org.gnome.gedit.Locale/x86_64/stable from gnome-apps  
  • Для отладочных целей добавлена возможность отдельного развёртывания runtime без приложений и запуска команд в сформированных пустых окружениях. Запустить командную оболочку в окружении можно командой «flatpak run org.gnome.Platform//3.22»;
  • Возможность подключения дополнений из произвольных директорий — в формируемое для приложения окружение теперь можно добавить какие-то дополнительные файлы, без создания для них отдельного runtime. Дополнения создаются в форме подкаталогов в ~/.local/share/flatpak/extension или /var/lib/flatpak/extension. Например, каталог org.freedesktop.Platform.GStreamer.MyPlugins/x86_64/1.4 будет задействован как источник плагинов GStreamer во всех runtime, основанных на freedesktop 1.4;
  • Параметры сборки приложений теперь могут включать ссылки на внешние файлы, которые будут загружены вместе с приложением;
  • В flatpak-builder добавлена поддержка многослойной сборки — приложение может ссылаться на другое приложение, которое будет использовано в качестве базового слоя перед сборкой программы.


Source: pirates.in.ua