start handling settings migration
authorJeremy Laine <jeremy.laine@m4x.org>
Sun, 5 Nov 2006 14:17:02 +0000 (14:17 +0000)
committerJeremy Laine <jeremy.laine@m4x.org>
Sun, 5 Nov 2006 14:17:02 +0000 (14:17 +0000)
debian/diogenes.config
debian/diogenes.templates

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
 
index 0bb5f46..f76cd7d 100644 (file)
@@ -15,7 +15,7 @@ _Description: Welcome to the Diogenes setup program
 
 Template: diogenes/purge_removes_data
 Type: boolean
-Default: true
+Default: false
 _Description: Remove web site data after "purging" the diogenes package?
  Should the data that makes up Diogenes's web sites be removed when
  the diogenes packages is purged with the "dpkg --purge diogenes" command