OFED Build Process

The OFED Build Process is intended to provide a build of kernel modules that will build on any number of kernel versions. This means different patches are used depending on the kernel version detected. This is accomplished by a backport directory such as kernel_patches/backport/2.6.22_suse10_3/ and a script named ofed_scripts/ofed_patch.sh. The script detects the kernel version and implements all the patches in the associated backport directory. This backport script is called during the build process.

The major problem with this method of backporting comes with packaging and adding patches to the package. Adding a patch before the backport can easily cause the backport script to fail. Adding a patch after the backport is infeasable as the backport script is called during the build process. The ultimate answer is to place the patches in the appropriate backport patch directory and let the backport script handle the patch.

A problem occurs if the package is intended to build on multiple architectures such as standard vs. real-time kernels. Then the kernel detection needs to be duplicated in the RPM specfile.