On Sun, Sep 26, 2004 at 05:01:40PM -0400, Jay Berkenbilt wrote: > There's at least one bug in configure_monitor that I found during my > testing. The place where configure_monitor decides to pre-answer the > selection method with "Advanced" may be wrong. If I leave it as it > appears in the original file: > > db_subst xserver-xfree86/config/monitor/selection-method default > "Advanced" > > then the horiz-sync and vert-refresh debconf items never get set. If > I change it to this instead: > > db_set xserver-xfree86/config/monitor/selection-method "Advanced" > > then everything works -- well, at least I get answers to those > questions in the debconf database.
I cannot at present remember why I used db_subst default instead of the latter construction. It may have something to do with auto_answer. I'll review this, and may very well end up following your recommendation. > I should point out that preinst and config do not appear to be in sync > at the moment, or at least I don't have correct versions. I used > viewCVS from necrotic.deadbeast.net to grab the latest > xserver-xfree86.config.in and xserver-xfree86.preinst.in along with > shell-lib.sh. I reconstructed config and preinst manually by > inserting shell-lib.sh at the right place. Upon doing this, I > observed that there were no meaningful changes in either preinst or > shell-lib.sh, which was not surprising since they still had an older > svn revision. Yeah, those files have not needed to change on the branch. > Since the overall structure of config changed quite a > bit, I couldn't just drop configure_monitor in and instead had to use > the entire new config file. Yes, I expected you'd have to. I've really pounded the hell out of it. > For whatever reason, discover decides that the vesa device, rather > than the ATI device, is the right one for my card. Even with correct > settings, my monitor refresh rate is at 60Hz with the vesa driver and > at 75Hz with the ati driver (which works fine as long as I don't load > radeonfb). I have a Radeon 9600 card. As I think you have noted elsewhere, this sounds like a discover-data bug. > Regardless of my DEBIAN_PRIORITY, I end up with a zero-length > XF86Config file, Very bad. (I assume you mean XF86Config-4.) > and I get asked three times (once in config and twice > in preinst) whether I wish to try hardware autodetection. Annoying. > In the end, apt-get install aborts saying that > xserver-xfree86/config/monitor/horiz-sync is not set and tells me to run > dpkg-reconfigure xserver-xfree86. Looking at > /var/log/xserver-xfree86.config.log, I see this: > > 2004-09-26 04:36:36 PM-0400 configure_monitor(): using "" selection > method > > which is what made me decide to try the change I described above. > > After I make the change, I get: > > 2004-09-26 04:42:11 PM-0400 configure_monitor(): using "Advanced" selection > method Sounds like you correctly diagnosed and fixed the problem. The challenge for me now is to figure out if there's still any justification for using db_subst default. To be honest I'm not sure that even works. > I'll admit to not having a deep knowledge of debconf, so I'm not sure > why the original code is wrong. There is a db_get on > xserver-xfree86/config/monitor/selection-method before the above > message, but I never see the question. db_get doesn't ask questions. Only db_input does that. Well, technically, db_input enqueues a question for asking, and db_go runs the queue. > In any case, the comment doesn't say that it wants to change the default: > it says it wants to pre-answer the question, so I think the db_set is > probably correct. Probably so. > I also can't see what in preinst is causing the autodetect_video_card > question to be asked twice even though we've been through it already > in config. Very annoying. Can you please send me your full config log file with the db_subst->db-set change made? > The good news is that, if I make the one-line change I made, at least > I do eventually get an XF86Config-4 that has the correct refresh > rates. Okay, so with your one-line change, the only real problems are: 1) discover-data doesn't know about your video card 2) you get nagged to death about autodetecting the video card Is that right? > So obviously, there's some more work to do.... and I don't know how > much of my testing problems were the result of my trying to cobble > together configuration files from subversion. Well, here's one way to find out. I've just merged the latest changes onto the trunk onto the debconf-overhaul branch, and run a diff between the two trees: $ svn diff ${xfree86_svn}trunk ${xfree86_svn}branches/debconf-overhaul | diffstat CHANGESETS | 213 ++- TODO | 300 ----- changelog | 108 + local/dexconf | 27 rules | 11 xserver-xfree86.bug | 16 xserver-xfree86.config.in | 2564 ++++++++++++++++++++++++++++++---------------- xserver-xfree86.templates | 26 8 files changed, 1974 insertions(+), 1291 deletions(-) Therefore, the above are the only files changed on the branch. > Again, please let me know if you need additional testing. I'll also try > on some hardware that discover recognizes better to see whether some of > the problems go away. Okay. If you could get me that config log, that would be great. I don't think there's a need for more testing on your part until I've made further changes to configure_monitor(), though. -- G. Branden Robinson | If you wish to strive for peace of Debian GNU/Linux | soul, then believe; if you wish to [EMAIL PROTECTED] | be a devotee of truth, then http://people.debian.org/~branden/ | inquire. -- Friedrich Nietzsche
signature.asc
Description: Digital signature