Skip to content

Instantly share code, notes, and snippets.

@Ginja
Forked from fernandoaleman/rpm-from-source.sh
Created February 16, 2016 05:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ginja/9958ad318e765025d3bf to your computer and use it in GitHub Desktop.
Save Ginja/9958ad318e765025d3bf 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment