X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Froundcube-core.config;h=a1ecf4fc8a2e221638499ec0d69ef2c9a4efb7d5;hb=a54f58869f259e3087ca5a1bebd1d4c096c1f99c;hp=c5ef209aa49f1eaa9d1864cebca781df8ee1820b;hpb=92c39ec46fd8ad15a83b42a19fab7cb2e9a59ec9;p=roundcube.git diff --git a/debian/roundcube-core.config b/debian/roundcube-core.config index c5ef209..a1ecf4f 100644 --- a/debian/roundcube-core.config +++ b/debian/roundcube-core.config @@ -10,30 +10,38 @@ db_go || true # Retrieve all available languages instd_langs=$(echo /usr/share/roundcube/program/localization/*/messages.inc | \ sed 's+[^ ]*/\([^ ]*\)/messages.inc+\1,+g' | sed 's+,$++') -# Retrieve the old list -db_metaget roundcube/language languages && oldchoices="$RET" -if [ ! "$oldchoices" ] || [ "$instd_langs" != "$oldchoices" ]; then - db_subst roundcube/language languages $instd_langs - db_fset roundcube/language seen false - # Try to guess the locale - locale=$(echo $LANG | sed 's/[@\.].*//') - if [ -d /usr/share/roundcube/program/localization/$locale ]; then - db_set roundcube/language $locale - else - locale=$(echo $locale | sed 's/_.*//') - if [ -d /usr/share/roundcube/program/localization/$locale ]; then - db_set roundcube/language $locale - else - db_set roundcube/language en_US - fi - fi +db_subst roundcube/language languages $instd_langs +# First try to get the current choice in case of preseeding or if the +# question has already been asked +db_get roundcube/language || true +locale="$RET" +if [ -n "$locale" -a -d "/usr/share/roundcube/program/localization/$locale" ]; then + # We get our answer (db_set should be useless in fact) + db_set roundcube/language $locale +else + # Either we never answered the question or the locale does not + # exist any more. In both cases, we do as if we never seen the + # question. + db_fset roundcube/language seen false + # Try to guess the locale + locale=$(echo $LANG | sed 's/[@\.].*//') + if [ -d /usr/share/roundcube/program/localization/$locale ]; then + db_set roundcube/language $locale + else + locale=$(echo $locale | sed 's/_.*//') + if [ -d /usr/share/roundcube/program/localization/$locale ]; then + db_set roundcube/language $locale + else + db_set roundcube/language en_US + fi + fi fi # Ask the question db_input medium roundcube/language || true db_go || true if [ -f /usr/share/dbconfig-common/dpkg/config ]; then - dbc_dbtypes="mysql, pgsql, sqlite" + dbc_dbtypes="mysql, pgsql" dbc_authmethod_user="password" . /usr/share/dbconfig-common/dpkg/config dbc_go roundcube $@