Note: Please excuse the crappy formatting. <pre> causes wordpress to break, so i'm fixing that right now
Anyone who knows me personally knows that I am an advocate of Gentoo. Linux ricer? Sure, why not, I live for those minute speed advantages. I also, perhaps masochistically, prefer building every package from source, and compiling kernels built just for my machine. Portage, when I first started using Gentoo, seemed like a good package management system. I was familiar with FreeBSD's ports system, and this was similar, so it was a smooth transition. The way Gentoo and portage functioned as a whole allowed me to keep a minimalist linux install, while providing all the tools I needed for whatever task.
Why, then, am I dumping Gentoo, and for kubuntu of all distros? In a few short words: Portage, lack of direction, outdated support, and a few other issues that are not as signifigant that I will mention below.
Portage
Ah yes, Portage. The almost essential tool to pull in dependancies, update packages, and for all around maintenance of your box. In theory. Portage is a joke in functioning properly. Without citeing specific sources, and speaking from my own personal experience, these are the most common issues I've had with Portage:
Ignoring package version specifications
Blocked packages that don't make any sense for being blocked
Constant changes in the way portage functions
Installing libraries into seemingly random locations, and often not in locations where they should be
Obscure errors ("emake failed"? that's helpful)
Unclear dependancy trees
Using USE flags I don't have specified, or not using USE flags I do have specified
Errors that really should have been warnings that result in me wasting 15 hours of compilation time
Unfortunately, there are other issues that I can't recall currently. So, starting from the top, often times when I specifie a version to use in /etc/portage/package.keywords, it's completely ignored. Perhaps this isn't the place to specify versions, in which case portage needs a file for this purpose. Regardless, even specifying emerge =catgegory/package-version has never worked properly for me, whether downgrading or upgrading a package. Anything I could find on google about this didn't help, and a long time Gentoo using friend of mine told me "yea.. it's just one of those things that doesn't work right", and the isohunt.com system administrator left me with the simple "you're an idiot". Whether user error or not, a clearer way to solve this issue would have been nice.
The issues with blocked packages are numerous. Portage even has a case for redundant blocking, which is almost ridiculous, as that shouldn't happen to begin with. This may be an issue with the package maintainers, which is another issue in and of itself. Regardless, often times you will see some package blocking something else out of no where when no known conflicts exist, or, my personal favorite, blocking a newer version of itself. This issue has cost me a few hours of compilation time because more often than not, i need to uninstall everything that is being blocked, install the packages that are being blocked, and then reinstall what i uninstalled. It's a horrible process, and something that needs to be fixed immediately in Portage.
Portage doesn't change too often thankfully, but when it does, new, seemingly random or useless changes are introduced. Deprecated flags are the most common occurance. I understand changing names of things to perhaps be more clear in their functionality, but I do not enjoy seeing messages scroll by about deprecated flags. Guess what? They still function the same! There are other things related to this, such as Portage not being able to keep track of overlays properly, requiring me to run emerge --regen after each --sync. Why Portage can't do this itself is beyond me, but it's only a minor annoyance.
This one is always fun. Do you like your system to have 5 copies of every library compiled? I sure don't, but Portage does!
I don't really have much to say about this, as I don't know why it does this, but there has to be a purpose behind it. Either way, I do not enjoy having a /lib/, /usr/lib, /usr/local/lib and so on, that all contain the same libraries (and no, these directories are not symlinks). In addition to this, Portage will install libraries into completely random and unexpected locations.
These obscure errors are perhaps the most annoying thing about Portage. Errors do happen, but when they do, I'd like to get some sort of a hint as to how to fix it. Instead, I see a cc line, and then *bam* error. Great, no problem, I'll just see what I can find on google. Wait, "emake failed"? "package died unexpectedly"? This is one reason I stopped using WINDOWS! Come on Gentoo developers, I know you can do better than this.
Then there is the obscure dependancy tree. Want to see what requires what? Great, run emerge -vpt package, and it will give you an indented list. But wait, why is xchat pulling in audacious? Who knows! Try setting -audacious to that package; try setting it in make.conf to your global USE flags, all to no avail! Thankfully, this particular issue turned out to be a package maintainers error. Too bad he masked the fixed package! Aside from this, it's not always clear what, or why certain dependancies are being pulled in, and the tree used to display them presents the packages to be installed in a different order than they will be, so it can be misleading from time to time if you're trying to solve one of those obscure bugs.
And last, but not least: USE flags being ignored, or pulled in from no where. I tend to think this is the error of package maintainers, but it does happen quite frequently. I really don't have to say about this issue, other than it's a huge problem that is very frustrating, especially if you're trying to update a package that requires another package that is hard masked, and one that you specifically don't have a USE flag set for for that reason.
Lack of direction
I don't have a whole lot to say on this, other than I know recently there have been some issues over the leadership of Gentoo. I'm finally feeling the repercussions of this, in that you can see it in the "quality" of the products; portage being one of them. It almost seems like the developers are fighting over what's best and how to do things and so on and so forth. In addition to this, there was a kernel developer who was working on his own kernel to provide better desktop performance - he stopped doing this because none of the other kernel developers wanted to work with it. They were more interested in squeezing every last drop of server performance out of theirs. There is also the issue of the many different kernel packages. Choice is great, but this was almost ridiculous, because anything that wasn't gentoo-sources, was not supported by Gentoo for various reasons. Vanilla-sources, for example, is unsupported by gentoo security, but I have to wonder why they bother putting it in portage if they won't support it. Just my opinion.
Outdated support
This is a biggie. Gentoo has a lot of sources on documentation and guides and such, but most of them are completely outdated. This could very well be a part of that lack of direction, or lazyness on the documenters side; I don't know. The first one a person is likely to notice is that the installation guide hardly matches the current install process. The kernel configuration steps, for example, and completely different than what is presented to the user. There is also the issue of different support threads linking all over to newer support threads. Why they can't just update the current ones confounds me. This is a HUGE issue - does Gentoo not want new users?
Gentoo was once fun for me. It provided a brief challenge in the beginning, and I was able to make good use of the tools provided to me. Over time, however, my entire experience degraded into painful hours of wasted time and effort to get a half-functioning system. These are my most major reasons for dumping Gentoo - but why move to Kubuntu?
K/X/*/Ubuntu are all very nice desktop systems. They are easy to install and configure, have excellent support (I often used Ubuntu's support forums to solve issues on Gentoo), and are just an all around great product. The one thing I don't like about it, unsurprisingly, is apt. Apt really annoys me more than portage, however, not because apt doesn't function properly, but simply because of how it functions. I do not enjoy downloading keys so I can install a binary blob of some package, and apt-cache really gets on my nerves. It is for this reason that I am going to take the masochistic route, and compile most of my packages from source. Things like KDE i'll keep in apt because it will be much easy for me in the long run. I know initially I will be annoyed with the workings of Ubuntu, but anything is better than Gentoo at this point.