this post was submitted on 25 Jun 2023
57 points (93.8% liked)
Linux
48328 readers
69 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
From an app developer and a distro maintainer point of view snaps/flatpacks are just better in almost every regard. It seems insane that each distro spends time building and maintaining packages that should just be in a container and ready to go.
There are some disadvantages but would you rather the developers spent time fixing bugs and adding cool features or would you rather they spend their time packaging stuff up to support half a dozen different distro packaging formats. These are the choices devs are having to make but there's no need- put it in a container, have a stable environment that runs everywhere, done.
Why should they even package it at all? Just distribute the source code and let the distributors handle it themselves.
Man, this became so bad in the last five years or so.
Just bought a digital drawing tablet from a manufacturer who claim their products have Linux support. Plugged it in and went to their download lage. Of course, there would not be a link to their GitHub project and instead I got a .deb and a .rpm, which is totally useless to me because my system is neither Debian/Ubuntu nor even glibc.
rpm2targz should solve the first half of that problem (debs can be unpacked without their package manager too, but I forget the method). As for the glibc part, crossing your fingers and hoping it will work with musl or whatever anyway seems like the most useful course of action, alas.
They're (usually) packaged with the slightly unusual
ar
format -ar x yourpackage.deb
should give you the underlyingtar
files that would be installed, and thentar xf yourpackage.tar
. Most archive managers will let you open them up like any other archive though - Gnome's certainly does - if that's easier for you.That. Historically, upsteam provided sources, and downstream distros packaged it however they want to. If anything, the developer would package it for their own use on the distro(s) they use.
Is it weird for the users? Kind of. But it still makes the most sense: you can't expect the developers to know how to properly integrate a package in every distro. And what usually happens is that we end up with packages that ships static binaries and puts the app in
/opt
and call it a day.I'm an inactive maintainer for [The Lounge](https://thelounge chat), and the result of us trying to package for multiple distros is that we store chat logs in
/etc/thelounge
because the project is designed mostly for the Docker version, which uses just one "data" folder. The project prefers consistency for the users, so the deb and Arch packages are both fairly questionable. I get reports for this from time to time in the AUR comments, and I'd have to step over the other project maintainers to split it into/etc/thelounge
and/var/lib/thelounge
as it should. If packaging remained independent, I could adapt the package better for Arch's FSH.The universal platform for developers that want to offer end users a prepackaged way that works on every distro is Flatpak. Personally I prefer to install natively where possible, but I think it's a good middleground between users having to figure it out, without developers stepping over the distro's package structure. Users that want a native package can get good quality ones or build it themselves, while less experienced users can just use the developer-supported installation method.