Package: mysql-common Version: 5.0.32-7etch1 Severity: normal
I run multiple mysqld instances on the same machine. Each uses a separate config file. None of them use /etc/mysql/my.cnf which doesn't exist on this system. On upgrade, the mysql-common preinst gets the datadir from /etc/mysql/my.cnf (mysqld --print-defaults | ...) then runs find on the result. Since there is no my.cnf the resultant shell variable is empty and find uses $PWD (which seems to be /). As this was taking rather a long time I just killed find. I've worked around this by creating a dummy my.cnf containing a fake datadir entry. I've also prepared a fix to the preinst which checks that the datadir exists before running find: --- mysql-common.preinst 2007-11-27 10:00:14.000000000 -0500 +++ mysql-common.preinst.fixed 2007-11-27 10:17:25.000000000 -0500 @@ -150,7 +150,7 @@ if [ "$1" = "upgrade" ] && [ -x /usr/sbin/mysqld ]; then cvt_datadir=`cvt_get_param datadir` # test for ISAM tables, which we must convert NOW - if [ -n "`find $cvt_datadir -name '*.ISM' 2>/dev/null`" ]; then + if [ -n "$cvt_datadir" ] && [ -d "$cvt_datadir" ] && [ -n "`find $cvt_datadir -name '*.ISM' 2>/dev/null`" ]; then pidfile=`cvt_get_param pid-file` if [ "$pidfile" ] && [ -f "$pidfile" ]; then server_pid=`cat $pidfile` -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-5-686 Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]