RPM – How to Build RPM Package

This article represents tips to build RPM package using rpmbuild command. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.

Following are the key points described later in this article:

  • Install RPMBuild Package
  • Instructions to Create RPMs
Install RPMBuild Package
  • Make sure that rpmbuild exists. Type rpmbuild in command line and confirm that usage text appears.
  • In case, rpmbuild does not exists, download it using command, “yum -y install rpm-build”
Instructions to Create RPMs
  • Create a top level folder such as “rpmbuild” within home directory.
  • Go to rpmbuild folder using command such as “cd rpmbuild”
  • Create following folder within rpmbuild folder:
    • BUILD
    • RPMS
    • SPECS
    • SRPMS
  • Create a SPEC file with extension as *.spec under folder SPECS
  • Execute following command from within rpmbuild folder:
    rpmbuild --define "_topdir $(pwd)" --define "version 1.0" --define "release 0" -v -bb "$(pwd)/SPECS/"

Once the command, rpmbuild, results into success, one would find file with extension *.rpm within RPMS/noarch. One could then install the RPM package using commands such as following:

rpm -ivh <rpm_name>


Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking. Check out my other blog, Revive-n-Thrive.com
Posted in IT Automation. Tagged with .

Leave a Reply

Your email address will not be published. Required fields are marked *