[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Fixing the lm-sensors/i2c mess

OK. I've been poring over the lm-sensors/i2c mess. (Which is really the fault of upstream for not changing the i2c module names when they changed the module interface, but not much can be done about that now.)

I'm sending this to David Maze as the maintainer of most of this; and to Herbert Xu and debian-devel because the best solution seems to involve large patches to the kernel packages, and maybe the removal of some kernel versions.

The key points are this:
* i2c underwent a major incompatible change. The new version is required by lm-sensors 2.8.x. The old version is present in the upstream kernel tree 2.4 i2c modules. The new version is in the 2.6 kernel tree, and in a separate i2c upstream package for 2.4 versions, and in a patch to the 2.4.23 and 2.4.22 kernel tree.

Lots of people have been getting crashes because the old i2c modules will override the new modules when both are present, and people's kernel packages often have the old modules installed.

* Meanwhile, lm-sensors underwent a major incompatible change, to libsensors2, which many packages in unstable have already updated to requiring, so new lm-sensors is now holding up other packages. :-/

* Also, lm-sensors isn't kernel-2.6-ready yet, although upstream appears to be close to ready.

It looks to me like this is what needs to be done to get this stuff in good shape for sarge; I'm not sure in what order.

* Herbert Xu: Apply the upstream patches in http://www.ensicaen.ismra.fr/~delvare/devel/i2c/
to the kernel-source-2.4.22, and kernel-source-2.4.23 packages.

Alternately (and worse) disable the i2c modules from the upstream kernel tree (and all the modules depending on them) by default, allowing the modules from i2c-source to install cleanly without running into kernel versions of the i2c modules.

* Rebuild ALL stock kernels based on those versions.  :-/

* David Z. Maze: In its description, document i2c-source as being unneeded and unwanted for 2.6 kernels. (2.6 kernels already contain the 'new ABI' versions of the i2c modules, and for that matter contain the lm-sensors modules.)

* David Z. Maze: Document (in its description) that i2c-source is incompatible with kernel-tree i2c modules for stock 2.4 kernels, and note that they *must* be removed for lm-sensors to run. Document that it is *unneeded* for patched kernel versions.

Alternately, and better, try to get rid of all the kernel 2.4.0...2.4.21 versions, and drop i2c-source. But this seems unlikely to happen. :-/

* David Z. Maze: Document in the lm-sensors-source description which kernels need i2c-source modules and which don't. :-/

* David Z. Maze: Upload new lm-sensors from upstream with 2.6-compatible userland tools. Make sure the userland tools work for both 2.6 and 2.4 kernels. Make sure the userland tools can be installed without modules for 2.6 kernels.

* David Z. Maze: Document (in the lm-sensors-source description at least) that the lm-sensors modules are needed for all 2.4 kernels (whether i2c-source is needed or not) and for no 2.6 kernels. (I believe this is correct. :-P )

* David Z. Maze: Document somewhere which kernels don't work at *all* for lm-sensors (such as 2.2 and 2.0 kernels, and probably some 2.4 versions).

It looks to me like if *all* of this is done they'll be in fairly good shape. If the kernel patches are not applied, the i2c-source warning about kernel modules must be very loud, and similary the lm-sensors-source warning. :-(

Please don't email me personally about this unless you have questions about the meaning of what I said. I've just been trying to decipher the issues, and I hope I've done so.

I've only bothered to do so because this has become an impediment to sarge releasing, and it seems to require some major work which probably deserves thought as soon as possible. If you have alternate solutions, or hate mine, please discuss it on debian-devel.

Reply to: