Skip to content

Instantly share code, notes, and snippets.

@fernandoaleman
Created November 18, 2011 16:34
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save fernandoaleman/1376973 to your computer and use it in GitHub Desktop.
Save fernandoaleman/1376973 to your computer and use it in GitHub Desktop.
How to create an RPM from source with spec file
# How to create an RPM from source with spec file
# This is for Redhat versions of linux. Sometimes when you search for an rpm package,
# it is either outdated or not available. The only thing available is the source code.
# You can create a custom RPM package from source.
#
# For this example, I'll be using the latest version of Git, currently v.1.7.7.3
# Step: 1
# Install rpmbuild
yum install -y rpm-build
# Step: 2
# Create rpmbuild folders in your home directory
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
# Step: 3
# Download the source file
#
# Source files are usually available in tar.gz or tar.bz2 format. Create a src folder
# in your home directory to store your files, download the file, uncompress it and
# move the compressed file to the rpm build SOURCES directory
mkdir -p ~/src && cd ~/src
wget http://git-core.googlecode.com/files/git-1.7.7.3.tar.gz
tar -xzvf git-1.7.7.3.tar.gz
mv git-1.7.7.3.tar.gz ~/rpmbuild/SOURCES
# Step: 4
# Locate .spec file and build rpm
#
# If you get any errors during build, it is usually because of dependencies. Simply
# install the dependencies with `yum install [dependency]` and run rpmbuild again.
cd ~/src/git-1.7.7.3 && ls | grep *.spec
rpmbuild -ba git.spec
@learning813
Copy link

learning813 commented Feb 4, 2021

I tried with different package and got error
install: cannot stat 'postfix_exporter': No such file or directory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment