Package: backupninja
Severity: minor
Version: 0.9.4-6

Attached is a patch to fix a fairly irritating (though not, as far as I can
tell, fatal) problem in the MySQL handler.  Instead of doing half-baked
things with stripping the word 'Databases' out of the output, we instead
explicitly ask MySQL not to give us the header (-N) and also to not draw
pretty boxes around the output (-B).  We also send the query in via -e
instead of a pipe because it's cleaner.  Finally, because sometimes MySQL
doesn't really listen to -B[1], we strip out the box if it was drawn anyway
with a tasty bit of sed.

- Matt

[1] It's not even MySQL version dependent -- I had an x86_64 machine draw
the box while an i386 machine running the same packaged version not draw the
box when given an identical command line.  I have *no* idea how that
happens.
diff -u backupninja-0.9.4/handlers/mysql backupninja-0.9.4/handlers/mysql
--- backupninja-0.9.4/handlers/mysql
+++ backupninja-0.9.4/handlers/mysql
@@ -237,7 +237,7 @@
                fatal "Authentication problem, maybe user/password is wrong or 
mysqld is not running?"
            fi
        else
-               databases=`echo 'show databases' | su $user -c "$MYSQL 
$defaultsfile" | grep -v Database`
+               databases=$(su $user -c "$MYSQL $defaultsfile -N -B -e 'show 
databases'" | sed 's/|//g;/\+----/d')
                if [ $? -ne 0 ]
                then
                    fatal "Authentication problem, maybe user/password is wrong 
or mysqld is not running?"

Attachment: signature.asc
Description: Digital signature

Reply via email to