[OpenAFS-devel] [PATCH] change OpenAFS-1.2.10 SRPM to work better with RedHat

David Howells dhowells@redhat.com
Mon, 18 Aug 2003 15:14:21 +0100


> > With the extra change I've suggested (plus a couple more that might be
> > useful to make building more controllable), this can be automated very
> > easily - from outside of the spec file - which is the correct place to do
> > it IMO.
> 
> I agree that making it controllable from outside the spec file is a
> good idea.  HOWEVER, for my personal sanity I'd like to be able to
> just say "rpmbuild -ba openafs.spec" and have it build _EVERYTHING_
> for me.

-ba does -bb + -bs.

> > Another reason for stripping that building against multiple kernel sources
> > is that it RPM can't do prerequisite dependency properly otherwise. And
> > not being able to do that renders automated package delivery more
> > difficult.
> 
> I dont understand what this means..  This sentence does not pass my
> wetware English-parser, could you try it again?  I think you mean that
> having RPM do the multiple builds itself means you cannot create a
> proper BuildDepends line?  Is that what you mean?

Sorry... Let me try again.

There are tools for automatic package download, installation and upgrading
(such as up2date and apt-get). Dependencies must be correctly resolvable for
these to work.

So, to take a hypothetical case, if a particular RPM contains all the modules
matching 50 different kernels, then if the dependencies are all there, then
the automated upgrade tool will either fail or will download and install the
49 kernels you didn't want (if they're available). Alternatively, if the
dependencies are missing, then the RPM will not be automatically upgraded with
the kernel.

> > Although it might be nice to have the spec file generate an arbitrary list
> > of RPMs for the various kernels that it can only find out about by listing
> > /lib/modules, I don't think it's possible from within the spec file.
> 
> Why not?  I did it before...  ;)

How? It's not in 1.2.9 or .10. That produces a fixed set of RPMs, including a
single RPM with all the OpenAFS kernel modules contained within.

David