Состоялся выпуск инструментария 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", включающих параметры установки приложения. Файлы ".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 без приложений. Запустить командную оболочку в пустом окружении, включающем только runtime, можно командой "flatpak run org.gnome.Platform//3.22";
  • Возможность подключения дополнений из произвольных директорий - в формируемое runtime-окружение теперь можно добавить какие-то дополнительные файлы, без создания для них отдельного 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 добавлена поддержка многослойной сборки - приложение может ссылаться на другое приложение, которое будет использовано в качестве базового слоя перед сборкой программы.


Источник: http://www.opennet.ru/opennews/art.shtml?num=45372