open-supaplex icon indicating copy to clipboard operation
open-supaplex copied to clipboard

Flatpak Linux distribution on Flathub

Open fpiesche opened this issue 11 months ago • 3 comments

At a friend's request I've created a Flatpak build for Open Supaplex that I'm currently hosting on a personal repository. I'd love to submit this for distribution to flathub.org, but their submission guidelines require that if a submission isn't made by the project owner or at least a regular contributor, the submitter must at least have permission from the project maintainers to set up a distribution on Flathub.

Would you be okay with me making such a submission?

fpiesche avatar Jan 15 '25 23:01 fpiesche

Could we create that Flatpak build from CI like all other builds?

sergiou87 avatar Jan 16 '25 11:01 sergiou87

We could create a downloadable .flatpak bundle in CI in this repo, but doing so would lose a couple of the major advantages of a Flathub distribution - discoverability (as distributions that support Flatpak out of the box will show Flathub packages in their graphical package managers, eg. GNOME's Software app or KDE's Discover), and automatic updates (if any of the dependencies, or Open Supaplex itself, tags a new release version in their source repo, the Flatpak software will notify users of the new builds and in many setups just install it alongside regular system updates).

For what it's worth, the process for Flathub distributions basically just consists of creating a plain-text CI manifest (which I've already done for the package for my friend), which will then be copied into a repository under the flathub org here on Github (e.g. https://github.com/flathub/io.github.theforceengine.tfe) and the submitter and any maintainers requested be given write access to this.

Flathub's own build infra will then run a build and publish it on flathub.org and GitHub workflows run by Flathub will monitor the CI manifest for updates (e.g. new release tags) to any of the sources and automatically create PRs to update the manifest if necessary. Once the test build triggered by a PR has been checked and the PR merged by contributors on the flathub repo, Flathub will publish the build as an update to their site.

For an example of how this works, have a look at this PR.

As Open Supaplex doesn't get updates very frequently the maintenance work for this would be minimal (basically just checking a build and then merging a PR when libxmp, SDL_mixer or Open Supaplex receive a new release), and as the submitter I would also be around and happy to help out with that side of things.

fpiesche avatar Jan 16 '25 14:01 fpiesche

Cool! Thanks for the explanation 🙇‍♂

I just wanted to make sure there wouldn't be redundancies or anything like that, but it seems Flathub is already designed to have these manifests in their repo, right? If that's the way it is, you have my 👍 to make the submission!

Just FYI I've been meaning to release another version with several fixes (specially #50) for a long time, but I always find more urgent things to do 😅

sergiou87 avatar Jan 18 '25 11:01 sergiou87