Post
Remote status
Context
21@lanodan@queer.hacktivis.me @volpeon@icy.wyvern.rip Just because Arch is terrible doesn't mean this applies to every other distro though.
@SuperDicq@minidisc.tokyo @lanodan@queer.hacktivis.me @volpeon@icy.wyvern.rip it does not have to do anything with arch itself. This can happen with every distro, if GRUB gets an update but fails or if the initcpio-Image was not build successfully.
The best way to avoid those issues is, by reading through the output of your package manager and ensuring that the installation of GRUB and the Initcpio process were successful.
@kitsune_yasu@waldbewohner.eu @lanodan@queer.hacktivis.me @volpeon@icy.wyvern.rip
This can happen with every distro, if GRUB gets an update but fails or if the initcpio-Image was not build successfully.I'm not that familiar with Arch, but it sounds extremely incompetent to me that Pacman would just continue updating and not fail if grub-install fails.
Debian, for example, has a transaction based package manager so that makes sure when failures like this happen the old stuff that was previously working is not overwritten. So that definitely sounds like a design flaw in Pacman.
- distro keyring not up to date, failing package authenticity check (archlinux-keyring needs to be updated first)
- pacman deletes initrds on transaction start meaning that if your system fails in the middle of an update, you not only have a system in an unknown state with half-extracted packages, but also no kernel to boot
- when using BTRFS, the free space check can fail because free space as reported by BTRFS isn't actually real and it doesn't use the specific btrfs library for getting free space
@phnt@fluffytail.org @SuperDicq@minidisc.tokyo @lanodan@queer.hacktivis.me @kitsune_yasu@waldbewohner.eu @volpeon@icy.wyvern.rip
- distro keyring not update to date failing package authenticity check (archlinux-keyring needs to be updated first)Wait, that's not supposed to happen?
I got that one in my containers and well… tossed Arch out definitively because there's a point where it's just pure incompetence.
Gentoo solved this issue by force-updating the wkd on every update before emerge even resolves dependencies.
@phnt@fluffytail.org @lanodan@queer.hacktivis.me @lolitechengineer@loli.church At least we can all agree here that Arch is terribly designed.
@phnt@fluffytail.org @lanodan@queer.hacktivis.me @lolitechengineer@loli.church Also the best power user distro is GNU Guix.
How can you even call yourself a power user if you have never learned the power of Scheme?
I'm not touching that with a ten foot pole
@phnt@fluffytail.org @lanodan@queer.hacktivis.me @lolitechengineer@loli.church That's fine, not everybody has to be a power user.
@phnt@fluffytail.org @lanodan@queer.hacktivis.me @lolitechengineer@loli.church You one of those weirdo Alpine/Chimera GNU avoiders? Having nightmares of Stallman's feet?
@shinyoukai@izu.laidback.moe @phnt@fluffytail.org @SuperDicq@minidisc.tokyo @lanodan@queer.hacktivis.me BSD seems really interesting but it seems its not ready yet
@shinyoukai@izu.laidback.moe @lolitechengineer@loli.church @lanodan@queer.hacktivis.me @phnt@fluffytail.org I personally think Hyperbola is a bit of a nutjob project in my opinion.
For example the only reason they are making a BSD version now I think is because they think Rust in Linux is bad. I mean I don't like Rust either, but is it that really enough of a reason to switch to fucking BSD? Wouldn't it be less bad to just remove the Rust parts from Linux?
Hyperbola also does not allow any software that is developed by a for-profit company. Yes this means that Hyperbola does not support basic shit like zstd because it is developed Facebook.
It's bonkers.
If I really wanted to screw up my system using pacman I'd rather install Parabola which seems like a project ran by sane people.
Replies
39With Hyperbola it's removing things for the sake of removing things, because we don't like some abstract interpretation of dumb politics. In a way, it perfectly fits the GNU maximalism mindset. Instead of letting a user choose whether they want to use non-free blobs on _their own_ hardware, we choose for them and remove that ability to even do so, because we are smarter than the user, and because we hate choice, and letting the user patch our patches so that they can do what they really want. Just because we have some abstract dumb opinion on what proprietary firmware is. There's no actual progress made, just removal of options for the sake of
removing them, while thinking you are holier than thou.
And then if you come to the BSD crowd, it is a completely different mindset. Instead of coming to a discussion being dead set on the "only proper way" and arguing only for that, the discussion starts level headed and without predetermined outcome.
@phnt@fluffytail.org @lanodan@queer.hacktivis.me @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe >Tries to following up the bait with more bait hoping we will bite.
Like take a look at stali, or almost any other suckless distro, there's typically no C compiler at all, and a bunch of suckless software (dwm, dmenu, …) are entirely absent because well no graphical session.
(One exception is Oasis Linux, but not sure how suckless related it is, mcf might just have grabbed sbase because it's simple to compile)
When you remove the community from the project and its maintainers, you get a pretty high quality pieces of software (except dumb variable names) ready to be hacked on. But that is the case with many projects these days. Look at a certain oxidized language that was interesting and ruined by the annoying community around it.
>suckless distros
Never heard of them and making a suckless distro is the dumbest thing you can do with it. Since the software is made to be patched by a user directly and not properly packaged. The only things that properly work as expected without patching is dmenu, maybe dwm and probably the init system.
@phnt @shinyoukai @lolitechengineer @SuperDicq > Since the software is made to be patched by a user directly and not properly packaged.
It could be like AT&T Unix/BSD/Plan9, where you go in /src or similar directory, do your edits, and type a command like make to recompile, but for this it needs to be a non-toy system where you have things like development tools.
(I also have those wrappers tossed out on my system but to be sure cross-compiling will work)
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @shinyoukai@izu.laidback.moe @lolitechengineer@loli.church I'm not a fan of suckless software. It seems very esoteric and pointless to have minimalism as your end goal.
You can just write software that performs well AND has a lot of features. I find their philosophy flawed.
OS scale because I think few things in modern systems should be split in more discrete components, specially as corporate mindset has a tendency to centralise policies into huge monolithic software that doesn't cooperates with the rest of the system in an equal manner.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe I'm personally in favor of decentralization too. I do not like huge monoliths either.
But I am not in favor of minimalism for the sake of it. Make more packages that do more things. I like having many features that make computing easier and more convenient.
Like you don't throw away everything in your home on a regular basis or should live like diogene, but getting some stuff away is needed once in a while.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe For example, my fully refactored version of Polygon Love 2 contains more lines of code than the original project did. Even though I actually removed some unused features from the code.
The original project was a giant spaghetti mess. The entire game was contained in only 10 source code files, most of them consisting of giant 3000 line god classes. I split all of those into actual modules and stuff like that so the project is actually readable and maintainable now.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe Actually now that I think of it most of the line count increase comes from giant lists of constants that originally were all compressed into one line. And also GPLv3 license header on every file.
Heh, you know about SPDX headers (and REUSE), right?
And well lines of code have pretty much always been useless and are a metric I love to hate.
Metrics like CPU/memory/… usage make more sense, but are very rarely used even though that's where ressources are scarce and can even make the difference between something which runs and something which doesn't.
Also reminds me that minimalism sometimes gives you two kinds of extremists:
- almost 0 dependencies
- dependency over own module (low line of code kind tends to go there)
Except that can end up just shifting where the complexity is, waterbed theory style.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe I know about SPDX headers and REUSE obviously, but I personally prefer using the full header for the following reasons;
Unless you are already extremely familiar with software development something like # SPDX-License-Identifier: GPLv3-or-later is not going to mean anything to you. Especially considering that I am making a video game you have to assume that whoever stumbles onto this project might not be the most professional programmer.
The full license header actually explains very briefly what free software is, what the GPLv3 does and where to read more about it (the gnu.org website).
So I think it's also good promotion for the free software movement and its ideals to have full license headers in your projects prominently displayed.
At least for me SPDX is enough for files and then could put something around ethics and copyright in something like a section of the readme (which the file header can refer to).
Which also has the effect of being visible beyond just the devs who happen to be reading the code.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe Of course the license is also referred to in the readme file.
But the reason you put a license header in every file is so that when a file gets separated from its project the context of its license is not lost.
This happens very often by the way. That someone just strips out a single module or a single file from an existing project and uses it in another project. In these cases the full license header is the most important.
If nothing changed in that file, the copyright year(s) should not be changed for that file.
For a very trivial change, the old copyright year is correct - for changes that are added a year later, that qualify for copyright, the new year should be added so the copyright header remains correct (GNU Emacs can do this automatically for you).
>otherwise the copyright notice isn't valid.
Everything should be public domain anyway. Licensing is stupid. Copyright is stupid. If you care more about how your software is distributed and licensed than when someone uses it, you can't be helped. You are a lost cause.
fedi-fsf-gnu-anniversary.png
Hurry up and overthrow the government then - that is the only way to achieve that.
>If you care more about how your software is distributed and licensed than when someone uses it
If the software is not competently licensed and distributed and therefore not is legal to use for any purpose, then people cannot use it.
@phnt@fluffytail.org @Suiseiseki@freesoftwareextremist.com @latein@cawfee.club @shinyoukai@izu.laidback.moe @lolitechengineer@loli.church @lanodan@queer.hacktivis.me The only thing I care about is that my software will not become proprietary. Anything else doesn't matter.
@phnt@fluffytail.org @Suiseiseki@freesoftwareextremist.com @latein@cawfee.club @shinyoukai@izu.laidback.moe @SuperDicq@minidisc.tokyo @lanodan@queer.hacktivis.me well, you can tell whoever represents you in whatever legislature has jurisdiction over you that you think they should change the law. But that is not the case currently.
(And fsfe's reuse acknowledges that)
This stuff always reminds me how meanwhile Hololive just puts "ⓒ COVER" or "ⓒ 2016 Cover Corp." (even as of few months ago) on their official arts.
If a more or less showbiz agency can do this, surely most of foss projects can.
@lanodan@queer.hacktivis.me @phnt@fluffytail.org @shinyoukai@izu.laidback.moe @lolitechengineer@loli.church Yes, but you can get away with just mentioning the start date of the project but I do believe is better to mention both the start and last modified date. Being more clear is always better.
a sensible place for the license is the project root and the modifications from the timestamp / git log.
Not attacking the user with proprietary software rather allows for choice (as the user can choose to have freedom by choosing not to throw it away), rather than taking away choices.
Every single BSD is proprietary software, thus there is no choice to have freedom - as you'll never have it.
@SuperDicq@minidisc.tokyo @shinyoukai@izu.laidback.moe @lanodan@queer.hacktivis.me @phnt@fluffytail.org
Hyperbola also does not allow any software that is developed by a for-profit company. Yes this means that Hyperbola does not support basic shit like zstd because it is developed Facebook.reminds me of their prohibition of VP8 (and webp), VP9, AV1, even though they are freely licensed formats with libre reference and community built encoders and decoders and instead suggest using... HEVC?
@lazyisolation@stereophonic.space @lanodan@queer.hacktivis.me @phnt@fluffytail.org @lolitechengineer@loli.church @shinyoukai@izu.laidback.moe Yes, Hyperbola is very opinionated for some very specific people who are also the only users.
If you want a good Arch-based distro with proprietary software removed you should install Parabola instead.