Hi,

there's again something I couldn't figure out in the documentation, and
my knowledge of C is to poor to understand dpkg's or dpkg-deb's
sourcecode. I have tried a patch to tetex-bin's configure script (see at
the end). The patch does what it's supposed to do (see #208408 if
interested). But the question I fiddled with is asked twice: Once when I
expect it, after the line 

Unpacking tetex-bin (from tetex-bin_2.0.2-4.3_i386.deb) ...

has been displayed, together with all other debconf questions. Then
comes "Setting up..." of an other package, and then it is shown a second
time when the line

Setting up tetex-bin (2.0.2-4.3) ...

is displayed. To be exactly, just before that, and it's before the
postinst is called (because redirected postinst output doesn't get
spoiled by dialog). I made sure that the seen flag is true after the
first time. Also, the answers I made are remembered. So how come that it
is asked the second time? BTW I do this in a pbuilder-sid-environment,
but the package was build on my working machine which is mixed
woody-bunk1 with a lot of own backports.

I would be grateful for any hints.

TIA, Frank



--- debian/config.orig  Wed Sep 10 19:42:28 2003
+++ debian/config       Wed Sep 10 19:44:37 2003
@@ -1,5 +1,7 @@
 #!/bin/sh -e
 
+DEFAULTS="french[=patois], ngerman[=naustrian-neue_Rechtschreibung]"
+
 # Use debconf.
 . /usr/share/debconf/confmodule || exit
 db_version 2.0
@@ -52,6 +54,38 @@
 db_go
 db_get tetex-bin/use_debconf || true
 if [ "$RET" = "true" ]; then
-db_input medium tetex-bin/hyphen || true
-db_go
+               db_fget tetex-bin/hyphen seen
+    # has this question been seen? If yes, we want to make the 
+    # values chosen part of the default
+               if [ "$RET" = "true" ]; then
+                   # inform the user that defaults have changed, and he will 
+                               # have to manually choose (n)german and french
+                               # db_input tetex-bin/hyphenhaschanged || true
+                               db_get tetex-bin/hyphen
+                   # there might still have been no extra pattern selected
+                               if [ -z "$RET" ]; then
+                                               DEFAULT_ANS="$DEFAULTS"         
                
+                               else
+                                               DEFAULT_ANS="$DEFAULTS, $RET"
+                             # This time it's not necessary. But if we ever add
+                       # defaults again, we have to fish out double occurences
+                                       #       DEFAULTS_MERGED="$DEFAULTS, 
$RET"
+                           # DEFAULT_ANS=`echo -n  $DEFAULTS_MERGED | tr -d 
',' | tr ' ' '\n' | sort -u | tr '\n' ',' | sed 's/,$//'`
+                               fi
+               else
+               # the question has never been seen (either fresh install 
+               # or upgrading directly from woody), so there's nothing to keep:
+               DEFAULT_ANS="$DEFAULTS"                         
+               fi
+               db_set tetex-bin/hyphen "$DEFAULT_ANS"
+    # Every user has to see this question, even if he/she has
+    # yet answered the question in a previous upgrade
+               db_fset tetex-bin/hyphen seen false
+               db_input medium tetex-bin/hyphen || true
+#              db_fset tetex-bin/hyphen seen true
+               db_go
 fi
+
+db_fget tetex-bin/hyphen seen
+

-- 
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie

Reply via email to