My Gentoo rant

Anything About Anything...
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

My Gentoo rant

Post by Z-Man »

Before Lucifer posts his :) I'm using Gentoo Linux now for over three years; I'm not too unhappy about it, it was a definite improvement over SuSE which I used earlier, but I'm also not too happy and I'm looking for possible replacements.

Here's what I really like about Gentoo:

* It's developer friendly by design. All packets always come with headers and full documentation. You can build binary packages for other distributions with it if you know a bit what you're doing.

* It does not make a fuzz about the licenses of the stuff it has official ebuilds for. It's easy to install vmware, Sun Java and the evil binary NVidia drivers, the proprietary codecs for mplayer, even Doom3 (without the data files, of course).

* The popular ebuilds are always up to date. I know of no other distribution where you can get new stuff, fully integrated into the system, so fast and easily.

* The USE flags allow me to use the same basic distribution on my server, the digital video recorder and the two "workstations". They share some scripts easily, I made it so that packages are downloaded only once even if they're installed on multiple PCs, all the goodness of a homogeneous network.

* I get to pick on a per-package basis whether I want a stable or a testing version.

Stuff I don't care too much about is the long installation time of some packages and the tiny optimizations you may get by fine tuning compilation flags; that's mostly a placebo effect anyway.

What drives me mad, on the other hand:

* The upgrade policy. It's "Install the new version, remove the old version, tell the user what he has to do manually to fix what the removal of the old version broke." Not only do you have to manually run this "revdep-rebuild" tool that detects broken references to old dynamic libraries, you also have to run some libtool replacement thing that I always forget about until it bites me again and I have to find out by googling the error message. That would be OK if you just had to run these tools without parameters, no problem with that. But that libtool repair tool requires you to give the full name of the OLD library that, great, just has been deinstalled and by the time you notice you have no way of finding out what it was called. revdep-rebuild runs through only in very rare cases; you have to manually intervene and reinstall the packages that broke by hand. Topping that, you get told you have to have to run this-and-that repair tool (I haven't mentioned rebuilding Python object code files if you install a new version of Python and other goodies), you get told to do so, if you're lucky, in some small post-install message that usually gets lost in the build log of the next packet (yeah, they're also in a special file somewhere without all the clutter, but who reads that?)

* Dependency gridlock. I stopped to count how many times I have version X of A installed and want to upgrade to version Y, but version Y depends on version Z of B, and version X of A blocks Z of B, so I manually have to uninstall A and reinstall it to resolve the lock.

* Manual configuration file update. After installing new packets, there's a neat-in-theory tool (in fact, two of them) to update the files in /etc for the new version. Problem: it doesn't work nearly as good as, say, "svn merge". I often need to approve changes to files I never even touched, and I need to manually merge my changes with upstream changes piece by piece for every file I did edit, even when only the header was adapted to the new version. Often, programs will not run without this upgrade process.

* No "security only" updates. Security updates can be automated in theory, but the security list is basically a list of packets and versions affected by security problems together with build instructions for a fix. The problem is that as a fix, you always get the most up to date version. So all the goodness of the previous rant points is in full effect for security updates, with the result that they can break your system, with the result that you can't have them applied automatically in a reliable way.

* Old versions of packages disappear really fast from the portage tree. That means if your last upgrade is a few months old, you can't upgrade to a new version and be sure you can safely revert to the last known working version when things go bad. This is especially bad for laptops if you want power management to work completely. The proper working of my laptop's WLAN interface depends on the kernel, ndiswrapper, the windows driver and the OS driver (to upload the firmware). Any breakage in any of these components, and I'm cable bound (and was for the past two years until I noticed the firmware trick with the OS driver, before it worked fine with just ndiswrapper).

* not-so-popular software is not up to date. For that, you get better support with a really popular binary based distribution that the software distributor itself is likely to support directly.

With all that, the up-to-dateness of the ebuilds is a moot point. What use is it if you don't upgrade at all, knowing from experience that chances are high the upgrade will break stuff and you'll spend hours fixing it (after the upgrade itself already taking some hours)?

Yeah, that was my rant. As I said, I'm looking into alternatives. Debian based systems, with external repositories to work around the Free Software only restriction, look most promising; I've had the least trouble with Debian and Ubuntu when testing them in vmware for Armagetron autopackge compatibility. I'm a bit turned off by Ubuntu; we have it here at work and most development manpages plainly don't exist (is this just a setup problem? Are there extra packages for manpages?), the installed version of Firefox really likes to crash a lot, and building RPM packages fails for very mysterious reasons (it can't find the source tarball even if it plainly exists where the error message says it's looking for it). Are there good distributions out there for lazy developers? I mainly want a non-breaking system with easy access to tons of reasonably up to date software with headers and documentation and I don't want to do too much system maintenance work.
epsy
Adjust Outside Corner Grinder
Posts: 2003
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Re: My Gentoo rant

