Re: Disgusted with kbuild developers

Joel Becker
2002-02-16T22:29:59Z

On Sat, Feb 16, 2002 at 11:08:57AM -0500, Eric S. Raymond wrote:
> Nicolas Pitre <nico@cam.org>:
> > Make the whole thing ___***IDENTICAL***___ to CML1.
> > Do a formal translation of CML1 into CML2.
>
> Would you ask someone designing a new VM to make it crash and hang exactly
> the same way the old one did?

Eric, that's a slippery-slope argument. You are bright enough
to know that is not what they meant.
I like to stay out of flamewars, so I'm going to be nice,
simple, and to the point. I hack kernels. I build a lot of them. I
use only make config and make oldconfig. Here is what I want from a
config system (be it CML1 or CML2):
make config goes through and asks me all the questions it needs
to. The order can be different. The slight format of the prompts can
be different. The backend can be wildly different. I don't CARE. What
I do care about is that it only asks me relevant questions. No "How old
is your computer?" Never a "Do you like the color blue?" None of that.
if it wants to know my CPU, it asks "What is your cpu? [386 486
Pentium/K6 ...]" If it wants to know if I want sound support it asks
"Configure sound support?" That's it. I use make config because it
asks me every question, and I'm sure I haven't missed any. When it is
done, I even know the macros it has set in config.h so I can peruse them
in the source.
make oldconfig has to work like make old config. Again, trivial
differences in the output layout don't matter. Totally different logic
dont matter. All that matters is that configuration questions I have
answered already don't get asked, and questions that are new to this
kernel do.
The configuration metadata should be as close to the actual item
as possible. I think everyone has come to this agreement. You know,
drivers/scsi/aic_7xxx/aic_7xxx.cml or the like. Fine. I'm not even
sure that I care all that much about this. So if everyone can come to a
level of agreement on this, I'm sure I'll be fine.
The last thing I require is that it doesn't affect my build
time. The kernel takes a while to build right now, even on my
dual-GHz machines with >GB RAM. I've not played with CML2 much, but the
rumours of it taking twice as long for a build are scary. CML2 should
have completed all of its work when make *config exited. All of the
logic after the completion of make *config and make dep should be in the
Makefiles, just like it does in CML1. Now, if I've got that wrong, let
me know. I sure hope you aren't executing CML2 programs during make
bzImage.
Until CML2 can come to do this, I'm going to stay perfectly
happy with CML1. mconfig just makes it easier.

Joel

--

"The first requisite of a good citizen in this republic of ours
is that he shall be able and willing to pull his weight."
- Theodore Roosevelt

http://www.jlbec.org/
jlbec@evilplan.org