Eric S. Raymond wrote:

> kbuild team members: Dirk Hohndel has volunteered to have a chat with
> Linus about the CML2/kbuild-2.5 transition (and, implicitly, the status 
> and role of the kbuild team).
> 
> Please inform him of:
> 
> 1) your technical judgement and opinions about CML2 and kbuild-2.5
> 
> 2) the problems with the present build system, 
> 
> 3) whether or not you think CML2 and kbuild-2.5 should be mainstreamed 
>    into the kernel,
> 
> 4) known remaining problems with CML2 and kbuild-2.5, and what the plans
>    are to address them.
> 
> He needs to hear from the whole kbuild team and properly understand 
> the background of our present rather frustrating situation.
> 



kbuild-2.5:

It does the right things! And this should be enought to tell you that
it should be included in the next kernels.

Some more words:

Actual kbuild requires that user will do a make mrproper before
every patch (and sometime before big configuration changes).
So it will slow the things a lots.
[This cause troubles also on the user helper to compile the kernel
(debian 'kpackage' will always call make mrproper)].

The problem is also that the user that will not do make mrproper
will eventually see some strange link errors, and this confuse
users [and regulary someone will post a bug report in lkml, with
the regulary keith's one-line reponse.]

[and again with mrproper: I don't like the copy .config + mrproprt
  + restore .config ]

Another big improvment is that kbuild-2.5 doesn't touch non modified
files [i.e. the 'touch include/*/*.h;' commands (this caused problem
with cvs)]

It have been reported that kbuild-2.5 is slower, but I don't care
the speed of already slow process (and it is slower only the
first time), and Keith told us that it would increment the speed.


CML2:

In kbuild the problem was the correcness and to correct the old behaviour
it was necesary to change the language (and kbuild-2.5 was not the
unique project. It is the unique project completed, thus solved all the issues).
In CML2 I see more a problem of maintainability:
3 implementations (two bash based, which confise a lot of developer, which use
bashism): a lot of maintainers doesn't read the documentation and thus
made wrong configuration code (the two common errors: bashism and
assertion that defined CONFIG_ means "y" or "m").

The Linus' way to maintain the kernel incremented such problems.

CML2 solved the problems with one unique engine, a new language that
will force corectness, and a true rules check .

Another problem in old configuraion is that some configuration had
dependencies not yet parsed, which sometime caused wrong configuration,
but frequently user will miss some features.
But I don't know if this 'feature' is fixed in CML2: with the splitted
rules it can give some difficulties to rules implementators).

CML2 support also autoconfiguration, and I think this is a nice
things :-).
In last days of 1999 Linus (and that Alan) told that some kind of
autoconfiguration was need (the thread was about wrong CPU selection).

The autoconfiguration need CML2 (or a very big rewrite of the 3 actual
configuration engine).

The big problem in CML2 is python (and python2). This problem should go
away considering the development time of kernel, but anyway it is a problem.
[Actually seems easier to explain user hot to intall python than how
to intall the curse haeders (python package name is nearly unique)].
But we should also consider that Linus now unofficially recommend
bitkeeper, a worse package (non-free, no code).



Thus I think that kbuild-2.5 and CML2 should be included in the
kernels. build-2.5 because it do the right things, and CML2 because
it will help maintainers, developers and also Linus (no more, or
less patches of patches).

        giacomo


_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to