How do you guys get software that is not in your distribution’s repositories?
There is no software that is not in AUR. I use arch, BTW.
That’s exactly what the vast majority of AUR packages do already? You can also apply modifications to the compilation process if needed.
My software, QuickDAV, is not in the AUR. It’s open source, and I release it only as an AppImage, because I am lazy.
I guess we should have added the word “notable”
I’m terribly sorry, you left the door wide open ;)
I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?
I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?
The appimage is basically just git clone
-> make
-> make install DESTDIR=/path/to/AppDir
-> wget appimagecreationtool
and finally appimagecreationtool /path/to/AppDir
and that’s it you have your appimage.
appimagecreationtool being several tools that can create the appimage from an AppDir, like linuxdeploy, linuxdeploqt, go-appimage, etc
And that on itself isn’t complex either, it if basically running ldd on the binary, then copy those libraries into the AppDir and finally run patchelf to patch the paths in the binaries and libraries, suyu uses a deploy script instead of using those tools, which I’ve recently forked and began expanding.
I don’t know how easy it is to make a flatpak or snap, but I do know the dev of zen browser hates dealing with the flatpak and iirc right now the flatpak is outdated as result.
EDIT: Also lite-xl has been making a flatpak for like 2 years and it isn’t ready yet.
Gatekeeping the word “software” here?
Here’s something not in the AUR. Tested on arch
Clearly we need an Arch version of rule 34 and rule 35
Rule 34a: If linux software exists, it’s in the AUR. No exceptions.
Rule 35a: If linux software is not in the AUR, it will be made available in the AUR.
I don’t intend on pushing that one to the AUR. It’s not worth it.
Maybe I’ll make an AppImage at most.
I don’t know any formal requirements for it being on AUR, but I just feel like this one does not fit there.
If you don’t compile from source, do you even Linux?
Native package manager > Native binaries > AppImage > Flatpak.
Yes, snap isn’t even on the scale.
Not a fan of AppImages myself. For an universal format it has surprising amount of issues with different distros, in my experience. And the whole Windows style “go to a website, download the AppImage, if you want to update it, go to the web page again and download it again” is one thing I wanted to get away from. At least they don’t come with install wizards, that clicking through menus thing was a pain.
For one off stuff I run once and never need again, AppImage is alright. But not being built-in with sandboxing, repos, all that stuff, it just seems like a step back.
I ran into the same issues, mentally, when trying out AppImages for the first time - but my attitude changed once I found and started using this tool: https://github.com/ivan-hc/AM
App images are a very Windows way to do things. They bundle everything so they are big
They are windows, but the linux version of dll-hell across distros and distro versions makes windows dll hell look quaint.
If someone had addressed that better it would be one thing, but binary interoperability is infinitely broken, so app image is actually an improvement.
Isn’t the gnome runtime alone 2GiB? You know how many appimages that is?
Not to mention you are unlikely to only use one runtime.
Then again, loads of apps share that runtime. And if other runtimes have same stuff as that GNOME runtime, the shared parts are on your disk only once. It’s pretty smart in how it works.
I’m a technically savvy but new to Linux user who installed Mint as my primary OS about a month ago. So far I’ve used Flatpaks and AppImages without any issue and haven’t come across snaps. Would you explain the differences and why I would care about one over another?
At the end of the day, they’re just different ways of reaching the same goal: universal packages for Linux. I personally use them interchangeably depending on the application and use case.
There are some packages that definitely work better and are intended to be used and installed via your native package manager (if they rely on system libraries and whatnot). But using either a Flatpak or AppImage results in the same experience - in my experience. It’s a personal preference.
IMO flatpaks are the future of installing linux apps. The comment you replied to lives in the past. System package manager should be for system binaries, not for applications.
But I like my applications years out of date and I think its good that every distro has to spend manhours on packaging it individually.
Why not just stick to what we’ve always been doing?
- wget something.tar.gz
- tar something.tar.gz
- man tar
- tar xzf something.tar.gz
- cd something
- ls -al
- ./config.sh
- chmod +x config.sh
- ./config.sh
- make config
- Try to figure out where to get some obscure dependency, with the right version number. Discover that the last depency was hosted on the dev’s website that the dev self-hosted when it went belly up 5 years ago. Finally find the lib on some weird site with a TLD you could have sworn wasn’t even in latin characters.
- make config
- make
- Go for coffee
- make install
- SU root
- make install
I much prefer our modern package format solutions:
- sudo apt install something
- open
- wtf this is like 6 months old
- find a PPA hosted by someone claiming to have packaged the new version
- search how to install PPAs
- sudo apt <I forgot>
- install app finally
- wtf it’s 2 months old and full of bugs
- repo tells me to report to original developer
- report bugs
- mfw original dev breaks my kneecaps for reporting a bug in out of date versions packed with weird dependency constraints they can’t recreate
We should normalize programs that don’t use such exotic and impossible libraries that you have to do anything besides type “make” and “make install” for it to work.
In theory it’s a no brainer. In practice not so much.
I’m currently on a atomic distro, so how I get my software from favorite to least favorite is this:
- Flatpak
- Appimage
- Fedora distrobox
- rpm-ostree