Package: txt2pdbdoc Version: 1.4.2-3 Severity: normal Followup-For: Bug #248368
Ben, your analysis is partly correct, but the error is not that db_get does not exist (it does), but what db_get returns (10) and that this is not handled properly. /usr/share/debconf/confmodule actaully synthesises a bunch of do_* functions programattically (read the cryptic loop closely), including do_get. All that these functions appear to go is to echo to stdout the command in upper case, followed by its arguments. This is presumably interpreted by the debconf host program that is talking to the postinst. In this case, setting the first line of the postinst to #!/bin/sh -x yields the following: + . /usr/share/debconf/confmodule ++ '[' '!' '' ']' ++ exec /usr/share/debconf/frontend /var/lib/dpkg/info/txt2pdbdoc.postinst configure 1.4.2-2 + . /usr/share/debconf/confmodule ++ '[' '!' 1 ']' ++ '[' -z '' ']' ++ exec ++ DEBCONF_REDIR=1 ++ export DEBCONF_REDIR ++ _old_opts=configure 1.4.2-2 ... ++ set -- get GET ++ eval 'db_get () { echo "GET $@" >&3 # Set to newline to get whole line. local IFS='\'' '\'' local _LINE read -r _LINE # Disgusting, but it'\''s the only good way to split the line, # preserving all other whitespace. RET="${_LINE#[! ][ ]}" return ${_LINE%%[ ]*} }' ... ++ set -- configure 1.4.2-2 ++ unset _old_opts + db_get txt2pdbdoc/warning-memcard + echo 'GET txt2pdbdoc/warning-memcard' + local 'IFS= ' + local _LINE + read -r _LINE + RET=10 txt2pdbdoc/warning-memcard doesn't exist + return 10 Note in particular the synthesis of db_get in confmodule and its subsequent invocation in txt2pdbdoc.postinst. Maintainer: I don't know debconf well enough to interpret what's happening here, but my wild guess is that the postinst script is supposed to deal sensibly with the "return 10", rather than just let it fall through to the invocation environment. Even if the "return 10" is the result of some other problem that is not supposed to be occurring, presumably it is the responsibility of the postinst to report the error message to the user? - Raz -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.0-1-686 Locale: LANG=C, LC_CTYPE=C Versions of packages txt2pdbdoc depends on: ii debconf 1.4.25 Debian configuration management sy ii libc6 2.3.2.ds1-12 GNU C Library: Shared libraries an ii perl 5.8.4-1 Larry Wall's Practical Extraction -- debconf information: * txt2pdbdoc/warning-memorycard: