this post was submitted on 18 Jan 2024
770 points (99.1% liked)
Linux
48082 readers
930 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
As someone who knows nothing about Arch, what do you do if your app exists only as a .deb file? Can you install it?
I know you already got another answer, but - it's very rare that any software for Linux exists that is both 1) not present in the official Arch repos, and also 2) not packaged by a user for the AUR.
Probably 99% of what a typical user (I know we all define that differently) will want doesn't even require AUR access - it will be in the official Arch repositories and will be up to date to within a few weeks of release.
There are some potentially substantial downsides to the AUR (it's the Arch USER Repository - so these are not official arch packages) but IME the real world problems are minimal. I would suggest anyone who is new to the Arch way of distributing software should hit up the relevant page on the Arch wiki and make up their own mind before using the AUR - but it's about being aware of what you are doing more than it is a real warning, if that makes sense. I suspect few Arch or Arch-based users don't have at least a smidgen of AUR packages on their system. (Edit: That page is very thorough. I think it makes installing from the AUR sound much harder than it needs to be. For most people the command is just "yay -S packagename." There are gui options that handle all packages including AUR, and yay is not the only cli option, either.)
Interestingly, there are some AUR packages that work by pulling down the deb and deconstructing it for installation on your system - AFAIK it can be that, RPM, a true "compile from source" situation, or I'm guessing some AUR packages are deconstructing snaps\flatpaks\appimages during the install. Whatever the origin of the files, they include a pkgbuild file that tells your system how to either compile or deconstruct and install the software.
I know I ran into this years ago. I think it was some collection manager app for a trading card game that someone had on GitHub and only had .deb releases. Eventually you will want to install something niche.
I have found no such instances. Software which is only officially packaged as deb will usually be unofficially repackaged on the AUR regardless.
I distribute an app I made for Linux, macOS and Windows. The Linux version I only have available as a .deb. Released recently and has about 200 users so far, but definitely exists. No Arch user contacted me yet.
When folks start wanting it, someone will package it for the AUR, or if it becomes even somewhat mainstream it will end up in the main repos eventually.
Possibly, though I wonder how updates would work then. Currently I have a Debian repository that contains a single package, and installing the .deb from my website also installs the repository so you get updates as with any other package.
If someone repackages it on AUR, I guess they will also need to update it every time I update the .deb, so it's always behind? Of course it would be better if I provided a first party package for AUR, but I can spend time on that when there is actual interest. Most of my users are on Windows anyway.
Usually what you describe is what they do. Someone "owns" the AUR package (and it's not quite literally any random user IIRC - you have to be accepted as an AUR maintainer I think) and they then take on the responsibility to repackage it whenever the author (you) releases a new version. There is also a mechanism for users to flag the AUR package as out of date in case that maintainer misses a release, and if they abandon it (or even if folks just don't like how they package it) someone else can package it, assuming someone else wants to.
Sometimes the AUR maintainer is the dev themselves. I can't think of a good example currently, but I know I've seen it before.
I don't know the process for how things end up in the official repos, but I would guess it's similar to however any other distros identify software they want to officially package.
They may not have to. For example, Plex on nixos just unpacks the deb and installs the files the "nix" way.
https://github.com/NixOS/nixpkgs/blob/e18f8d69fb90bc71c33dc0851e6482284fe2e71e/pkgs/servers/plex/raw.nix
It isn't recommended, but dpkg will install it if you really want to. You just need to handle dependencies manually.
But it's a pretty rare issue. If something isn't available in the official repo, AUR probably has it.