debian/littlebird-tc-sql.postinst
changeset 14 1267d8034336
parent 11 24417d8949b5
child 17 d6923e55cfae
--- a/debian/littlebird-tc-sql.postinst	Thu Sep 01 12:28:28 2011 +0200
+++ b/debian/littlebird-tc-sql.postinst	Fri Sep 02 01:13:25 2011 +0200
@@ -20,6 +20,8 @@
 
 _mysql() { mysql -h"$host" -u"$adminuser" -p"$adminpass" "$@"; }
 
+tmp=`mktemp`
+trap "rm -f $tmp" EXIT INT QUIT TERM
 
 case "$1" in
     configure)
@@ -33,10 +35,14 @@
 		db_get littlebird-tc/db/name && name="$RET" || true
 
 		# check admin access
-		_mysql -e "" mysql || {
-		    echo "Access to mysql database failed!" >&2
+		if ! _mysql -e "" mysql 2>$tmp; then
+		    db_subst littlebird-tc/db/failure message "`cat $tmp`" || true
+		    db_subst littlebird-tc/db/failure name "$name" || true
+		    db_subst littlebird-tc/db/failure host "$host" || true
+		    db_input critical littlebird-tc/db/failure || true
+		    db_go || true
 		    exit 1
-		}
+		fi
 
 		if _mysql -e "" "$name" 2>/dev/null; then
 		    db_subst littlebird-tc/db/exists name "$name" || true