Flatpak — средство запуска графических приложений в изолированной среде (Владимир Васьков, OSDAY-2025)
Материал из 0x1.tv
- Докладчик
- Владимир Васьков
Flatpak — это средство для установки и управления приложениями в Linux, не зависимое от дистрибутива. Оно предоставляет изолированную среду выполнения (песочницу) и использует универсальные пакеты, не зависящие от конкретного дистрибутива.
Содержание
Видео
Thesis
Использовании в разработке
Для сборки приложения во flatpak необходимо создать манифест, описание сборки приложения. Манифест содержит: уникальный id приложения, который является обратным DNS адресом разработчика и названием приложения; рантайм, сдк и расширения сдк для сборки и запуска; команда для запуска; разрешения, требуемые приложению для работы; цели сборки и другое. Под целями сборки подразумеваются программные компоненты, которые могут быть собраны из локального источника по тегу и по хешу коммита. В качестве систем сборки поддерживаются meson, cmake, cmake-ninja, qmake, simple (при отсутствие системы сборки).
Имеется возможность сборки проприетарных приложений с учётом запрета на распространение по лицнезии. В цели сборки прописывается порядок действий при установке, получается что-то наподобие AUR.
Cборка производится командой [flatpak-builder](https://docs.flatpak.org/en/latest/flatpak-builder.html). Можно собрать приложение в один файл (bundle) командой flatpak build-bundle. Существуют плагины для популярных IDE, также есть GNOME Builder, имеющее наиболее тесную интеграцию с flatpak.
Развертывание своего репозитория для магазина приложений
Имеется возможность создания своего репозитория, который можно подключить через flatpak remote-add.
Для этого нужно на хостинге, например pages вашего хранилища репозиториев, разместить репозиторий, созданный командой flatpak-builder и внутри создать создать файл flatpakrepo с описанием репозитория: имя, иконка, ссылка, gpg подпись и т.д. Подобный репозиторий будет работать со всеми магазинами приложений, которые поддерживают flatpak без сторонних вмешательств (например swcatalog с нативным репозиторием).
Самостоятельный хост сайта flathub
Код flathub открыт, так что есть возможность развёртывания своего сайта с flatpak приложениями. Однако в сайте прибит гвоздями домен dl.flathub.org, так что требуеются некоторые патчи. Сайт является веб интерфейсом и не обязателен при развертывании репозитории.
Презентация
Примечания и ссылки
