Category: Gentoo

I received this lovely message when updating a Gentoo system today:


* MySQL DATADIR is /var/lib/mysql
* Previous datadir found, it's YOUR job to change
* ownership and have care of it
* Sorry, plain up/downgrade between different version of MySQL is (still)
* un-supported.
* Some gentoo documentation on how to do it:
* http://www.gentoo.org/doc/en/mysql-upgrading.xml
* Also on the MySQL website:
* http://dev.mysql.com/doc/refman/4.1/en/upgrading-from-4-0.html
*
* You can also choose to preview some new MySQL 4.1 behaviour
* adding a section "[mysqld-4.0]" followed by the word "new"
* into /etc/mysql/my.cnf (you need a recent MySQL version)
*
* MySQL-dev-db/mysql-4.0 found, up/downgrade to "dev-db/mysql-4.1" is unsupported
* export MYSQL_STRAIGHT_UPGRADE=1 to force
!!! ERROR: dev-db/mysql-4.1.14 failed.
!!! Function pkg_setup, Line 123, Exitcode 0
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

The purpose of a package management system is to reduce the amount of manual configuration for the installation, upgrade, and removal of software. While portage has a lot of interesting features and capabilities, there seems to be a fundamental problem with the way package maintainers manage software upgrades. They seem to have no problem with breaking existing configurations for the sake of upgrading to the latest version. I”m fine with providing the latest versions of software packages, but do not expect manual configuration besides the usual etc-update procedures.

When thinking about package upgrades, maintainers should think in terms of WWRHD? (What would Redhat Do?) Do you think Redhat would ever have an update for mysql that requires users to read a bunch of docs to not break their existing configuration? I”m not saying Redhat is a good choice for package management, rpm is a plague, and up2date is simply craptastic, but Redhat is a good example as far as configuration stability in terms of not breaking existing configurations with updates.

I have no problem with requiring manual configuration with OS version upgrades, even though it should be avoided, but it is ridiculous to expect manual configuration for a basic software update using a modern package management system.

Ubuntu

For the past few years I’ve been a dedicated Gentoo user for my desktop machines. Gentoo has a great amount of flexibility when compared to many other Linux distributions. Ubuntu appeared out of nowhere a few years ago to become the most talked about distribution in recent memory. After installing Ubuntu a few times on test machines, I recently decided to switch my laptop to the latest unstable Ubuntu release, breezy badger.

Ubuntu is really slick, its a nice combination of ease of use and flexibility. The unstable versions tend to be much more bleeding edge than any other distribution available. Since its based on Debian, all the familiar tools are there plus a ton of slick easy to use tools for upgrades and adding new programs.

My main reason for switching to Ubuntu is the inclusion of many mono based applications. Nearly all of the most exciting Linux desktop application development is being done with mono. Using the latest Ubuntu development release, I can install Beagle, Tomboy, F-Spot, and Banshee without dealing with a bunch of third party packages or portage overlays like Gentopia.

The Gentoo WIKI has a nice HOWTO for installing Beagle on Gentoo powered machines. Beagle is an open source project to create an intuitive search feature for Gnome. The project has the same goals as Apple’s Spotlight in Tiger. Beagle was announced a few days before the Spotlight but Microsoft pushed for desktop search early when it announced Longhorn and WINFS quite some time ago.

Now there are a bunch of third party desktop search tools for windows. I tried to install Google Desktop Search on a windows vmware image the other day but I got this lovely message. 1GB! Even LionShare doesn’t require that much disk space..