On Tue, 07 Dec 2010 15:49:44 +0100, Holger Levsen wrote: > http://piuparts.debian.org/sid/pass/emacspeak-ss_1.12.1-1.log and > http://piuparts.debian.org/squeeze/pass/emacspeak-ss_1.12.1-1.log are both > examples of successful installations. > > Also please note that the above logs are from June+September, I've just > rescheduled them for testing again and they both passed. These logs will be > available from tomorrow at the same URLs.
Both logs show success.
But I can reproduce the problem quite easily:
$ sudo cowbuilder --login
# apt-get install emacspeak-ss
...
Fetched 35.9 MB in 1min 1s (579 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages ...
Use of uninitialized value $_[1] in join or string at
/usr/share/perl5/Debconf/Client/ConfModule.pm line 121, <STDIN> line 14.
Use of uninitialized value $_[1] in join or string at
/usr/share/perl5/Debconf/Client/ConfModule.pm line 121, <STDIN> line 16.
The hanging process seems to be
/usr/bin/perl -w /tmp/emacspeak.config.96593 configure
Looks more like emacspeak than emacspeak-ss; but `apt-get install
emacspeak' succeeds, after showing the same warnings.
After that I can install emacspeak-ss without problems.
Hm.
Ok, let's try manually:
# /tmp/emacspeak.config.96593 configure
Use of uninitialized value $device in hash element at
/tmp/emacspeak.config.322673 line 62, <STDIN> line 3.
Use of uninitialized value $device in hash element at
/tmp/emacspeak.config.322673 line 63, <STDIN> line 3.
Use of uninitialized value $device in hash element at
/tmp/emacspeak.config.322673 line 64, <STDIN> line 3.
Use of uninitialized value $p in concatenation (.) or string at
/tmp/emacspeak.config.322673 line 65, <STDIN> line 3.
Use of uninitialized value $t in concatenation (.) or string at
/tmp/emacspeak.config.322673 line 65, <STDIN> line 3.
Use of uninitialized value $device in hash element at
/tmp/emacspeak.config.322673 line 65, <STDIN> line 3.
^C
Adding some debug output to /tmp/emacspeak.config.96593 we see that $choices
contains
'shared/emacspeak/database doesn\'t exist' and $database too.
If I guard this block with an if-conditional I later get an infinite
loop in the "while (!$valid)" loop. $port contains
'shared/emacspeak/port doesn\'t exist'. Setting it to "none" (which
is the default anyway?!) let's the config script finish.
Just for reference, I'm attaching the changes mentioned above. With
this change I can install emacspeak and emacspeak-ss with dpkg in the
cowbuilder chroot.
But I'm still not sure if this is a problem in emacspeak or in
emacspeak-ss (since emacspeak alone installs). And in general I don't
really understand what's going in here ...
Cheers,
gregor
--
.''`. http://info.comodo.priv.at/ -- GPG key IDs: 0x8649AA06, 0x00F3CFE4
: :' : Debian GNU/Linux user, admin, & developer - http://www.debian.org/
`. `' Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
`- NP: Bob Dylan: Shelter From The Storm
diff -u emacspeak-29.0/debian/config emacspeak-29.0/debian/config
--- emacspeak-29.0/debian/config
+++ emacspeak-29.0/debian/config
@@ -56,13 +56,15 @@
my ($b, $p, $t, $device, $olddevice,
%blurb, %program, %tcl, %device, %db, $devicelist);
($ret, $database) = metaget ('shared/emacspeak/database', 'choices');
-foreach (split (/, */, $database)){ # debconf database is comma separated
- ($b, $p, $t, $device)=split(/:/);
- # load data into hashes
- $blurb{$device}=$b;
- $program{$device}=$p;
- $tcl{$device}=$t;
- $db{$device}="$b:$p:$t"; # local database is colon separated
+if ($database ne 'shared/emacspeak/database doesn\'t exist') {
+ foreach (split (/, */, $database)){ # debconf database is comma separated
+ ($b, $p, $t, $device)=split(/:/);
+ # load data into hashes
+ $blurb{$device}=$b;
+ $program{$device}=$p;
+ $tcl{$device}=$t;
+ $db{$device}="$b:$p:$t"; # local database is colon separated
+ }
}
# Add choices from unpacked .blurb files from other packages, in case
@@ -182,6 +184,7 @@
while (!$valid) {
input('high', 'shared/emacspeak/port'); go();
$port=get('shared/emacspeak/port');
+ $port = "none" if $port eq 'shared/emacspeak/port doesn\'t exist';
if (($port eq "none") || (-c $port)){
$valid=1;
} else {
signature.asc
Description: Digital signature

