Репозитории

Репозитории Flatpak - это основной механизм публикации приложений, реализуемый так, чтобы они могли быть установлены пользователями.

Некоторые аспекты репозиториев рассматриваются в других разделах документации. Основные команды для добавления, удаления и проверки репозиториев можно найти в разделе Использование Flatpak. Кроме того, в разделе Flatpak Builder описывается наиболее распространенный метод добавления приложений в репозитории.

Чтобы использовать репозиторий для публикации приложения, можно либо разместить свой собственный (рассмотренный в следующем разделе, Размещение репозитория), либо использовать Flathub , основная служба публикации и размещения приложений Flatpak.

Приложения центра программного обеспечения, такие как GNOME Software или KDE Discover, позволяют просматривать репозитории, а также могут динамически продвигать новые или популярные приложения. Если вы используете Flathub, репозиторий, как правило, уже был добавлен пользователями, поэтому добавления приложения в репозиторий достаточно, чтобы сделать его доступным для них.

Файлы .flatpakref

Файлы .flatpakref могут использоваться в сочетании с репозиториями, чтобы предоставить пользователям дополнительный, простой способ установки приложения, часто путем нажатия на файл или ссылку для загрузки.

Внутри файлы .flatpakref представляют собой простые файлы описания, которые включают информацию о приложении Flatpak. Пример:

[Flatpak Ref]
Name=fr.free.Homebank
Branch=stable
Title=fr.free.Homebank from flathub
Url=https://dl.flathub.org/repo/
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
IsRuntime=false
GPGKey=mQINBFlD2sABEADsiUZUO...

Как видно, файл включает в себя идентификатор приложения и расположение репозитория, который его содержит, а также ссылку на информацию о репозитории, который обеспечивает среду выполнения приложения. Таким образом, файлы .flatpakref содержат всю информацию, необходимую для установки приложения.

Примечание

Файлы .flatpakref должны включать в себя версию ключа GPG в кодировке base64, который использовался для подписи репозитория. Это можно получить с помощью следующей команды:

$ base64 --wrap=0 < key.gpg

Одним из преимуществ файлов .flatpakref является то, что их можно использовать для установки приложений, даже если их репозиторий не был добавлен пользователем. В этом случае репозиторий, содержащий приложение, либо будет установлен автоматически, либо пользователю будет предложено установить его. Это также произойдет, если необходимая среда выполнения отсутствует.

.flatpakref можно использовать для установки приложений из командной строки, а также с помощью графических установщиков программного обеспечения. Это делается с помощью стандартной команды flatpak install, которая принимает как локальные, так и удаленные файлы .flatpakref. Например:

$ flatpak install https://flathub.org/repo/appstream/fr.free.Homebank.flatpakref

Или, если был загружен тот же файл:

$ flatpak install fr.free.Homebank.flatpakref

Публикация обновлений

Репозитории Flatpak похожи на репозитории Git в том, что они хранят каждую версию приложения, записывая разницу между каждой версией. Это делает обновление эффективным, поскольку при выполнении обновления необходимо загружать только разницу (или «дельту») между двумя версиями.

Когда новая версия приложения добавляется в репозиторий, она сразу становится доступной для пользователей. Центры программного обеспечения могут автоматически проверять и устанавливать новые версии. Те, кто использует командную строку, должны вручную запустить flatpak update, чтобы проверить и установить новые версии любых приложений, которые они установили.