On 10/09/2012 11:55 AM, John Horne wrote:
On Tue, 2012-10-09 at 11:19 -0400, John Dennis wrote:
By using a rpm spec file to build rpms from you'll get all the nasty details of correct building handled for you. There are 2.2 rpms available for Fedora. Just be aware spec files are also tuned for specific Red Hat releases, you'll need to understand the differences between Fedora and RHEL 5. All in all it can be non-trivial to get all the details of building and installing a system daemon correct, this is why we normally recommend folks use pre-build packages for their distribution.
Unfortunately (?) the differences now between Fedora and RHEL, especially in terms of Fedora using systemctl rather than SysV startup scripts, means that using a Fedora SPEC file to build a package for RHEL is generally fraught with problems.
However. I have this afternoon been rebuilding FreeRadius 2.2 using the latest CentOS 5.8 freeradius2 RPM SPEC file. (Basically, using a SPEC file that you know will work on the server, but replace the actual source tarball with the latest available.) In this instance the modifications to the SPEC file were minor, but one patch also had to be modified. So, again, not trivial, you need to know a bit about SPEC files and patching, but it did build.
I should add that for other packages this approach hasn't been too good! The differences between code versions can mean that a lot of patches in the RPM either become redundant or need modifying. It can add up to a lot of work.
Yup. It's probably easier to modify an existing spec file for a distribution than trying to move spec files between distributions. If you want the latest version and a set of RPM's is not yet available you basically have 2 choices: 1) local build using configure/make/install 2) local RPM build using a tweaked spec file Which is easier? It depends on a lot of factors. But no matter which approach you take: You must fully understand what you're doing and why. There just aren't any shortcuts to this. If you want to use approach 1, then I suggest at least looking at the configure command in an appropriate spec file and see what options are being passed to it, then do something similar in your build. -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/