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

Bug#182704: Debconf configuration sets use_fbdev without asking, making X unstartable



On Fri, Feb 28, 2003 at 11:59:43AM -0500, Branden Robinson <branden@debian.org> was heard to say:
> On Fri, Feb 28, 2003 at 10:28:31AM -0500, Daniel Burrows wrote:
> > On Fri, Feb 28, 2003 at 01:40:09AM -0500, Branden Robinson <branden@debian.org> was heard to say:
> > > Well, let's have a look at the code, shall we?  Shell scripts are not
> > > rocket science.
> > > 
> > > # use fbcon kernel functions?
> > > if [ -e /proc/fb ]; then
> > >   if [ -n "$(cat /proc/fb)" ]; then
> > >     auto_answer db_input high xserver-xfree86/config/device/use_fbdev "true"
> > >   fi
> > > else
> > >   db_get xserver-xfree86/config/device/use_fbdev || debug_report_status "db_get xserver-xfree86/config/device/use_fbdev" "$?"
> > >   if [ "$RET" = "true" ]; then
> > >     debug_echo "xserver-xfree86/config/device/use_fbdev is \"true\" but /proc/fb does not exist; setting template to \"false\""
> > >     db_set xserver-xfree86/config/device/use_fbdev false
> > >   fi
> > > fi
> > > 
> > > Before you jump all over that "auto_answer" thing, hold your horses:
> > 
> >   [snip]
> > 
> >   It doesn't matter -- what I was trying to say (not very clearly)
> > earlier is that /proc/fb exists but is empty; thus, all the questions
> > above are skipped.  "auto_answer" never runs.
> 
> You're confusing me.  "All the questions above"?  There is only one:
> 
>   xserver-xfree86/config/device/use_fbdev

  Oops, I misread the db_get/db_set as questions.  Anyway, all the code
above is basically a no-op in the situation I encountered.

> >   I think I may have set the option at some point in the past, and now
> > the script won't let me change it.
> > 
> >   *pokes around*
> > 
> >   aha.  If I manually load the framebuffer driver, then (after I get
> > control over my console -- seems loading the driver while X is running
> > is not such a hot idea) X works with "usefbdev", and the config script
> > gives me the option to disable use of the framebuffer.  Oh, and /proc/fb
> > contains actual data.
> > 
> >   Is there a good reason to leave the setting alone if /proc/fb is
> > empty?  AIUI this corresponds to "no available framebuffer devices", and
> > so silently preserving a pre-existing "true" value doesn't make sense.
> > (at the least, asking seems like a good idea)
> 
> Yes, it would appear that I shouldn't have nested those first two ifs,
> but rather anded them together, e.g.:
> 
> > > if [ -e /proc/fb ]; then
> > >   if [ -n "$(cat /proc/fb)" ]; then
> 
> should be:
> 
> if [ -e /proc/fb -a -n "$(cat /proc/fb)" ]; then
> 
> ...that way the "else" catches *either* of those tests failing, not just
> the first.
> 
> If you could test that change, I would appreciate it.  Turn that
> use_fbdev option back on, unload the driver, and dpkg-reconfigure with
> the above change applied to /var/lib/dpkg/info/xserver-xfree86.config.
> 
> What should happen is that use_fbdev will be forced off, *and* you won't
> be asked about it.

  Yep, it works. :)

  Daniel

-- 
/-------------------- Daniel Burrows <dburrows@debian.org> -------------------\
|               Hi, I'm a .signature virus!                                   |
|               Copy me into your .signature to help me spread!               |
\-Evil Overlord, Inc: planning your future today. http://www.eviloverlord.com-/




Reply to: