On Thu, Aug 13, 2009 at 11:55:06PM +0200, Kurt Roeckx wrote: > Adding the -x, I get: > (Reading database ... 9937 files and directories currently installed.) > Removing ca-certificates ... > Purging configuration files for ca-certificates ... > + rm -f /etc/ssl/certs/ca-certificates.crt > + remove_dangling_symlinks > + [ -d /etc/ssl/certs ] > + echo -n Removing dangling symlinks from /etc/ssl/certs... > Removing dangling symlinks from /etc/ssl/certs... + find /etc/ssl/certs -type > l > -print > + read h > + test -f /etc/ssl/certs/a70d887e > + read h > + test -f /etc/ssl/certs/a70d887e.0 > + read h > + echo done. > done. > + [ -d /etc/ssl/certs ] > + rmdir --ignore-fail-on-non-empty /etc/ssl/certs > + [ -d /etc/ssl ] > + rmdir --ignore-fail-on-non-empty /etc/ssl > + rm -f /etc/ca-certificates.conf* > + test -e /usr/share/debconf/confmodule > + . /usr/share/debconf/confmodule > + [ ! ] > + PERL_DL_NONLAZY=1 > + export PERL_DL_NONLAZY > + [ ] > + exec /usr/share/debconf/frontend /var/lib/dpkg/info/ca-certificates.postrm > purge > + rm -f /etc/ssl/certs/ca-certificates.crt > + remove_dangling_symlinks > + [ -d /etc/ssl/certs ] > + echo -n Removing dangling symlinks from /etc/ssl/certs... > + find /etc/ssl/certs -type l -print > + read h > + test -f /etc/ssl/certs/a70d887e > + read h > + test -f /etc/ssl/certs/a70d887e.0 > + read h > + echo done. > + [ -d /etc/ssl/certs ] > + rmdir --ignore-fail-on-non-empty /etc/ssl/certs > + [ -d /etc/ssl ] > + rmdir --ignore-fail-on-non-empty /etc/ssl > + rm -f /etc/ca-certificates.conf* > + test -e /usr/share/debconf/confmodule > + . /usr/share/debconf/confmodule > + [ ! 1 ] > + [ -z ] > + exec > + [ ] > + exec > + DEBCONF_REDIR=1 > + export DEBCONF_REDIR > + db_purge > + _db_cmd PURGE > + IFS= printf %s\n PURGE > + IFS= > read -r _db_internal_line > + RET=20 Unsupported command "removing" (full line was "Removing dangling > symlinks from /etc/ssl/certs... done.") received from confmodule. > + return 20 > dpkg: error processing ca-certificates (--purge): > subprocess installed post-removal script returned error exit status 20 > Errors were encountered while processing: > ca-certificates
Wow, that's broken. So debconf reinvokes the maintainer script when the confmodule is sourced and then goes and parses everything on stdout. (Apart from the fact that the postrm is effectivly invoked twice.) The way to write to stdout according to confmodule is to write to fd3. But of course confmodule's presence is not guaranteed and thus one cannot just source it and write to fd3... Thanks a lot for the bug report and for the trace. I'll think about it. Kind regards, Philipp Kern -- .''`. Philipp Kern Debian Developer : :' : http://philkern.de Stable Release Manager `. `' xmpp:p...@0x539.de Wanna-Build Admin `- finger pkern/k...@db.debian.org
signature.asc
Description: Digital signature