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

Bug#446416: tasksel: silent failures due to trailing whitespace

Package: tasksel
Version: 2.68
Severity: normal

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 
Task: dannf
Section: user
Description: dannf 
 long description
Relevance: 10
Packages: list

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:

Name: tasksel/first
Template: tasksel/first
Value: dannf
 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')
Architecture: ia64

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            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/desktop: gnome
  tasksel/first: Standard system
  tasksel/tasks: Print server

Reply to: