Flatpak — средство запуска графических приложений в изолированной среде (Владимир Васьков, OSDAY-2025) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
| (не показана одна промежуточная версия этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Владимир Васьков}}
<blockquote>
Flatpak — это средство для установки и управления приложениями в Linux, не
зависимое от дистрибутива. Оно предоставляет изолированную среду выполнения
(песочницу) и использует универсальные пакеты, не зависящие от конкретного дистрибутива.
</blockquote>
{{VideoSection}}
{{vimeoembed|1094893909|800|450}}
<!--
{{youtubelink|}} -->|g2wYmKlfc7w}}
== Thesis ==
=== Использовании в разработке ===
Для сборки приложения во flatpak необходимо создать манифест, описание сборки
приложения. Манифест содержит: уникальный id приложения, который является обратным
DNS адресом разработчика и названием приложения; рантайм, сдк и расширения сдк для
сборки и запуска; команда для запуска; разрешения, требуемые приложению для работы; цели
сборки и другое. Под целями сборки подразумеваются программные компоненты, которые
могут быть собраны из локального источника по тегу и по хешу коммита. В качестве систем
сборки поддерживаются meson, cmake, cmake-ninja, qmake, simple (при отсутствие системы
сборки).
Имеется возможность сборки проприетарных приложений с учётом запрета на
распространение по лицнезии. В цели сборки прописывается порядок действий при установке,
получается что-то наподобие AUR.
Cборка производится командой [flatpak-builder](https://docs.flatpak.org/en/latest/flatpak-builder.html) flatpak-builder].
Можно собрать приложение в один файл (bundle) командой <tt>flatpak build-bundle</tt>.
Существуют плагины для популярных IDE, также есть GNOME Builder, имеющее наиболее тесную интеграцию с flatpak.
=== Развертывание своего репозитория для магазина приложений === | |||
Текущая версия на 15:20, 14 июля 2025
- Докладчик
- Владимир Васьков
Flatpak — это средство для установки и управления приложениями в Linux, не зависимое от дистрибутива. Оно предоставляет изолированную среду выполнения (песочницу) и использует универсальные пакеты, не зависящие от конкретного дистрибутива.
Содержание
Видео
Thesis
Использовании в разработке
Для сборки приложения во flatpak необходимо создать манифест, описание сборки приложения. Манифест содержит: уникальный id приложения, который является обратным DNS адресом разработчика и названием приложения; рантайм, сдк и расширения сдк для сборки и запуска; команда для запуска; разрешения, требуемые приложению для работы; цели сборки и другое. Под целями сборки подразумеваются программные компоненты, которые могут быть собраны из локального источника по тегу и по хешу коммита. В качестве систем сборки поддерживаются meson, cmake, cmake-ninja, qmake, simple (при отсутствие системы сборки).
Имеется возможность сборки проприетарных приложений с учётом запрета на распространение по лицнезии. В цели сборки прописывается порядок действий при установке, получается что-то наподобие AUR.
Cборка производится командой flatpak-builder. Можно собрать приложение в один файл (bundle) командой flatpak build-bundle. Существуют плагины для популярных IDE, также есть GNOME Builder, имеющее наиболее тесную интеграцию с flatpak.
Развертывание своего репозитория для магазина приложений
Имеется возможность создания своего репозитория, который можно подключить через flatpak remote-add.
Для этого нужно на хостинге, например pages вашего хранилища репозиториев, разместить репозиторий, созданный командой flatpak-builder и внутри создать создать файл flatpakrepo с описанием репозитория: имя, иконка, ссылка, gpg подпись и т.д. Подобный репозиторий будет работать со всеми магазинами приложений, которые поддерживают flatpak без сторонних вмешательств (например swcatalog с нативным репозиторием).
Самостоятельный хост сайта flathub
Код flathub открыт, так что есть возможность развёртывания своего сайта с flatpak приложениями. Однако в сайте прибит гвоздями домен dl.flathub.org, так что требуеются некоторые патчи. Сайт является веб интерфейсом и не обязателен при развертывании репозитории.
Презентация
Примечания и ссылки