Post by epsy »

z-man wrote:I'm not too unhappy about it.
Image
User avatar
belenus
Round Winner
Posts: 269
Joined: Wed Nov 30, 2005 6:22 pm
Location: Cologne
Contact:

Post by belenus »

lol?

Well, as much as I would like to be able to help you, but afaik you would have to put away some 'pros' of Gentoo to get rid of some 'cons'.

Afaik Suse, Debian, Ubuntu, Fedora etc. all ship sources/headers in separate packages... but none can be kept up-to-date and upgraded from version to version very easily without reinstalling even though the option is there.

Personally I like OpenBSD very much and am following current without any issues so far... but OpenBSD got a lot of cons which you mentioned above... so it would probably be nothing for you. =)
- bel
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Yeah, belenus got the dilemma about right. Note that I'm not really updating my stuff frequently at all, about once or twice a year, so the possibility to keep my system on the bleeding edge doesn't seem that important to me anyway; but there are exceptions. Like being able to install the latest version of SWIG that our current trunk requires; for all other systems I know, I would have had to install a third party package with all the problems that brings.

OpenBSD does one thing better, I think: the whole system is one piece; if you follow current, all your software is forced to be updated all of the time, and you get snapshots thereof. I'd run into compatibility problems on my laptop with that approach, though.

Is there perhaps a hybrid approach? Have a Debian/Red Hat base system, and have a limited set of up-to-date, source-installed software in a separate directory? Darwinports comes to my mind, it does exactly that for OS X. Proper dependency tracking would be crucial; packets available in the base system shouldn't be installed from source.

Or would it be possible to, say, have the bulk of your system from Debian stable and some selection from Debian testing without major headaches? Edit: It is.
User avatar
belenus
Round Winner
Posts: 269
Joined: Wed Nov 30, 2005 6:22 pm
Location: Cologne
Contact:

Post by belenus »

z-man wrote:about once or twice a year, so the possibility to keep my system on the bleeding edge doesn't seem that important to me anyway;
Heh... there is a stable release every 6 month for OpenBSD... :D ...but as I said earlier... it hasn't got too many of your things mentioned as 'pro'
- there is no hardware 3d accel
- you can not run vmware server on it (qemu works nice tho)
- sun java has to be compiled from ports (due to license limitations)
z-man wrote:OpenBSD does one thing better, I think: the whole system is one piece; if you follow current, all your software is forced to be updated all of the time, and you get snapshots thereof.
Yep, you can just turn on your system, enter "bsd.rd" at boot prompt and update the whole base system including X11 to the latest snapshot/release from your favorite FTP server or harddisk in case you already downloaded the packages. After that you do a "pkg_add -ui -F update -F updatedepends" and all installed packages are updated too.
z-man wrote:I'd run into compatibility problems on my laptop with that approach, though.
Huh, please elaborate...
z-man wrote:Is there perhaps a hybrid approach?
afaik ... no ... but I would be happy to be proven wrong, for your sake. =)
- bel
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

The release frequency, apart from setting a lower limit on the average, has little to do with the up-to-dateness of the software.
belenus wrote:
z-man wrote:I'd run into compatibility problems on my laptop with that approach, though.
Huh, please elaborate...
Only a non-educated guess. See the original post as to what is required to get my wireless card running in Linux. I don't suppose the situation would be better in OpenBSD :) And yeah, no 3D-acceleration is a definite exclusion criterion, at least for the two workstations.
User avatar
belenus
Round Winner
Posts: 269
Joined: Wed Nov 30, 2005 6:22 pm
Location: Cologne
Contact:

Post by belenus »

z-man wrote:See the original post as to what is required to get my wireless card running in Linux. I don't suppose the situation would be better in OpenBSD :)
I can't find it, however... OpenBSD has one of, if not the best, support for WLAN hardware but since there is no 3D accel... nothing for you. =)

Since I also play MMORPGs I use Windows for playing, OpenBSD for almost all other stuff.

If I would use Linux it probably would be (K)Ubuntu or the upcoming Debian 4.0. Tried Gentoo once or twice but it was going on my nerves very quickly that I had to compile everything from scratch.
- bel
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Well, I had upgrade problems with Kubuntu that looked like they were general Ubuntu problems. So while I had the best user experience with Kubuntu that I've had with anything else, the upgrade was a disaster.

I'd recommend Mandriva. The latest version, which I installed on my laptop, does almost everything fine. The thing with Mandriva is there's always one thing that's really broken. This time it appears to be printing. :(

Anyway, the approach I've finally taken with binary distributions is that I install from the distribution packages all the stuff I use. The stuff that I really follow, I install from source. Right now that's mostly games, but I play some of the games that come with Mandriva too. As long as the software supports a prefix option to install, it works out fine, and that's such a standard option these days that I'm not having any problems with it anymore. But I usually run the stuff I build from the build directories anyway.

