[OpenAFS-devel] what's "enable-redhat-buildsys" all about?

Christopher Allen Wing wingc@engin.umich.edu
Wed, 16 Jun 2004 17:23:33 -0400 (EDT)


The way that the configure script is generally meant to be used is to
compile OpenAFS, including a kernel module appropriate for the "current"
kernel running on your machine. By default it assumes that the kernel
headers in e.g. /usr/src/linux correspond to this one particular kernel.

Red Hat's kernel headers are packaged in such a way that by specifying
various options as #defines, you can generate kernel modules corresponding
to all the different kernels that Red Hat ships. (e.g. SMP, non-SMP,
"enterprise", etc.)

The OpenAFS RPM iterates through these various different options and
builds a kernel module for each possible Red Hat kernel.
--enable-redhat-buildsys is used to feed these #defines to the Makefiles.

In order for it to work, you also have to create a file containing the
#defines; see what the spec file does. You can't just run configue with
--enable-redhat-buildsys and then run 'make'.


-Chris Wing
wingc@engin.umich.edu


On Wed, 16 Jun 2004, Matthew Miller wrote:

> On Wed, Jun 16, 2004 at 04:48:25PM -0400, Derek Atkins wrote:
> > Well, yes and no.  A Spec file is a complete process to build an RPM
> > package.  The mental model of what the OpenAFS SPEC is doing is NOT
> > the same mental model as a normal user building AFS from source.
> > The  --enable-redhat-buildsys is supposed to make the OpenAFS code
> > work with the SPEC's mental model as opposed to the user's mental
> > model.
>
> Why should the spec file's "mental model" be so different as to require such
> a parameter? It seems better if it can be made as similar to a normal build
> as possible.
>
>
> > > Oh? Works perfectly fine without that flag -- add it, and failure. So it
> > > clearly has _something_ to do with it.
> > Then this is a bug in the configure script.  Note that the SPEC file
> > does not support Linux 2.6.
>
> Sure -- it definitely seems like a bug in the configure script. My question
> is: how important of a bug is it? Why not just ignore it?
>
> Also, what do you mean by "the SPEC file"? The openafs 1.3.x build system
> seems reasonably well behaved -- there's no reason one can't make an RPM
> from it. I don't see what the kernel version has to do with it.