One of my big complaints about Gentoo is how they can’t seem to do the same thing on two different days.
Portage is easy until they mess with it. Take, for instance, MySQL. I was upgrading PHP my test box to 5.1, and I figured I would go ahead and upgrade to My5 to take advantage of all the new features in some of the apps I’m working on. Unfortunately, someone at Gentoo who builds the MySQL ebuilds decided to do some weird “slotting” thing wherein they allow you to have multiple MySQL installations on the same box. So Portage was installing everything as “mysql-500” instead of “mysql” like it should. It also didn’t install a corresponding init script, making it essentially useless lest I have to go make my own init.
In Googling about to find a solution for the problem, I find that “Due to the negative response from our user base, the MySQL team has decided to go back to unslotted MySQL.” They simply haven’t delegated the updated packages to all the mirrors yet (I synced before attempting) and still have the packages masked. So I had to unmerge the MySQL package I had installed, unmasked the working unslotted packages, and reemerge the newer “unslotted” version.
This really sucks because this situation should never have happened. A change like this should never have been merged into the main tree without having been tested among a group of users to find their input. Instead, this package was put into the main tree to wait for the general userbase’s comments. It’s what I call the “Microsoft Method” of software development: why bother with testing when you can have your users test it for you?