Flatpak packages
Speedcrunch should offer Flatpak packages. Flatpak is an(other) attempt at a distribution-independent binary package format for Linux. Notably, applications are sandboxed and use shared "runtimes" that mean not every application has to ship its own copy of common dependencies.
Flatpaks can be distributed as bundle files or from a self-hosted repository, but can optionally be published on Flathub, a standard app-store-type repository.
Advantages over the current binary packages
- Only one package (per architecture) to support a wide range of distributions rather than three.
- Flathub provides automatic updates as well as easy discoverability from e.g. GNOME Software.
- Better desktop integration (see KDE wiki).
- We don't have to compile and ship our own Qt. It takes a long time to build and getting the options right so e.g. accessibility works correctly is hard. Flatpak's runtimes make this someone else's problem.
Disadvantages compared to the current binary packages
- Requires the Flatpak tools to be installed. They are packaged on most (?) distributions and pre-installed on at least Fedora and Linux Mint.
- Requires installing the KDE runtime which weighs in at a cool ~1.1 GB (uncompressed). This would be shared with other applications using it.
Alternatives
The big competitor is probably Ubuntu's Snap. It's also sandboxed, uses very similar management tools, and has an optional app-store-type repository. The biggest difference is that it doesn't have runtimes. There is a "core" snap but it doesn't include GUI toolkits. This also means that it doesn't have any theme support. (Edit: Snap has "reusable parts" which appear to be recipes to build common software. You're still bundling everything though.)
There's also AppImage, but it's not much more than yet another self-extracting archive format. Specifically, it has no auto-update mechanism and requires bundling all dependencies.
Rationale
Building cross-distro binaries and packages has always been possible, but it's never been good. The distribution model provides close integration because everything is built against the same libraries (and sometimes lovingly hand-patched to fit together even better); you can't compete with that if your application stands out the moment you launch it because you have to ship your own build of the toolkit so the theme doesn't match.
IMO, Flatpak is now close to as good as distribution packages in terms of OS integration, installation, update, without offloading all of that to the application developers.
(Also, yes, I'm volunteering for this, but not right now, so I'll leave it unassigned.)
Comments (7)
-
repo owner -
reporter -
assigned issue to
-
assigned issue to
-
reporter Ok, I've packaged it up: https://gitlab.com/fkrull/speedcrunch-flatpak/tree/0.12 There are some test builds. I'm going to submit 0.12 to Flathub next. The submission process involves requesting a repository in the flathub organization. More details: https://github.com/flathub/flathub/wiki/App-Submission
@heldercorreia Do you have a Github username so I can also give you access to the repository?
-
reporter - edited description
-
repo owner @fk I guess you meant GitLab, not GitHub. Regardless, my user name is the same across all main Git hosting platforms (@heldercorreia).
-
reporter @heldercorreia That's convenient, because I did in fact mean Github. The Flathub process involves requesting a Github repository. I only put it on Gitlab because it's convenient for building and downloading artifacts. Sorry for the confusion. :)
In any case, here's the submission PR: https://github.com/flathub/flathub/pull/746
-
This seems to be implemented! https://flathub.org/apps/details/org.speedcrunch.SpeedCrunch has details about SpeedCrunch, and installing from Flathub installs SpeedCrunch 0.12 and it works great in Fedora . However before closing this bug, the Installation chapter in the documentation and the Download page need to mention this. Something like
SpeedCrunch is available as a Flatpak at https://flathub.org/apps/details/org.speedcrunch.SpeedCrunch for easy installation in most Linux distributions.
- Log in to comment
Interesting, never heard of any other than Snap. Can't believe it's 2018 and the Linux world is still trying to solve this issue.