X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=debian%2Fdiogenes.config;h=02e838a8ae9c0fc6e510b6dd904645b0c9f60b16;hb=2ecf8ecb1b9e2a4097b0d7600a7e7ae1d15e8b6a;hp=c319a47ca1b83f7cec0bb5578f62223bcce0f46b;hpb=fda32171d119d52b371c8e91bb1d9d4d80edff66;p=diogenes.git diff --git a/debian/diogenes.config b/debian/diogenes.config index c319a47..02e838a 100644 --- a/debian/diogenes.config +++ b/debian/diogenes.config @@ -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 @@ -64,7 +107,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