start handling settings migration
[diogenes.git] / debian / diogenes.config
index 089b92e..02e838a 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
@@ -69,8 +112,20 @@ if [ -f /usr/share/dbconfig-common/dpkg/config.mysql ]; then
     # 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
-        echo "WE ARE MIGRATING"
+            migrating="yes"
        fi
+
+    if [ -n "$migrating" ]; then
+        dumpfile=/etc/diogenes/diogenes.dump
+        migrate_settings $dumpfile
+        dbc_load_include="sh:$dumpfile"
+    fi
+
     dbc_go diogenes $@
+
+    if [ -n "$migrating" ]; then
+        rm -f $dumpfile
+        #clean_settings
+    fi
 fi