[OpenAFS] In the RPM spec file, what is the goal of the special fedora option?
Simon Wilkinson
sxw@inf.ed.ac.uk
Tue, 12 Feb 2008 22:32:46 +0000
On 12 Feb 2008, at 21:58, Paul Johnson wrote:
>
> Now I notice in the 1.4.6 spec file an option for fedora, but I can't
> quite understand what benefit there is in this approach. The only
> thing I can tell for sure is it builds the kernel module into a
> package called kmod-openafs. I don't understand what the benefit of
> that change is.
Before Fedora decided they weren't going to do out-of-tree kernel
modules at all, kmod-<package> was the standard mechanism for
packaging kernel modules in both Fedora and RHEL. The kmod package
descriptions are built using a standard script, and will, in theory,
be identical for all kernel modules that are part of the
distribution. The kmod-* packages have better dependency resolution,
and support installing both building and installing kernel modules
for multiple kernel variants (so you can have Xen and PAE modules for
the same kernel).
Of course, some add-on vendors decided that kmod wasn't good enough,
and use their own kernel module packaging schemes. The disadvantage
of these are that they either require additional bundles of RPM
macros to build, or that they break upgrade depedency checks. kmod
seems to strike a reasonable balance between complexity and correctness.
The other benefit of kmods is that they are easy to automatically
build. We're now doing automated nightly builds for all Fedora and
RHEL distributions that we support, on a single machine, with a
single build script, and building for all kernel versions variants
that kernel-devel packages have been published for (around 700
different kernels, at the last count). This simply wasn't possible
with the old-style kernel module packaging.
The spec file that's currently in CVS makes fedora kmods the default
for all RPM builds (it can still be overridden by those building for
other distributions)
Cheers,
Simon.