💾 Archived View for gemini.circumlunar.space › users › kraileth › neunix › eerie › 2012 › switch_arc… captured on 2022-04-28 at 19:21:22. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-10-31)
-=-=-=-=-=-=-
Here I'm republishing an old blog post of mine originally from August 2012. I've updated it slightly.
Alright, now it’s official: _Project E.e.r.i.e._ abandons Gentoo and switches to Arch!
The biggest downside of Gentoo ist surely that you compile _everything_ from source and it takes way to long to set up bigger programs like a desktop. Half a day for re-compiling your system with a new USE variable and emerging GNOME 3 is not at all an exaggeration. Even on modern multicore processors like the i7 of the system I run my tests on. Every Gentoo user knows the phenomenon of "overnight-emerge" - meaning that you begin emerging before going to bed and have the computer work all night. Depending on how long you sleep, how fast your machine and on how big the program(s) you are merging is/are, it may be done by the time you wake up...
Also the problems I had with the portage tree lately were rather annoying and a pure waste of time. I’m about one month behind with the tests I wanted to publish here.
But of course there are quite a few strong points of Gentoo - I still like this distribution and thus don't want to leave that unmentioned. Thanks to the USE variable and the complexity of the portage system, Gentoo's flexibility is simply unique. There's nothing that comes even close to it. Oh you don't want the default version of your package? No problem! Just unmask a newer one and hope it works well, if you feel like it. Or mask the default one and portage will simply provide you with an older version! I got used to think this goes without saying, but of course this is not necessarily the case with other distributions - like Arch. Actually it is one of the things that will be painfully missed.
Well, Arch Linux is a "simple, light-weight" distribution. Sounds nice, eh? It sure does. You can have the default basic system with as little as about 650 MB of space used, which is pretty nice. Unlike Gentoo, Arch uses binary packages by default. It does however provide a rather good buildsystem, too.
The repos are split into "core", "extra" and "community". And if something is not in there, there are additional custom repos, which you can add to your pacman.conf. Oh, and you can always have a look at the _AUR_, the "Arch User Repository". It doesn't provide binary packages, but there are thousands of PKGBUILD files there which contain the information on how to build a certain package (kind of similar to Gentoo's ebuilds, but much less complicated). Thanks to the AUR there's tons of programs easily available for Arch even though they are not in the official repos. However the AUR is completely user-maintained so there are also many PKGBUILDS there which are outdated, buggy or even orphaned (no longer maintained by anybody). Still it's a very nice thing to have!
A friend suggested using Arch for my experiments right from the beginning. Well, it follows the rolling releases system, too, and when I first wanted to try it out (perhaps five to six weeks ago), just on that very day, it was broken for a while due to a default driver switch. The new one was added as a dependency but the old one not yet removed - and so pacman wanted to install both of them. However they were conflicting packages...
Fortunately Arch's pacman (which is a very convenient package manager!) lets you select which packages from a group you actually want to install. So this problem is easily fixable from the users side. But it's things like that which I really despise and what makes me think that fixed releases probably are not such a bad thing after all...
Anyway: I'm getting along with Arch pretty well already and did not encounter such a glitches again in the last few days. Just following the desktop tests I'm doing is probably giving you a good impression of what it's like.
First I've installed GNOME 3 from the main repos. No problem at all. Next I've built and installed Cinnamon from the AUR. Working fine. Then I tried to install Unity. Well... Things got a lot more unpleasant here. The ArchWiki (a really great source of information!) pointed me to the Ayatana custom Arch-repo. However this repo seems to be seriously broken. It provides a package for Unity (version 5.x) but lacks at least some of its dependencies! So I went looking for those in the AUR. Nope. Hm!
Allright... Let's try out the Unity package from the AUR. Ok, it's marked "outdated", but let's try, anyway. Needs dependencies. Ok, download the PKGBUILDs for those from the AUR, too. Some work, some don't! Which means that it's time to take a look at the PKGBUILD format. Looks clear and easy to understand. So I spend about two hours getting into the PKGBUILD system and trying to fix things. No luck though.
Oh well! Removing all these directories, I decided to write my first own PKGBUILD. A few minutes later it downloads the Unity source (this time the new version 6.0.0) from launchpad. Ok, taking a look at its docs, there's _a lot_ of dependencies. A long story short, I spent the whole rest of the day writing PKGBULDs, building package after package. Only to browse the forums before going to bed tiredly - and to find out that there's another Unity repo which has a working version 6 available... I have no idea why this is not in the wiki! But well, all those hours were not a complete waste of time since I learned quite a bit about Arch in that process.
I found out that there are no -dev packages with Arch. All the headers and stuff is in the main package. I guess, this is where "simple" beats "light-weight". If you ask me, it should be vice-versa. The average desktop user who wants a _light-weight_ system and never compiles his own packages, simply _does not need_ all that ballast of such -dev packages!
Also, as I wrote above, it's not really easy to get an old package installed. Keeping an old one is no problem; you can forbid to update it in pacman.conf - easy enough. But older packages are simply not kept available on the repo mirrors! After finding the right repo, installing Unity was no problem. However I was experiencing severe graphic glitches. I read a little on the forums and understood that this was due to Unity not being compatible with glew1.8. Luckily there's a PKGBUILD for glew1.7 on the AUR as there's no possibility to simply install an older version from the main repos. This is the point where I miss my Gentoo! But well - you just can't have the best of both worlds, I guess.