Release diogenes 0.9.21
[diogenes.git] / debian / diogenes.postrm
index 3e394d2..620f924 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh -e
-# Horde postrm script using debconf
+# Diogenes postrm script using debconf
 # Originally written for horde by Ola Lundqvist <opal@debian.org>
 # Adapted for horde2 by Nils Rennebarth <nils@debian.org>
 # Adapted for Diogenes by Jeremy LainĂ© <jeremy.laine@m4x.org>
@@ -13,73 +13,73 @@ remove_from_webconfig () {
         servers="$server $servers"
         if [ -s /etc/$server/conf.d/diogenes ] ; then
             rm -f /etc/$server/conf.d/diogenes
-            restart="$server $restart"
+            restart_servers="$server $restart_servers"
         fi
     done
 
     # Restart servers
-    if [ -e /usr/share/wwwconfig-common/restart.sh ] ; then
-        . /usr/share/wwwconfig-common/restart.sh
+    if [ -n "$restart_servers" ]; then
+        for server in $restart_servers; do
+            if [ -x /etc/init.d/$server ]; then
+                if which invoke-rc.d >/dev/null 2>&1; then
+                    invoke-rc.d $server reload
+                else
+                    /etc/init.d/$server reload
+                fi
+            fi
+        done
     fi
 }
 
+# FIXME: do we need to source debconf before the hook?
+# source dbconfig-common shell library, and call the hook function
+if [ -f /usr/share/dbconfig-common/dpkg/postrm.mysql ]; then
+    . /usr/share/dbconfig-common/dpkg/postrm.mysql 
+    dbc_go diogenes $@
+fi
+
 ACTION=$1
 case "$ACTION" in
 remove)
     #
     # Remove Diogenes from the webserver configuration
     #
-    . /usr/share/debconf/confmodule
-    db_version 2.0
+    if [ -f /usr/share/debconf/confmodule ]; then
+        . /usr/share/debconf/confmodule
+        db_version 2.0
 
-    #
-    # Only try to remove Diogenes from the webserver configs if the db key
-    # diogenes/webservers exists. If not, Diogenes had not been installed
-    # correctly so we just skip the webserver part
-    #
-    if db_get "diogenes/webservers"; then
-        remove_from_webconfig
+        #
+        # Only try to remove Diogenes from the webserver configs if the db key
+        # diogenes/webservers exists. If not, Diogenes had not been installed
+        # correctly so we just skip the webserver part
+        #
+        if db_get "diogenes/webservers"; then
+            remove_from_webconfig
+        fi
     fi
     ;;
 
 purge)
-    . /usr/share/debconf/confmodule
-    db_version 2.0
-       
     #
     # Remove ucf-managed files
     #
-    for myfile in /etc/diogenes/apache.conf /etc/diogenes/diogenes.debian.inc.php; do
-        ucf --purge $myfile
-        rm -f $myfile $myfile.dpkg-dist $myfile.dpkg-new $myfile.dpkg-old 
-    done
+    if [ -n "$(which ucf)" ] ; then
+        for myfile in /etc/diogenes/apache.conf /etc/diogenes/diogenes.debian.inc.php; do
+            ucf --purge $myfile
+            rm -f $myfile $myfile.dpkg-dist $myfile.dpkg-new $myfile.dpkg-old 
+        done
+    fi
 
     #
     # If we were asked to, purge Diogenes data
     #
-    db_get "diogenes/purge_removes_data"
-    if [ "$RET" = "true" ]; then
-        # remove files
-        rm -rf /var/spool/diogenes /var/lib/diogenes
-
-        # drop the database if we are Automatic mode
-        db_get "diogenes/databasemgr_type"
-        if [ "$RET" = "Automatic" ] ; then
-            db_get "diogenes/databasemgr_server"
-            dbserver="$RET"
-            db_get "diogenes/database_name"
-            dbname="$RET"
-            # we use the Diogenes user as the "admin", as he is authorized to do a drop
-            db_get "diogenes/database_user"
-            dbadmin="$RET"
-            db_get "diogenes/database_pass"
-            dbadmpass="$RET"
-           if [ -f /usr/share/wwwconfig-common/mysql.get ] && [ -x $(which mysql) ] ; then
-               . /usr/share/wwwconfig-common/mysql.get
-                if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then
-                 status=dropped
-               fi
-           fi
+    if [ -f /usr/share/debconf/confmodule ]; then
+        . /usr/share/debconf/confmodule
+        db_version 2.0
+        db_get "diogenes/purge_removes_data"
+        if [ "$RET" = "true" ]; then
+            # remove files
+            rm -rf /var/spool/diogenes /var/lib/diogenes
         fi
     fi
     ;;