Bug#446416: tasksel: silent failures due to trailing whitespace
I was helping a coworker debug a problem w/ a custom tasks description file
today, and it turned out the cause was a piece of trailing whitespace.
Its easy to reproduce with a file such as this one:
root@dl380g5:/# cat /usr/share/tasksel/dannf.desc
Note that the short description has a single trailing whitespace character.
This task will appear in the tasksel menu, but if I select it (and in my tests,
its the only one I select) tasksel silently does nothing.
I've narrowed this down to the point of observing that the file left behind
by tasksel-debconf is empty. The data seems to get properly written to
questions.dat, where I'll see something along the lines of:
ORIGCHOICES = dannf , Mail server, Laptop, Standard system
CHOICES = dannf , Mail server, Laptop, Standard system
Also, its worth noting that this only seems to fail when tasksel is invoked by
d-i. The task gets properly installed if I try to reproduce by chrooting into
/target first, or if I'm on an already-installed system.
My suspicion is that this is a parsing bug, or at least a difference between
debconf and cdebconf (which might explain why the bug only occurs when
invoked by d-i) - though I haven't really dug into the debconf side
of things at all.
Of course, I don't know of any real reason why you'd *want* trailing
whitespace here. But, as non-trailing whitespace is valid in this field, it
would follow that trailing whitespace would be syntactically valid as well
(if for no other reason than to save a poor scmuck like me a few hours of
debugging in the future :)
I originally discovered this w/ the etch installer, but have reproduced it
with a daily build from today.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Kernel: Linux 2.6.22-3-mckinley (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages tasksel depends on:
ii aptitude 0.4.6.1-1.1 terminal-based apt frontend
ii debconf [debconf-2.0] 1.5.14 Debian configuration management sy
ii liblocale-gettext-perl 1.05-1 Using libc functions for internati
ii tasksel-data 2.68 Official tasks used for installati
tasksel recommends no packages.
-- debconf information:
tasksel/first: Standard system
tasksel/tasks: Print server