misleading text in configuration script

Bug #22306 reported by Chris Moore
10
Affects Status Importance Assigned to Milestone
debconf (Ubuntu)
Invalid
Low
Unassigned

Bug Description

When I run "sudo dpkg-reconfigure xserver-xorg" in an Emacs shell buffer, I see:

  debconf: unable to initialize frontend: Dialog
  debconf: (Dialog frontend is incompatible with emacs shell buffers)
  debconf: falling back to frontend: Readline

as I would expect.

Later on in the configuration script, it tells me:

  "If you unsure what to do, leave all of the modules enabled."

This word 'leave' suggests to me that all the modules are already enabled, and
that I don't need to do anything if I want to keep them enabled, so I just hit
return at the prompt. It turns out that if I do that, I end up with no Modules
section in my xorg.conf, and that what I should really have typed at the prompt
was "1 2 3 4 5 6 7 8 9 10 11 12 13".

It would be a lot clearer if the text didn't mention "leave all the modules
enabled", but rather said "enable all the modules", suggesting that I had to do
something.

As an aside, I see option 14 is "none of the above". This further leads me to
believe that all 13 options are currently already selected, else why would there
be an option to unselect them? How about having an option 15 for "all of the
above" instead of having me type all the numbers?

Revision history for this message
Matt Zimmerman (mdz) wrote :

And indeed that is the case when using other frontends; this seems like a
problem with the Readline frontend

Revision history for this message
Colin Watson (cjwatson) wrote :

Multiselect is particularly hard to do in the readline UI, and comments in the
code admit that it could probably stand improvement. Still, when I try it
(albeit in Debian because that was the nearest prompt I had handy), I get this:

If you unsure what to do, leave all of the modules enabled. Advanced users may
wish to disable all modules -- in which case no Modules section will be written
to the X server configuration file -- and add their own Modules section to the
file manually.

  1. bitmap 2. dbe 3. ddc 4. dri 5. extmod 6. freetype 7. glx 8. int10
9. record 10. type1 11. v4l 12. vbe

(Enter the items you want to select, separated by spaces.)

Select the X.Org server modules that should be loaded by default. 1 2 3 4 5 6 7
8 9 10 11 12

So I can't reproduce it at the same point, at least not in Debian. However, I
can reproduce it under two circumstances: 1) the confmodule SETs a value for the
select which isn't in the Choices list (which would be a bug in that
confmodule); 2) you're actually using the Teletype frontend (in which case you
would also have seen "debconf: falling back to frontend: Teletype").

Could you please get me a log of you doing the same thing, but with
DEBCONF_DEBUG=developer set in the environment? That should be enough to narrow
things down. Also, please state what versions of debconf and xserver-xorg you
have installed.

Revision history for this message
Chris Moore (dooglus) wrote :

Created an attachment (id=4099)
log of DEBCONF_DEBUG=developer dpkg-reconfigure xserver-xorg

I'm not sure whether you've understood my main complaint. The text suggests I
should leave modules selected. That implies that they are already selected,
and that no further action is required on my part, whereas in fact I have to
select them all by typing their numbers.

Anyway, here's the log you requested.

Revision history for this message
Chris Moore (dooglus) wrote :

The versions I have:

debconf:
  Installed: 1.4.56ubuntu2

xserver-xorg:
  Installed: 6.8.2-69

Revision history for this message
Colin Watson (cjwatson) wrote :

Yes, I did understand your main complaint. debconf's Readline frontend is
supposed to invoke readline in such a way that the default value of the variable
is set as the initial input string, so that you can just press Enter and get the
default. Since it is not working for you, there must be a bug, and therefore I
was attempting to diagnose this bug by finding out whether xserver-xorg was
buggy in claiming that proper defaults would be set and then failing to do so,
or whether debconf was failing to drive readline properly, or whether in fact
the Teletype frontend was in use (which is a fallback from Readline, so you
could have ended up using it even after seeing the messages you quoted in your
report). It could have been any of these, and there's no point in me chasing
bugs in one when another situation applies.

From the DEBCONF_DEBUG=developer log, though, it looks like xserver-xorg is
behaving correctly, and you're definitely using the Readline frontend, so
something's up with the default-handling code in debconf's Readline frontend.
Could you please show me the output of "dpkg -l 'libterm-readline-*-perl'", so
that I can get the right readline implementation installed and thereby replicate
this? Thanks.

Revision history for this message
Chris Moore (dooglus) wrote :

Sure. Here you go:

chris@chrislap:~/notes$ dpkg -l 'libterm-readline-*-perl'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
un libterm-readli <none> (no description available)
un libterm-readli <none> (no description available)

Should I install it? Or should there have been a dependancy in place to make
sure it was already installed?

Revision history for this message
Chris Moore (dooglus) wrote :

I notice it got a bit truncated there. If I pipe the output through cat you see
more:

chris@chrislap:~/notes$ dpkg -l 'libterm-readline-*-perl' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==========================-==============-============================================
un libterm-readline-gnu-perl <none> (no description available)
un libterm-readline-perl-perl <none> (no description available)

Revision history for this message
Chris Moore (dooglus) wrote :

This might help answer your next few questions. Alternatively, keep asking... :)

(@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl .)

chris@chrislap:~/notes$ locate Term/ReadLine
/usr/share/perl/5.8.7/Term/ReadLine.pm

chris@chrislap:~/notes$ apt-file search Term/ReadLine.pm
perl-modules: usr/share/perl/5.8.7/Term/ReadLine.pm

chris@chrislap:~/notes$ dpkg -L perl-modules | grep Term/ReadLine
/usr/share/perl/5.8.7/Term/ReadLine.pm

chris@chrislap:~/notes$ dpkg -l perl-modules
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii perl-modules 5.8.7-5ubuntu1 Core Perl modules

Revision history for this message
Chris Moore (dooglus) wrote :

I notice this is still set to "NEEDINFO". What more info do you need from me?

Revision history for this message
Colin Watson (cjwatson) wrote :

Right. Perl's built-in Term::ReadLine implementation isn't smart enough to
display defaults for prompts. Debconf has some specialised code to work around
this, but it looks like it's bitrotted. As a workaround, install
libterm-readline-perl-perl.

Colin Watson (cjwatson)
Changed in debconf:
assignee: kamion → nobody
importance: Medium → Low
status: Unconfirmed → Confirmed
Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

Thank you for posting this bug.

Breezy/Hoary are in End of Life status. Please update and repost detailed error report.

Changed in debconf (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Thomas Hotz (thotz-deactivatedaccount) wrote :

Closing because of no response.

Changed in debconf (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.