Services are bash scripts?
Oh no. That’s horrifying. I’ll never go back to the bad old days where my system constantly has dozens of untestable buggy bash scripts running.
I currently have zero bash scripts running on my system until I open steam, and there’s no world where I’d go back.
/bin/sh is not /bin/bash
POSIX shells are horrible unmaintainable bug factories.
shellcheck is not enough to make them safe programming languages. They are acceptable only in an interactive context.
Having anything encourage people to write POSIXy shell scripts is a design flaw.
Continue your ranting on some OpenBSD (uses /bin/ksh in init scripts) mailing list ?
I don’t think those are better or worse. My point isn’t about some ancient far too limiting standard, but about how easy it is to wreck everything by not knowing some obscure syntactical rule. My issue is about implicit conversion between strings and arrays, about silently swallowing errors and so on. And the only shell languages that I know aren’t idiotic are nushell and Powershell.
That KDE theme that nuked some user’s home directory? Used a bash script. That time the bumblebee graphics card switching utility deleted /var? Bash script. Any time some build system broke because of a space in a path: bash/ZSH/… script.
Why would anyone make an init system based on shell scripts these days?
Yes, please. I’ve got plenty of popcorn for everybody.
This is quite interesting, especially that tool to check changes made to /etc. Might have to give Void a try now. But does anyone know what the update cadence is like? Is it bleeding-edge like Arch, where you get new kernels and Mesa etc not long after upstream updates?
Edit: Nevermind, looks like Void fails my freerdp test. Guess that seals the deal.
Freerdp test? I’m curious.
It’s just a check on the version number. As per my previous link, Void’s FreeRDP is still stuck on 2.x, whereas 3.x stable came out last December, with the latest stable being v3.4.0, released 3 weeks ago.
Nix also fails this test btw, since they too are still stuck on 2.x - and this is an example I’ve been using often as an argument against Nix fanbois who tend to claim that Nixpkgs is equivalent or even superior to the AUR, when in reality that’s not the case.
The reason why I’m so interested in 3.x is because it’s a major upgrade with a ton of QoL improvements. Any serious RDP user will want to switch to FreeRDP 3.x, especially if they’re a Wayland user / game over RDP /use RemoteApps (eg WinApps) etc. So I check the FreeRDP version of a distro as an indicator whether that distro is worth my time or not, hence why I call it the “freerdp test”. 3.x is also consider stable release btw, so there’s really no excuse for a distro not to package it and at least make it available - perhaps with a new name so as to not force an upgrade, if they’re concerned about compatibility issues.
nixpkgs is holding out with it because it’s part of the current GNOME 46 draft pull request: https://github.com/NixOS/nixpkgs/issues/282102
Though I agree it’d have made more sense to migrate to freerdp 3 earlier and have two versions available, like with pipewire.
There’s also a nix file in that discussion with a more recent version.
Very interesting. Thanks for the detailed explanation! I’ll check it out.
Edit: Nevermind, looks like Void fails my freerdp test. Guess that seals the deal.
What is the failed test about ?
The author would likely really enjoy gentoo. Imo it has all those benefits and a little more, plus its more popular.
They are similar but one is mainly a source based distro which can also install binary packages while void is the other way around. Each has its advantages and downsides.
You already said it, but even if you want mostly binaries, gentoo is becoming a distribution that can do that. So I don’t think this is something that sets them apart.
Plus, gentoo handles compilations so well, it is almost as simple as binary package managers.
I haven’t compared it myself but xbps is supposedly much faster than portage for binary packages. I know it ain’t really an important metric but still.
I think void has better binary package support though. I don’t have the statistics but it seems that still not all gentoo packages are offered in binary form, especially on arm or legacy x86. I also think GURU is source only which is sometimes an issue when installing some obscure software.
GURU is source only
Is void different? Does it have a user repository that provides binaries directly?
My familiarity is with AUR, which does not provide the binaries directly. I suppose you can write a PKGBUILD that only installs a binary, but you could do the same with ebuild.
On binary support, I imagine you’re right. Binary support in gentoo is new. I imagine it will only get better.
well my point was that obscure software is “often” (in my experience) packaged only in GURU, while void has official packages. My guess is that it is because GURU is official-ish while void has no such thing so there is bigger “pressure” to build binaries.
I didn’t look much into void, but when I did, gentoo’s repository is much larger and there are many packages that I’d call obscure that happen to be in the main repos.
The situations I’ve had to reach to guru are rare. I bet that gentoo has more obscure stuff in its main repo, though I don’t have the numbers to prove it.
I also don’t have any numbers. It was anecdotal evidence, I’m sure your experience is different. I mean it probably doesn’t even matter whether it’s source based because these obscure packages should compile pretty fast anyways.
idk I guess my initial argument should be changed to something like “each does some things differently, one might prefer one or the other, in my experience void does binary packages a bit better although it doesn’t really matter tbh”
Quite the font choice
Oh, Internet - thank you for not disappointing me.