Code

bugfix: change !=~ expression to not =~
[gosa.git] / gosa-si / debian / gosa-si-server.postinst
index f9031dacedc5d51b49b3c7e78d4b2edf6ffbf3d8..0affbd763ac59466e61909cc6f5dbd4dc3a13203 100644 (file)
@@ -1,5 +1,18 @@
 #!/bin/sh
 
+set -e
+
+. /usr/share/debconf/confmodule
+
+db_version 2.0
+
+for i in hostname database username password rootpw; do
+         db_get gosa-si/$i || true
+               eval $i'="$RET"'
+done
+
+host="127.0.0.1"
+
 #DEBHELPER#
 
 # We exit unless the package is being configured
@@ -11,7 +24,26 @@ case "$1" in
         *)                     exit 0;
 esac
 
+# Setup database
+/usr/bin/mysqladmin -u root --password=$rootpw create "$database" &> /dev/null || true
+/usr/bin/mysql -u root --password=$rootpw -e "GRANT ALL PRIVILEGES ON $database.* to '$username'@'127.0.0.1' identified by '$password'"
+
+# Fix permission
+[ -f /etc/gosa-si/server.conf ] && chmod go-rwx /etc/gosa-si/server.conf
+
+# Apply DB settings to config file
+if [ -w /etc/gosa-si/server.conf ]; then
+  for i in database username password host; do
+    eval 'val=$'$i
+    grep -E "mysql-$i" /etc/gosa-si/server.conf | grep -vE '^ *#' &> /dev/null && sed -i "/\[server\]/,/\[/s/mysql-$i\s*=\s*\(.*\)$/mysql-$i = $val/g" /etc/gosa-si/server.conf || sed -i "
+/\[server\]/ a\
+mysql-$i = $val" /etc/gosa-si/server.conf
+  done
+fi
+
 # Restart daemon
-/etc/init.d/gosa-si restart
+invoke-rc.d gosa-si restart
+
+db_stop
 
 exit 0