Hacker News new | ask | show | jobs
by apitman 940 days ago
Package managers are not a sustainable solution to application distribution. It puts way too much on package maintainers, which is a thankless job. Whether or not you like Flatpaks, Snaps, etc, it's clear that we need some sort of cross distro (and preferably cross platform) application format that's simple for developers to target.

Personally I ship static executables, but that doesn't work for GUI apps.

3 comments

I think having a standard way to specify exact program dependencies (not package names, but e.g. pkgconfig files, command binaries, deps for specific languages, etc, so they can be translated back to the package name for each distro), as well as allow packagers to check for updates, would go a long way in easing sustainability. We already have other metadata covered by metainfo.xml files.

Packaging software is almost automatic these days. If the program uses the standard build system for their language, and the language's build system cooperates with the way of linux (e.g. C, C++, python, perl, ...), packaging software is as easy as telling the package manager what build system to use and giving it a download URL.

I figure that if we manage to have some standard like that, you could easily have a set of docker containers build your program for every major distro and publish it in a repository, without much distro-specific fuss. Of course, flatpak is probably better if publishing to all distros is your specific goal, but it'd make the life of distribution developers significantly easier.

My biggest fear with regards to flatpak is that people will use it as an excuse to create bespoke and broken build systems that only work on a very specific system, patch all their libraries or require very specific git versions that cannot easily be updated, or etc etc. I've already seen this happen with a few flatpak apps I've tried to package.

Godot can save GUI app to static executeable, mobile and web.
Do you have a link to instructions on how to do this? I don't think I've ever seen a GUI app on Linux that wasn't dynamically linked to X11 or Wayland.