action="$1"
cur_version="$2"
this_version='#VERSION#'
+pt_BR_fixed_version="20080616"
if test -f /etc/ca-certificates.conf; then
CERTSCONF=/etc/ca-certificates.conf
# mark seen true, so that dont ask again while postinst
db_fset ca-certificates/new_crts seen true
-db_set ca-certificates/enable_crts "$CERTS_ENABLED"
-db_subst ca-certificates/enable_crts enable_crts "$CERTS_AVAILABLE"
-if test "$seen" != true; then
- db_fset ca-certificates/enable_crts seen false
+# Ideally, we would be able to ask debconf for the language it's using, or
+# at least have a shell binding for setlocale(). Since we don't, we have to
+# do it all by hand.
+is_pt_BR () {
+ current_lc_messages="$(eval `locale`; echo "$LC_MESSAGES")"
+ case "$LANGUAGE" in
+ pt_BR*)
+ return 0
+ ;;
+ *)
+ case "$current_lc_messages" in
+ pt_BR*)
+ return 0
+ ;;
+ esac
+ esac
+ return 1
+}
+
+PRIO=low
+set_values=true
+
+if dpkg --compare-versions "$cur_version" lt-nl "$pt_BR_fixed_version"; then
+ asked="false"
+ if db_fget ca-certificates/enable_crts asked_pt_br_question; then
+ asked="$RET"
+ fi
+ if [ "$asked" != "true" ]; then
+ if [ -e "/etc/ssl/certs/ca-certificates.crt" ] && [ ! -s "/etc/ssl/certs/ca-certificates.crt" ]; then
+ pt_seen="false"
+ if db_fget ca-certificates/enable_crts seen; then
+ pt_seen="$RET"
+ fi
+ if [ "$pt_seen" = "false" ]; then
+ CERTS_ENABLED="$CERTS_AVAILABLE"
+ elif is_pt_BR; then
+ PRIO=critical
+ CERTS_ENABLED="$CERTS_AVAILABLE"
+ seen=false
+ else
+ seen=true
+ fi
+ fi
+ else
+ set_values=false
+ fi
fi
-db_title "ca-certificates configuration"
-db_input low ca-certificates/enable_crts || true
-db_go
+
+if [ "$set_values" = "true" ]; then
+ db_set ca-certificates/enable_crts "$CERTS_ENABLED"
+ db_subst ca-certificates/enable_crts enable_crts "$CERTS_AVAILABLE"
+ if test "$seen" != true; then
+ db_fset ca-certificates/enable_crts seen false
+ fi
+ db_title "ca-certificates configuration"
+ db_input $PRIO ca-certificates/enable_crts || true
+ db_go
+
+ if [ "$PRIO" = "critical" ]; then
+ db_fset ca-certificates/enable_crts asked_pt_br_question true
+ fi
+fi
+
exit 0