Messages in this thread | | | Date | Thu, 10 Jun 2010 15:55:17 +0200 | From | Pavel Machek <> | Subject | Re: [ANNOUNCE] GSoC project: Improving kconfig using a SAT solver |
| |
Hi!
> >>Even if the problem is different from zypper's, it is also here > >>possible to get an unsatisfiable instance. You are right that, yes, > >>the kconfig files on their own should always be satisfiable. But > >>that's before the user has made any choices at all. An example of an > >>unsatisfiable instance would be one where the user demands that 1. > >>some USB driver is enabled, while 2. USB support in general is > >>disabled. > > > >Actually, these are two separate problems. The first is basic > >consistency within the Kconfig subsytstem (something that select > >currently damages for us). The second is what to present to the user, > >which is where the inception of the select problem came from. A user > >doesn't really want to know that USB device X depends on usb storage, > >SCSI and a raft of other things ... they just want it to configure a > >kernel that supports their device. In particular, we don't want to > >present every possible option to users and then try to work out a > >solution, we really need guided configuration (which, in some measure, > >is what we have today: if you don't select general USB, you won't see > >any USB drivers. Or more importantly, if you select an Adaptec SCSI > >card, we just enable whichever transport library it needs). > > There are two modes people can be in when configuring a kernel. > > 1. I want to configure a kernel to support my hardware, enable > anything else needed to make it work. > > 2. I really care about having a small kernel, don't enable anything > I have disabled (but help me figure out why something I want isn't > available)
There are more...
...part of the problem is that kconfig is both user-dependend (what filesystems do I use) and machine dependend (what does hw need).
Current defconfig system is unfortunately not quite there :-(.
What would be nice for machines like Sharp Zaurus (spitz) would be defconfig which answered =Y for hardware spitz definitely has (sound), =N for hardware that can't be connected (anything pci), and something different (=M?) for hardware that can be connected to it (pcmcia)... leaving 'user' options like filesystems configured ... up to the user. Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |