issues in 1.00
Tue Dec 9 17:21:00 2003


I have actually already created an Nvidia DKMS RPM for version 1.0-4496 for
our Precision Workstations. It takes care of building/rebuilding the
nvidia.o module, as well as laying down the X libraries. I should have it up
on sometime this week (I'll send the link once it's up).
Take a look at it and see how my methods compare to yours...maybe you'll
have some different ideas that I can incorporate.


-----Original Message-----
[] On Behalf Of David Kewley
Sent: Monday, December 08, 2003 9:26 PM
Subject: issues in 1.00

A quick self-intro: I'm a sysadmin at Caltech.  I want to package the NVIDIA

graphics drivers as an rpm such that we can change the NVIDIA driver rpm or 
the kernel rpm at any time, and automatically get the module recompiled for 
the new kernel.   (I also want to catch newly-installed XFree86 rpms, but 
that'll happen via non-dkms specfile magic, I hope.)  dkms seems perfect for

this application, and I'm very pleased to see it judged sufficiently mature 
to have been named version 1.00 just a week ago.  I look forward to doing 
little bits to help it develop further.

I have a couple of quick critiques on 1.00.

1) I downloaded and installed the dkms 1.00 rpm.  It sets the permissions on

/usr/share/doc/dkms-1.00/ to 644.  It should be 755 so we can do an 'ls' on 
it. :)  There may be other permission issues as well; I haven't fully vetted

it yet.

2) I would argue that dkms should put its state files in /var/lib/dkms/, not

in /var/dkms.  See: where it 

  Applications must generally not add directories to the top level of /var.
  Such directories should only be added if they have some system-wide
  implication, and in consultation with the FHS mailing list.

Then in we read about /var/lib:

  This hierarchy holds state information pertaining to an application or the
  system. State information is data that programs modify while they run, and
  that pertains to one specific host. Users must never need to modify files
  /var/lib to configure a package's operation. 

  State information is generally used to preserve the condition of an
  application (or a group of inter-related applications) between invocations
  and between different instances of the same application. State information
  should generally remain valid after a reboot, should not be logging
  and should not be spooled data.

  An application (or a group of inter-related applications) must use a
  subdirectory of /var/lib for its data.

Seems fairly clear to me, although I'm not an expert.  Unfortunately, if you

do agree that we should use /var/lib/dkms/, users of older versions of dkms 
will have to migrate /var/dkms.

That's it for now.  I have a partial spec file for the nvidia drivers; my
step will be to look over your example spec file for dkms-ready packages,
try to fill in the pieces for the nvidia drivers.  If I encounter any more 
issues, I'll certainly speak up.


DKMS-devel mailing list