I previously mentioned rpmbuild. I wanted to write a little post on what it does and how useful it is. But I though it would be easier to just show you.
So what is rpmbuild? It is a tool for building rpm packages based on a spec file. The resulting rpm should be close to the rpm provided by your distribution. I’ve used rpmbuild on both Fedora and CentOS to create Apache HTTPd 2.4 binaries that works as a drop in replacement for the system ones.
So how does it work? I’ll just show you!
You need to install rpmbuild first.
nara ~ # yum install rpm-build nara ~ # useradd -m -c "rpmbuild user" rpmbuild
Download the apr, apr-util and httpd source code from apache.org.
Then simply run rpmbuild against the tar archive.
nara ~ # sudo su - rpmbuild rpmbuild@nara ~ $ rpmbuild -ta httpd-2.4.2.tar.bz2 rpmbuild@nara ~ $ sudo rpm -Uvh rpmbuild/RPMS/x86_64/httpd-2.4.2-1.x86_64.rpm
This is far from a step by step, but it should give you a general idea what rpmbuild does and how it can be used for building binaries on CentOS or another rpm based distribution.