diff options
| Commit | 0492d9f2f4a38c9c09c702ae8e5db6b16d6a926b (patch) | |
|---|---|---|
| Author | 2023-05-28 20:25:24 +0300 | |
| Committer | 2023-05-28 20:25:24 +0300 | |
| Files | 643b7d7521d60cc9ff831dded4358c2e53a3a0e8 /src | |
| syndamia.com-0492d9f2f4a38c9c09c702ae8e5db6b16d6a926b.tar syndamia.com-0492d9f2f4a38c9c09c702ae8e5db6b16d6a926b.tar.gz syndamia.com-0492d9f2f4a38c9c09c702ae8e5db6b16d6a926b.zip | ||
| Parent | c981a49fa3886d1e105f681f45e42f3f4d4c3e99 (diff) | |
[fefgbf] Created initial draft
1 files changed, 96 insertions, 0 deletions
| -rw-r--r-- | src/blog/friendship-ended-with-funtoo-now-gentoo-is-my-best-friend/index.md | 96 |
diff --git a/src/blog/friendship-ended-with-funtoo-now-gentoo-is-my-best-friend/index.md b/src/blog/friendship-ended-with-funtoo-now-gentoo-is-my-best-friend/index.md new file mode 100644 index 0000000..36a8792 --- /dev/null +++ b/src/blog/friendship-ended-with-funtoo-now-gentoo-is-my-best-friend/index.md @@ -0,0 +1,96 @@ +# Friendship ended with Funtoo, now Gentoo is my best friend + +## Contents + +Around 6 months ago I wrote [Taming The Fun-too](/blog/taming-the-fun-too), a blogpost sharing my personal experiences with the Funtoo linux distribution. +What you don't know is that less than a month later, on the 30 December (2022) I installed Gentoo on my desktop computer, and on the 1 March (2023) my laptop followed. +Here is what happened. + +## Public Enemy No 1: Packages + +For reasons I'll elaborate on later, a whole truckload of packages go unmaintained and untested for years, with the fix being to update 20-30 other packages, which is normally unviable. +The result was having a system which is limited in it's ability to install and build software. + +Python was stuck at version 3.7, while a lot of packages like barrier, libplacebo, mpv and pulseeffects (though some of them weren't in the Funtoo repository tree, they still were part of Gentoo) required[^required-3.8] at least 3.8. +So, with a lot of effort and poking around, I got python 3.8 to work, just barely. +What's even better is that eventually I reached an **unfixable** circular python dependency (between dev-python/packaging and dev-python/setuptools). + +Another problem child was glibc, it is *currently* at [version 2.33-r2](https://github.com/funtoo/core-kit/tree/1.4-release/sys-libs/glibc), which under Gentoo [is officially masked and discouraged for usage](https://gitweb.gentoo.org/repo/gentoo.git/tree/profiles/package.mask#n542)[^glibc] and wouldn't you know it, also prevents some packages from being compiled (mainly I remember ungoogled-chromium). + +Most definetly there were a lot more problematic packages, but I've forgotten almost all details. +What I do remember is that the day I decided to hop to Gentoo, I tried to update my system and yet again I got some sort of issue, either a package couldn't compile properly or there was some dependency conflict. +That was preceded by my unsuccessful attmpets at getting the kicad package to work a couple of days prior. + +At that point, this had become completely normal. +**But** Funtoo shouldn't be blamed for it! + +## I didn't follow the wolf pack philosophy + +On the [Welcome](https://www.funtoo.org/Welcome) page of Funtoo's website, in the second paragraph, we are linked the [Wolf Pack Philosophy](https://www.funtoo.org/Wolf_Pack_Philosophy) page. +This is essentially a document describing how a member of the community should behave, and I didn't follow it. +Any member of the pack is supposed to: + +- **Be Mindful of the Pack**: but as I found (package) challenges, I tackled them on my own, not trying to consult anyone or ask for help +- **Be Interconnected**: but I didn't connect with anyone on my issues +- **Howl**: but I didn't express my desires and needs and share the work I've done + +Or more simply put, Funtoo is a small project, and you need to communicate with others to get things done. + +Another way to look at it is that in a project of this scale, what gets supported is what the community uses, so in a way, I was trying to use Funtoo in the *wrong* way. +This may sound ridiculous, but then again, they aren't making an Ubuntu or Linux Mint, a project that tries to work for everyone, in a way this is a project by the community for the community. +You can't expect them to support everything that a big-scale distro does, like Gentoo, with a fraction of the manpower, so if something, which nobody supports, doesn't work and you don't at least speak up, it will probably stay broken[^kicad] (this kind of relates to the **Is Territorial** point in the philosophy). + +However, in my defense, I didn't open bug reports or create forum posts because my issues weren't "directly" related to Funtoo, or a normal Funtoo installation. +Most of the time I would have an issue with a package, then get it's Gentoo counterpart, try to get all dependencies working one by one, and it will fail with some unsearchable error. +At that point, when I was truly ready to throw in the towel, I had done so much, and tweaked so many things, I couldn't even explain what I had done to my system, let alone ask for help on my setup. +Additionally, the information on my initial issue would be lost, and undoing my changes would require too much work. +After enough time, so many stuff like that accumulated, I'm pretty sure I started getting problems for packages which normally weren't problematic. + +## Why did I choose Funtoo in the first place? + +The primary reason I switched was because of a fellow student in university convinced me of all the cool features, general stability and resilliance of Funtoo. +Looking back at it, the last two parts could be applied to a lot of distros, but I was using Fedora at the time, wanted to switch, and without any clear preference, I went with what he offered. + +### Debunking benefits + +But we did also talk about Gentoo, and he pointed out some reasons why Funtoo is better. +Look at these with heignseight: + +> git > rsync + +By default, on Gentoo synchronization of ebuild files is done via rsync, while on Funtoo it's done with git. +Gentoo has actually supported git synchronization for quite a while, and [the setup is easy](https://wiki.gentoo.org/wiki/Portage_with_Git), so in the modern day it's really a matter of preference. +Though, [rsync is probably better with bad internet connections](https://lwn.net/Articles/759578/). + +> profiles (flavors and mix-ins) + +Funtoo has a system called [profiles](https://www.funtoo.org/Funtoo_Profiles). +The idea is that you can group a whole set of packages and use flags into one name with the ability to turn them off and on again. +So, if you want to install gnome on your system, you don't have to worry about flags and potential dependency problems, just use the gnome mix-in and everything will be ready to go for emerging. + +This is pretty cool but it's also somewhat unecessary. +You would save time on your very first install ever, but once you've set your flags on one machine, you'll just need to copy some files over and be done with it +There is a case to be made for people who often emerge and unmerge packages, but they are very much a minority (which I'm not a part of). + +> Funtoo has [stage 3 tarballs](https://wiki.gentoo.org/wiki/Stage_tarball) with already setup DEs + +This means that on a Funtoo system, you could directly unpack the tarball (the initial prebuilt binaries), and without emerging anything, have a ready-to-go desktop environment. +The huge benefit is that you can very quickly reboot into your "install" (after setting up the booting of course), and use your computer normally and with the comfort of a graphical environment while everything else is being emerged. + +Again, this is really cool, but at the end of the day, a normal "text-only" installation isn't very difficult, the [Gentoo handbook](https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation) is very detailed and well written. +And I personally use a very custom openbox setup, so those DEs would be bloat. + +> release TODO + +[Funtoo isn't doing rolling release](TODO), which means, in theory, packages will be way more stable and tested than normally. +Of course, their situation is different, and rolling just doesn't make sense, but in general, I've not really found problems, related to Gentoo's release model, packages have never been too bleeding edge. + +> [autogens](https://www.funtoo.org/Autogen) + +Rather than making ebuilds manually, on Funtoo you can automatically generate them with simple Python code. +This system probably reduces management time quite a lot, especially for a smaller team of maintainers, but you would still need to understand ebuild files. +And I'm not a maintainer, so I don't really care. + +[^required-3.8]: Required might be a strong word, I don't remember if I tried (though I'm sure I did) just downgrading the Python version in the ebuild. Nevertheless, there were for sure useful packages which really did need it. +[^glibc]: This point may not be completely fair, since Funtoo has a system for [ebuild generation](https://web.archive.org/web/20230528115518/https://projects.funtoo.org/metatools/docs/autogen.html), which means that they might've made configuration changes and/or applied patches which "fix" that version, but still, it really isn't a good look. +[^kicad]: On that aforementioned kicad package, drobbins, the benevolent dictator for life of Funtoo, categorized it as a [package which people aren't interested in](https://bugs.funtoo.org/browse/FL-8435?focusedId=52907&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-52907). |