Re: Compat-wireless release for 2011-08-01 is (NOT) baked

From: Pavel Roskin
Date: Mon Aug 01 2011 - 21:18:13 EST


Quoting "Luis R. Rodriguez" <mcgrof@xxxxxxxxx>:

Question then is -- are we willing to require spatch for building the
tarballs? I'm OK with this, anyone else?

Good question! I think it may be worth it, but let's consider the arguments.

Against:

coccinelle is not nearly as widespread as other required tools (gcc, make, patch).

coccinelle depends on ocaml. That's a whole programming language that many systems (including my home system with Fedora 15) don't have installed by default, even if the "development" was selected at the system install.

I don't know the status of coccinelle and ocaml packaging on various distros. Asking users to compile both to have the latest wireless drivers is pretty cruel.

Even Fedora 15, as I found out while writing this message, mispackages coccinelle. The dependency on ocaml-findlib is missing, so coccinelle is not functional when installed by yum. I'm going to report is as soon as possible.

There are two names, spatch and coccinelle. That's going to be confusing for the users. They won't know which package to look for. Some will look for both.

For:

There is no need to have any special variant of coccinelle to cross-compile compat-wireless.

Popularization of coccinelle and ocaml may be a good thing. More users means more eyeballs looking for bugs.

Patches will become more clear, at least for those knowing the basics of coccinelle syntax. Non-trivial changes won't be buried in trivial ones.

compat-wireless will be more robust.

It may be possible to port compat-wireless to more kernels. Or maybe more subsystems will be backported. Replacing even large amounts of code would become easier.

While some people can be inconvenienced by the need to install coccinelle, it's a solvable problem for most users. On the other hand, backporting compat-wireless to older kernels or backporting more features is something that very few people can do, and those people should not be bothered with trivial stuff too much.

My experience shows that placing too much boring stuff on the shoulders of the developers is detrimental to the users in the long run. It's one thing to require extensive testing, which can be automated, or to require compatibility with older tools, which can be easily achieved. On the other hand, requiring to update huge patches manually is boring and error prone. Make the developers busy with boring stuff, and they will stop making improvements that nobody else can do.

--
Regards,
Pavel Roskin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/