For us, here, it would be best if you went with a Ubuntu-based distribution, though. :) So you can build packages for it. Anyway, if you find a good binary distribution, I'm curious what you end up with, because I'm not married to Mandriva.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

I use Gentoo... I'm just going to stick with it. Any difficulties I'll beat with a wrench until it works. The main reason why is on most of my computers it's a minimal install anyway and doing this with Gentoo is really easy to copy from HD to HD (Stage4) and I dunno I just sort of like it. Beats the hell out of Fedora for me.
Image
User avatar
wrtlprnft
Reverse Outside Corner Grinder
Posts: 1679
Joined: Wed Jan 04, 2006 4:42 am
Location: 0x08048000
Contact:

Post by wrtlprnft »

Yeah, copying over an instllation is a big plus. All you need to do is edit fstab and build a matching kernel, that's it.

Generally I think gentoo's transparency is a big plus. You don't have some big fancy GUI thing handle dozens of config files, you have to do that yourself, and that way you know what you need to change :)
There's no place like ::1
Walking Tree
Match Winner
Posts: 641
Joined: Sun Jul 10, 2005 9:14 am

Post by Walking Tree »

Have a look at Frugalware.

it:

* is developer friendly in the same way as gentoo
* has a non-regular, faster-than-debian release cycle
* has a fair amount of packages available, not caring about licenses
* builds packages from simple shell script-like files with a lot of simple macroes.
* gives you clean upgrades
* uses vanilla source where possible
* has an extremely bleeding edge called "current" which includes a Gnome development snapshot most of the time.
* doesn't have working x86 libraries on amd64 yet, but this will have changed by the next release (reason I'm not using it at the moment)
* had an armagetronad package created by me, which got stuck in the BTS
on the grid as ~free::zombie~
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

Oh yeah Frugalware is supposed to be pretty good, I know a developer.
Image
User avatar
Revan
Core Dumper
Posts: 134
Joined: Mon Aug 01, 2005 11:30 am
Location: War Zone.
Contact:

Post by Revan »

Wait till luke sees this. He's a Gentoo purist.

Me: Ugh, I can't find arma 2.8.1 for ubuntu. Do you know how I can get it?
Luke: emerge armagetronad
Me: Yeah, funny...

Oh, and z-man, Macs usually work. But then again, when they don't work the user gets a bit mental.

Mac user: OMG!! WHY WONT ARMA WORK WITH MY MAC
Me: Ok, well, we can solve the problem. Open your terminal-
Mac user: TERMINAL? WTF IS THAT?!
America is all about speed. Hot, nasty, badass speed.
-Eleanor Roosevelt, 1936
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Re: My Gentoo rant

Post by Luke-Jr »

z-man wrote:The upgrade policy.
Planned solution for Utopios: Allow installing the different versions side-by-side any only remove the old one when the replacement is binary compatible, or nothing else needs it.
As for the messages, Portage does have ELOG which can email you them.
z-man wrote:Dependency gridlock.
I enjoy use of --nodeps on occasion.
z-man wrote:Manual configuration file update.
Planned Utopios solution: Include custom config upgrade scripts; in many cases (like KDE), this is a simple noop.
z-man wrote:No "security only" updates.
Planned Utopios solution: Every x years, a new "stable" profile that only includes bugfixes, like Debian.
z-man wrote:Old versions of packages disappear really fast from the portage tree.
FEATURES=buildpkg
emerge -K program
z-man wrote:not-so-popular software is not up to date.
Planned Utopios solution: don't be as strict as Gentoo; easy forking; etc
z-man wrote:Yeah, that was my rant. As I said, I'm looking into alternatives.
Well, Utopios might be usable sooner with more hands/heads working on it ;)
z-man wrote:Debian based systems, with external repositories to work around the Free Software only restriction, look most promising;
You do realize Debian has a nonfree repository?
z-man wrote:I mainly want a non-breaking system with easy access to tons of reasonably up to date software with headers and documentation and I don't want to do too much system maintenance work.
Unfortunately, Gentoo is the best I'm aware of at this point, even if it does suck.
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

z-man wrote:Or would it be possible to, say, have the bulk of your system from Debian stable and some selection from Debian testing without major headaches? Edit: It is.
Not really. You'll get binary incompatibility issues. I've tried it.
Walking Tree wrote:Have a look at Frugalware.

it:

* doesn't have working x86 libraries on amd64 yet, but this will have changed by the next release (reason I'm not using it at the moment)
I think it's stupid to have 32-bit mode on a 64-bit CPU.
Walking Tree wrote:had an armagetronad package created by me, which got stuck in the BTS
Why do none of you apply for official AA pkg maintainership position? :p
Post Reply