[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: