Release diogenes-0.9.22
[diogenes.git] / debian / diogenes.config
index 6cf127f..3602dc8 100644 (file)
@@ -10,6 +10,49 @@ getwwwoption() {
     fi
 }
 
+# migrate pre-dbc debconf values
+migrate_settings() {
+    dumpfile=$1
+    rm -f $dumpfile
+    touch $dumpfile
+    chmod 0006 $dumpfile
+
+    db_get "diogenes/databasemgr_type"
+    dbtype="$RET"
+    if [ "$dbtype" != "Automatic" ] ; then
+        echo "Not migrating manual pre-dbconfig settings"
+        return
+    fi
+    echo "Migrating automatic pre-dbconfig settings"
+    db_get "diogenes/databasemgr_server"
+    if [ -n "$RET" ] && [ "$RET" != "localhost" ]; then
+        echo "dbserver=\"$RET\"" >> $dumpfile
+    fi
+    db_get "diogenes/database_name"
+    if [ -n "$RET" ]; then
+        echo "dbname=\"$RET\"" >> $dumpfile
+    fi
+    db_get "diogenes/database_user"
+    if [ -n "$RET" ]; then
+        echo "dbuser=\"$RET\"" >> $dumpfile
+    fi
+    db_get "diogenes/database_pass"
+    if [ -n "$RET" ]; then
+        echo "dbpass=\"$RET\"" >> $dumpfile
+    fi
+}
+
+clean_settings() {
+    echo "Removing pre-dbconfig settings"
+    db_clear "diogenes/databasemgr_type" || true
+    db_clear "diogenes/databasemgr_server" || true
+    db_clear "diogenes/dbmyadmin" || true
+    db_clear "diogenes/dbadmpass" || true
+    db_clear "diogenes/database_name" || true
+    db_clear "diogenes/database_user" || true
+    db_clear "diogenes/database_pass" || true
+}
+
 
 # Use debconf baby
 . /usr/share/debconf/confmodule
@@ -34,10 +77,20 @@ for i in $webservers ; do nbsrv=`expr $nbsrv + 1`; done
 
 if [ $nbsrv == 1 ]; then
     server=$(echo $webservers | sed 's/,$//')
-    if [ -f /etc/$server/httpd.conf ]; then
-        getwwwoption User /etc/$server/httpd.conf
+    config_file=
+    if [ "$server" == "apache2" ] && [ -f /etc/$server/envvars ]; then
+        envvars_file=/etc/$server/envvars
+        webuser=$(grep "APACHE_RUN_USER=" $envvars_file | sed 's/.*=//')
+        webgroup=$(grep "APACHE_RUN_GROUP=" $envvars_file | sed 's/.*=//')
+    elif [ "$server" == "apache2" ] && [ -f /etc/$server/apache2.conf ]; then
+        config_file=/etc/$server/apache2.conf
+    elif [ -f /etc/$server/httpd.conf ]; then
+        config_file=/etc/$server/httpd.conf
+    fi
+    if [ -n "$config_file" ]; then
+        getwwwoption User $config_file
         webuser=$(echo "$getwwwoption" | sed -e "q")
-        getwwwoption Group /etc/$server/httpd.conf
+        getwwwoption Group $config_file
         webgroup=$(echo "$getwwwoption" | sed -e "q")
     fi
 fi
@@ -58,7 +111,25 @@ fi
 # source dbconfig-common shell library, and call the hook function
 if [ -f /usr/share/dbconfig-common/dpkg/config.mysql ]; then
     . /usr/share/dbconfig-common/dpkg/config.mysql 
+    dbc_first_version=0.9.20-2
+    dbc_oldversion="$2"
+    # check if we are migrating from a pre-dbc version
+    if [ "$dbc_oldversion" ] && [ "$dbc_first_version" ] && \
+        dpkg --compare-versions "$dbc_first_version" gt "$dbc_oldversion"; then
+            migrating="yes"
+       fi
+
+    if [ -n "$migrating" ]; then
+        dumpfile=/etc/diogenes/diogenes.dump
+        migrate_settings $dumpfile
+        dbc_load_include="sh:$dumpfile"
+    fi
+
     dbc_go diogenes $@
-fi
 
+    if [ -n "$migrating" ]; then
+        rm -f $dumpfile
+        #clean_settings
+    fi
+fi