add a special Provides: to all login manager packages

Adam Williamson awilliam at redhat.com
Fri Feb 20 18:06:33 UTC 2009


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




More information about the fedora-devel-list mailing list