Switching to… Arch Linux!

Alright, now it’s official: Project E.e.r.i.e. abandons Gentoo and switches to Arch!

Moving away from Gentoo

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 phenomena of “overnight-emerge” – meaning that you begin emerging before going to bed and have the computer work all night. Dependent on how long you sleep and on how big the program(s) you are merging is/are, it may be done when 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.

Arch Linux

Well, Arch Linux is a “simple, light-weight” distribution. Sounds nice, eh? Sure it does. You can have the default basic system with as little as about 650 MB of used space, which is pretty nice. Other than 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 far less complicated). Thanks to the AUR there’s ton’s of programs available for Arch which are not in the official repos. However it is completely user-maintained so there are many PKGBUILDS which are outdated, buggy or even orphaned, no longer maintained by anybody. Still it’s a very nice thing to have!

First impression

Pheakuser suggested using Arch 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 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 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 thinks like that which I really despise and what makes me think that fixed releases really are not such a bad thing…

Working with Arch

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 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) however lacks at least some of its dependencies! Alright 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 it out, anyway. Needs dependencies. Ok, download the PKGBUILDs for those from the AUR, too. Some work, some don’t. Time to take a look at the PKGBUILD. Looks clear and easy to understand. Spend about two hours getting into the PKGBUILD system and trying to fix things. No luck.

Well! Removing all these directories, I decided writing 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… I have no idea why this is not in the wiki! But well, the many hours were not a complete waste of time since I learned quite a bit about Arch in that process.

Downsides of Arch

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 the -dev packages!

Also, like I wrote above, it’s not really easy to get an old package installed. Keeping an old one is no problem. You can easily forbid to update it in pacman.conf. But older packages are simply not kept 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.

What’s next?

The next blog entry will finally start with the desktop tests! Comparison of the modern GTK+ desktops should be ready on sunday.