Bug#247849: internal debconf error with ucf-using package (was: Bug#247849: Another report)
Hi Benoit, Rodrigo, Joey, Manoj,
Benoît Sibaud <benoit.sibaud@wanadoo.fr> wrote:
> Package: tetex-extra
> Version: 2.0.2-8
>
> (on an uptodate sid)
> # dpkg -i -D7777 tetex-extra_2.0.2-8_all.deb
> (...)
> Setting up tetex-extra (2.0.2-8) ...
[...]
> `/etc/texmf/dvips/xypic.map') useredited=-1 distedited=-1 what=2
> D000002: fork/exec /var/lib/dpkg/info/tetex-extra.postinst ( )
> Can't call method "description" on an undefined value at
> /usr/share/perl5/Debconf/Question.pm line 76, <GEN0> line 1.
> dpkg: error processing tetex-extra (--install):
> subprocess post-installation script returned error exit status 9
> Errors were encountered while processing:
> tetex-extra
>
> Same error after a package purge and install.
Thanks for this report, good to know that it is reproducible.
Our package tetex-extra uses debconf only indirectly via ucf. In fact
the postinst script calls a script installed from the tetex-base
package, setup-ucf, with argument "-extra", and that in turn calls ucf
on a number of files.
The files in the debug output that Benoit sent are in fact conffiles of
tetex-extra. It seems the conffile updating was successful. Then the
postinst script is called, and we don't do anything there or in
setup-ucf but assign (and unset) variables, before we call ucf.
The setup-ucf script is used for both tetex-base and tetex-extra, and
because tetex-base does use debconf, we call ucf with
"--debconf-ok". Probably this is the cause for the problem: We shouldn't
be doing this for tetex-extra which does not use debconf.
Rodrigo and Benoit, could you please try to do the following:
0. Rodrigo, please enable that line in Questions.pm again if it is
currently still commented out
1. In the file /usr/share/tetex-base/setup-ucf, lines 4 to 6 look like
this:
## variables
#UCF="ucf --verbose -d --debconf-ok"
UCF="ucf --debconf-ok"
Please change the third, the non-comment line, to simply
UCF="ucf"
2. After that, try to install (or configure using dpkg --configure -a)
tetex-extra.
If the error goes away, that's good. For the real fix, however, we need
to move the assignment to $UCF down after the options check, because for
tetex-base we still need --debconf-ok.
Regards, Frank
--
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie
Reply to: