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

David Howells dhowells@redhat.com
Fri, 15 Aug 2003 14:56:22 +0100


--Multipart_Fri_Aug_15_14:56:22_2003-1
Content-Type: text/plain; charset=US-ASCII


Hi,

Attached is a patch that can be applied to an installed OpenAFS-1.2.10 SRPM to
change it in certain ways to make it more suitable for use with a RedHat
system, in particular RH Enterprise Linux.

You should be able to apply the patch by:

	rpm -i openafs-1.2.10-rh9.0.1.src.rpm
	cd /usr/src/redhat
	bzcat beehive-1.2.10-2.diff.bz2 | patch -p0

We also do the following because our buildfarm demands certain things about
the name of the spec file. I have not made the patch do this automatically so
that the changess made to the spec file can more easily be seen.

	mv SPECS/openafs-1.2.10.spec SPECS/openafs.spec


The changes that this patch makes are:

  (1) The only kernel modules built are all appropriate to the currently
      running kernel version and the target CPU specified on the command line.

      The configurations considered are listed in the "kvariations" variable
      in the spec file:

	%define kvariations up smp bigmem

      This will build a module for each of the three configurations:

	up		Uniprocessor only
	smp		SMP support only
	bigmem		SMP and big memory support

      The CPU target is specified during the build:

	rpmbuild -bb --target=i686 SPECS/openafs-1.2.10.spec
	rpmbuild -bb --target=athlon SPECS/openafs-1.2.10.spec

  (2) Each kernel module is packaged individually into its own RPM file, named
      for the kernel version, kernel configuration and CPU target:

	openafs-kernel-1.2.10-2.4.21_1.1931.2.384.ent_2.athlon.rpm
	openafs-kernel-1.2.10-2.4.21_1.1931.2.384.ent_2.i686.rpm
	openafs-kernel-bigmem-1.2.10-2.4.21_1.1931.2.384.ent_2.athlon.rpm
	openafs-kernel-bigmem-1.2.10-2.4.21_1.1931.2.384.ent_2.i686.rpm
	openafs-kernel-smp-1.2.10-2.4.21_1.1931.2.384.ent_2.athlon.rpm
	openafs-kernel-smp-1.2.10-2.4.21_1.1931.2.384.ent_2.i686.rpm

  (3) Each kernel module RPM requires the matching version of kernel to be
      installed:

	dhowells>rpm -qpR openafs-kernel-smp-1.2.10-2.4.21_1.1931.2.384.ent_2.i686.rpm
	/bin/sh  
	/bin/sh  
	kernel-smp = 2.4.21-1.1931.2.384.ent
	openafs = 1.2.10
	rpmlib(CompressedFileNames) <= 3.0.4-1
	rpmlib(PayloadFilesHavePrefix) <= 4.0-1
	rpmlib(VersionedDependencies) <= 3.0.3-1

  (4) The kernel module RPM places the module in the appropriate directory
      under /lib/modules:

	dhowells>rpm -qpl openafs-kernel-smp-1.2.10-2.4.21_1.1931.2.384.ent_2.i686.rpm 
	/lib/modules/2.4.21-1.1931.2.384.entsmp/kernel/fs/openafs/openafs.o

      Note that this means that whilst you _can_ have RPMs for multiple
      configurations (UP vs SMP vs Bigmem) of different kernel versions
      installed simultaneously, you _can't_ have RPMs for the same kernel
      version and configuration but different CPUs installed at the same time
      as they'd have to go under the same path and filename.

  (5) The openafs-client and -server RPMs require at least one kernel module
      RPM to be installed first.

  (6) The userpace tools are only built for the i386 target. Modules are only
      built for non-i386 targets. Non-x86 archs are not yet supported.

  (7) Service start now simply does a "modprobe openafs" to load the module
      rather than trying to guess which of several modules to use and then
      patching it up. Doing otherwise may cause problems.

  (8) The kernel module is now given MODULE_* parameters.

  (9) All lines including <net/if.h> or "net/if.h" in the module now include
      <linux/if.h> instead.

 (10) OpenAFS made invalid assumptions about the Linux VM works in trying to
      check the "type" of bits of memory it has allocated. The code that did
      this is now commented out.

David



--Multipart_Fri_Aug_15_14:56:22_2003-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="beehive-1.2.10-2.diff.bz2"
Content-Transfer-Encoding: base64

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
JCwQLdsA

--Multipart_Fri_Aug_15_14:56:22_2003-1--