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)
* Some gentoo documentation on how to do it:
* Also on the MySQL website:
* 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.