[OpenAFS] RPMS for RHEL 1.4.6

Simon Wilkinson sxw@inf.ed.ac.uk
Tue, 15 Jan 2008 16:25:51 +0000

On 15 Jan 2008, at 11:41, Brunckhorst, Ralf wrote:

> There has something change since version 1.4.6 in the download-area  
> on openafs.org.

Perhaps I should go into some detail about how I'm now building RPMs  
for OpenAFS.

I have a single x86_64 machine (from Informatics @ Edinburgh  
University) which builds for both i386 and x86_64 versions of Fedora  
5, 6, 7, 8 and RHEL 4 and RHEL 5. For licensing reasons we build  
against the CentOS 4 and CentOS 5 RPM sets - but the resulting RPMS  
will work on CentOS, RHEL, and Scientific Linux. The build process is  
run every night and will pick up, and build for, new kernel versions  
whenever they appear upstream. Whilst the push to the OpenAFS website  
is still a manual process, this does mean that new kernel modules  
will appear within a couple days of their appearance upstream.  
Unfortunately, the CentOS dependency does add an additional delay for  
real RHEL users - we can't build kernel modules until the new kernel  
appears in CentOS.

In addition, we're now building for all the kernel versions for all  
of these OS's we can find. For 1.4.6, we're providing in the region  
of 600 different kernel versions - allowing sites which are stuck at  
a particular kernel version for whatever reason to still use prebuilt  
modules. Whilst Derrick had a pretty good scour to make sure that  
we've got all of the kernel-devel packages, if you have a  
_distributed_ (as opposed to locally built) kernel version that we're  
not building for, and you have access to a distributable kernel-devel  
RPM for that version, please let me know.

With all of this, comes the ability to use yum to keep your OpenAFS  
RPMs in sync. If you install the openafs-repository RPM (from the  
OpenAFS website) for the version of OpenAFS you require, then 'yum  
install openafs-client' will install all the packages you require to  
run an OpenAFS client, and any further operating system upgrades will  
also upgrade your OpenAFS kernel modules as required.

> In tree 1.4.5 there was a extra src.rpm for each RHEL version, in  
> 1.4.6 this is missing: only a global src.rpm for all distros.

Every distro is built from this 'global' SRPM. There are no  
distribution dependent changes to the SRPM. That said, I have just  
fixed the build script so that the distribution specific SRPMs are  
retained following each build.

> Another thing is that now all user-space packages for RHEL are now  
> built with the fedorakmod option and they require openafs-kmod  
> instead of openafs-kernel like in the past (1.4.5) If I want to  
> build a kernel module with the src.rpm I have no problem but if I  
> try to build a kernel module with the fedorakmod option that can be  
> used with the user-space packages I run into trouble:
> [root@deacx050 ~]# uname -a
> Linux deacx050 2.6.9-67.0.1.ELsmp

There are RPMs available from this kernel from the OpenAFS site -  

> [root@deacx050 RHEL4-1.4.6]# rpmbuild --rebuild --target=`uname -m`  
> --define "fedorakmod 1" openafs-1.4.6-1.1.src.rpm Installing  
> openafs-1.4.6-1.1.src.rpm Building target platforms: i686

We're going to change the defaults for 1.4.7, so that "fedorakmod"  
will be the standard format, and so that only the standard kernel  
module will be built unless you explicitly request others - hopefully  
this will make things more straightforward.