Nameing guideline for external kernel-modules in fedora(.us)

Fernando Pablo Lopez-Lezcano nando at ccrma.Stanford.EDU
Tue Dec 16 19:57:54 UTC 2003


> > On Fri, Dec 12, 2003 at 07:53:59PM +0100, Thorsten Leemhuis wrote:
> > > The kernel-driver is also mostly ready, but we're currently a bit
> > > undecided how the resulting package with the kernel-modules should be
> > > named. Also a problem: What package or files should it provide and what
> > > should it require? For details see
> > > http://bugzilla.fedora.us/show_bug.cgi?id=601
> > > 
> > > The fedora.us guidelines currently recommend to build a package per arch
> > > which contains the modules for both UP and SMP kernel. Until now all
> > > packages in fedora.us were AFAIK only for UP so alsa would be the first
> > > and some people now wonder if this decision was right. So I'd like to
> > > start the discussion again here -- maybe redhat employees and especially
> > > yum, apt and up2date programmers can give input. 
> > 
> > That is a very bad recommendation, please package the kernel modules
> > for each arch/flavour combination seperately. Just look at the kernels
> > themselves and copy the scheme.
> 
> I wouldn't call it a "very bad recommendation". Putting UP and SMP modules
> into a single package wouldn't hurt anyone. When you pay attention to
> user's problems, a common mistake is that they pick the wrong kernel
> modules package or ask which one to take. It's difficult enough for many
> users to pick the correct architecture.

I would prefer the kernel module packages to follow the naming
conventions of the kernel itself. And there's a reason:

IMHO the problem of users picking up the wrong package should be solved
with proper dependencies so that it is not possible to install the wrong
package at all. If you try to install a particular kernel module and the
matching kernel for it is not there, RPM should refuse to install it. If
you try to install the wrong architecture RPM should refuse to install
it. This means no shared up and smp modules in the same package. Each
package has the modules that are needed by one and only one kernel
(which BTW is in its own package). 

If the dependencies are there and you want an easier "user install
experience" a very simple meta package and apt (or maybe yum, I have not
yet tried that) can make sure that all packages that are needed are
there. That is the approach I have taken with installing alsa and
midishare at Planet CCRMA. Until I did that I too saw lots of problems,
specially with mismatched architectures. 

> > > Freshrpms names the packages:
> > > kernel-smp-module-alsa-1.0.0-0.rc2.1.fr_2.4.22_1.2129.nptl.i686.rpm
> > > kernel-module-alsa-1.0.0-0.rc2.1.fr_2.4.22_1.2129.nptl.i686.rpm
> 
> Which is my favourite, because it has the "kernel" prefix.
> 
> > > atrpms names the packages:
> > > alsa-kmdl-smp-2.4.22-1.2129.nptl-1.0.0-rc2_17.rhfc1.at.i686.rpm
> > > alsa-kmdl-2.4.22-1.2129.nptl-1.0.0-rc2_17.rhfc1.at.i686.rpm
> > 
> > Hey, that look good ;)
> 
> "kmdl" is far too cryptic for my taste. Even alsa-kmod or alsa-kmods would
> be shortened too much. It's better to have "kernel" in the package
> name, so
> 
>   rpm --query --all 'kernel*'
> 
> also lists kernel module packages.

I also prefer the longer names. In my case I prefer the "alsa-kernel-*"
naming instead of the "kernel-*alsa". The alsa kernel modules belong to
alsa, not to the kernel (IMHO).  

> > Don't forget the more or less authoritative packager on ALSA, which is
> > PlanetCCRMA:
> 
> Why "authoritative"?

I have no idea :-) Maybe just "oldest"? Although I'm not positive, other
packagers may want to let me know (gently?) if I'm wrong. 
- first installed alsa 0.5.2 at CCRMA on 02/10/2000
- first packaged alsa rpms on 06/03/2000 (oldest entry in my spec file
  changelog, I must have started before that)
- first public release of packages on 9/14/2001 (at Planet CCRMA)
I've been packaging alsa since 6/2000, using the packages here at CCRMA
in all the Linux machines and subsequently making them publicly
available since 9/2001 on the Planet CCRMA site. 

Obviously "oldest" does not mean "authoritative", but I think I have
done a good job packaging the darn thing :-) I have not been the only
one, of course. As an example, I borrowed the device creation code from
the Freshrpms spec file (thanks, Matthias!), till then I was running the
standard alsa device creation script at package install time. 

> > Next I prefer shorter "kmdl"-tags, as the longer "kernel-module"
> > strings tend to make rpm's CLI output (as well as apt's and yum's)
> > unreadable without providing more information.
> 
> A clever CLI program would not cut off very long package names, but split
> such entries into two lines. It would still look good.

I agree, we should not base the naming guidelines on the limitations of
current clients. Clients should be changed so that they can display the
names when they are too long. 

-- Fernando






More information about the fedora-devel-list mailing list