On Fri, 2009-02-20 at 02:59 +0100, Kevin Kofler wrote: > This is similar to how RPM Fusion's kmod (binary packages) and akmod > ("source" packages similar to the DKMS ones) setup works. Yeah, it is (I'm using the RPM Fusion system myself, as I need NVIDIA binary drivers for my graphics card to work at all). Their architectures are rather different but ultimately they do more or less the same thing. > > I've probably read several alternative incarnations of much the same > > discussion. =) It is somewhat inherently a painful area, and MDV > > certainly has quite a lot of tweaking to DKMS and some significant > > internal architecture to make it all work more or less smoothly. > > They must have done so, because RPM Fusion decided DKMS is not suitable for > binary packages and thus developed their own solution (akmod) which uses > the same specfiles for the akmod packages and the binary kmod packages. Yeah. MDV's DKMS has patches to make this possible. > > Which is why I said it's probably not worth the effort. > > But can't we just reuse the work from RPM Fusion or from Mandriva? Up to a point. :) We could re-use MDV's modified DKMS, certainly. But that's only half the game. Firstly, I glossed over it a bit, but the generation of the 'DKMS binary packages' isn't trivial - they don't just pop out of the .src.rpm automatically when you send a package with a DKMS-handled module for a build (this would appear to be a place where the akmods system is better, in fact). I don't know exactly how their generation works, but I know it needs someone to specifically trigger it (hence I said it was 'semi-automatic') and I'm fairly sure it's specific to the MDV update process. So that would need to be re-engineered in a way that suited Fedora, which probably wouldn't be trivial. Secondly, we still have to address Seth's valid point about sensibly *providing* these modules. Mandriva still has its own graphics card detection and configuration routines, which are used to automatically install the NVIDIA or ATI module packages when they're required. Something similar is done by Mandriva's network configuration system (which isn't NetworkManager, so wouldn't be re-usable for Fedora...) when a wireless adapter handled by a DKMS-packaged driver is detected (of course, what happens if you don't *have* any connection but the wireless one is left as an exercise for the reader...). For other things that are packaged via DKMS, there isn't any kind of automatic detection - users basically wind up posting "help! My webcam doesn't work!" on the forums, at which point someone instructs them to install the appropriate DKMS packages. Which is hardly a sensible way of doing things, and which I considered an important weakness and was trying to get fixed before I left. It is possible to make this work - MDV installs tables of modaliases for all DKMS-handled drivers even when the drivers aren't installed, and the intent was to hook something into this that would notice when a piece of hardware that matched a modalias for a non-installed DKMS driver was present, and offer to install the driver. But it's not trivial, and it's another damn piece of engineering to maintain. My point is that looking after all of this crap is too much work to be doing to allow us to use a system which only really has one genuine benefit: * Allow us to provide modules in such a way that they're not 'tied' to the kernel build - they can be updated without the kernel being updated, and if they're broken, the kernel isn't All the other cited benefits I've seen were just process issues ('the kernel team doesn't allow enough modules in', for instance), and engineering fixes for process issues is rarely the right way to do things. Process issues should be fixed by fixing the process - if the kernel team isn't allowing in enough modules, then fix that somehow, don't build a big chunk of infrastructure just so people can do an end-run around the kernel team. I'm not as familiar with how the akmods system works, so I guess it may be more practical and safe to implement in Fedora than the DKMS system would be. I can't speak to that, except to say that, AFAIK, it does nothing to address the issue of automatically installing the package when the hardware is present, so that would still need to be addressed somehow. -- Adam Williamson Fedora QA Community Monkey IRC: adamw | Fedora Talk: adamwill AT fedoraproject DOT org http://www.happyassassin.net -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list