Repositórios

Os repositórios do Flatpak são o principal mecanismo de publicação de aplicativos, para que possam ser instalados pelos usuários.

Alguns aspectos dos repositórios são abordados por outras seções da documentação. Comandos básicos para adicionar, remover e inspecionar repositórios podem ser encontrados na seção Usando Flatpak. Além disso, a seção Flatpak Builder cobre o método mais comum para adicionar aplicativos aos repositórios.

Para usar um repositório para publicar um aplicativo, é possível hospedar o seu próprio (abordado na próxima seção Hospedando um repositório) ou usar o Flathub, o principal serviço de publicação e hospedagem de aplicativos Flatpak.

Os aplicativos do centro de software, como o GNOME Programas ou o KDE Discover, permitem navegar nos repositórios e também podem promover dinamicamente aplicativos novos ou populares. Se você usa o Flathub, o repositório normalmente já foi adicionado pelos usuários; portanto, adicionar um aplicativo ao repositório é suficiente para torná-lo disponível para eles.

Arquivos .flatpakref

Os arquivos .flatpakref podem ser usados em combinação com repositórios para fornecer uma maneira fácil e adicional para os usuários instalarem um aplicativo, geralmente clicando no arquivo ou no link para download.

Internamente, os arquivos .flatpakref são arquivos de descrição simples que incluem informações sobre um aplicativo Flatpak. Um exemplo:

[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...

Como pode-se ver, o arquivo inclui o ID do aplicativo e o local do repositório que o contém, além de um link para informações sobre o repositório que fornece o runtime do aplicativo. Os arquivos .flatpakref contêm, portanto, todas as informações necessárias para instalar um aplicativo.

Nota

Os arquivos .flatpakref devem incluir a versão codificada em base64 da chave GPG que foi usada para assinar o repositório. Isso pode ser obtido com o seguinte comando:

$ base64 --wrap=0 < key.gpg

Uma vantagem dos arquivos .flatpakref é que eles podem ser usados para instalar aplicativos, mesmo que seu repositório não tenha sido adicionado pelo usuário. Nesse caso, o repositório que contém o aplicativo será instalado automaticamente ou o usuário será solicitado a instalá-lo. Isso também acontecerá se o runtime necessário não estiver presente.

O .flatpakref pode ser usado para instalar aplicativos a partir da linha de comando e também com instaladores gráficos de software. Isso é feito com o comando padrão flatpak install, que aceita arquivos .flatpakref locais e remotos. Por exemplo:

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

Ou, se o mesmo arquivo tiver sido baixado:

$ flatpak install fr.free.Homebank.flatpakref

Publicando atualizações

Os repositórios Flatpak são semelhantes aos repositórios Git, pois armazenam todas as versões de um aplicativo, mantendo um registro da diferença entre cada versão. Isso torna a atualização eficiente, pois apenas a diferença (ou “delta”) entre duas versões precisa ser baixada quando uma atualização é executada.

Quando uma nova versão de um aplicativo é adicionada a um repositório, ela fica imediatamente disponível para os usuários. Os centros de software podem procurar e instalar automaticamente novas versões. Aqueles que estão usando a linha de comando precisam executar manualmente flatpak update para verificar e instalar novas versões de todos os aplicativos que instalaram.