Skip to content

Instantly share code, notes, and snippets.

@kyberorg
Forked from fernandoaleman/rpm-from-source.sh
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save kyberorg/3f595dc38cfac277b0b5 to your computer and use it in GitHub Desktop.

Select an option

Save kyberorg/3f595dc38cfac277b0b5 to your computer and use it in GitHub Desktop.
# 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.9.2
# 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 https://www.kernel.org/pub/software/scm/git/git-1.9.2.tar.gz
tar -xzvf git-1.9.2.tar.gz
mv git-1.9.2.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.9.2 && 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