How can I build a binary RPM package for my specific Linux platform?

NOTE: this article may contain outdated information which may not be applicable with modern versions of RPM build tools.

Building an OpenVPN binary RPM package requires these RPM prerequisites:

  • openssl
  • openssl-devel
  • lzo
  • lzo-devel

The openssl package is almost always installed by default on Linux distributions. The openssl-devel package is almost always available on Linux distributions, but is sometimes not installed by default. The lzo and lzo-devel packages are usually included in more recent Linux distributions but must be installed manually. See the Dag Wieers site for a comprehensive set of LZO RPMs for Red Hat and Fedora.

Once the prerequisite binary RPMs are in place, building an OpenVPN binary RPM is quite straightforward:

rpmbuild -tb [OpenVPN .tar.gz file]

You will see a lot of lines of output as rpmbuild compiles OpenVPN, but check near the end of the output for a line which looks like this:

Wrote: /usr/src/packages/RPMS/i586/openvpn-2.0_rc18-1.i586.rpm

This tells you where rpmbuild wrote the binary RPM file. Now, use:

rpm -ivh [OpenVPN .rpm file]

to do a fresh install of OpenVPN, or

rpm -Uvh [OpenVPN .rpm file]

to upgrade an existing installation.

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9