X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=debian%2Fdiogenes.config;h=3602dc85eea358a990659e8fcbd63381809c459b;hb=HEAD;hp=6cf127f97e34495a9b49910ad4bdcb167ad5de97;hpb=7e17ed7462e2978bc760a11661a75bae5ab0beb4;p=diogenes.git diff --git a/debian/diogenes.config b/debian/diogenes.config index 6cf127f..3602dc8 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 @@ -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