Maker tech hub — AI · 3D print · Pi · ESP32 · plus the classic tech archive.

Free ESP32 kit · Books · Network Ninja · Archive

Classic tech archive. From the original averyjparker.com tech blog — historical context; pair with modern guides where noted. Full archive · Maker projects · Network Ninja

Classic tip · Classic

Building RPM's - building from tarballs

Again - I'm NOT an expert on the subject, but have had some success with building rpm's from either src.rpms (covered last time) and building from tarballs... This entry will talk about the simplest …

Written by

Avery J. Parker

IT veteran, maker educator, and author of Network Ninja, 3D Printing Mastery, and AI Workflow Mastery. Business IT: Diversified Tech Solutions.

Again - I'm NOT an expert on the subject, but have had some success with building rpm's from either src.rpms (covered last time) and building from tarballs... This entry will talk about the simplest kind of rpm build from tarballs. This is a situation where the developer's in their great foresight have actually got a spec file in the tarball (and it's kept current).


I was looking at openvpn the other night. I haven't really worked with the new 2.x series, I had previously worked with 1.5 On seeing 2.0.5 released I looked at downloading and saw a note on building an rpm from the tarball download. It is DEAD easy...

Instead of the rpm --rebuild that we used last time, for this job we need rpmbuild

$rpmbuild -tb /path/to/openvpn.tar.gz

Once again, read directions... For instance, rpmbuild told me I needed pam-devel to rebuild this package... so I became root and did urpmi pam-devel (which actually was libpam0-devel), after that things compiled just fine. (There is a list of other requires on their website.) If there are problems with the spec file, you can extract it and make changes and specify the new specfile instead of the included one. I didn't run into this problem with openvpn, but have with other packages. Also, rpmbuild -tb tells it to compile from tarball and build a binary rpm, you could build a src.rpm with rpmbuild -ts or both src and binary rpms with rpmbuild -ta.

Personally I like having the src.rpm's around for when I upgrade to a new release of the distribution or if I decide to try and build for an older release. It's probably pack-rat-ism, but just a habit I've got in.