Index of /~jlohikos/tleds/public/rpm_specs
spec files to make a rpm packages of some software
In this directory I have rpm spec files which I have made for tarballs which
themselves do not have one. By making and installing rpm packages the system
stays clean and the software package is easily upgraded or erased later.
As Linux Standard Base (LSB) uses rpm packages, every Linux software tarball
should have a rpm spec file included. The spec file can be in the software
main directory, or any subdirectories, i.e. in foo-1.3/rpm/foo.spec
I do not officially maintain these files, just basically for my own use.
The versions of the software may be obsolete and you should check first
from <http://www.rpmfind.net>
or from the homepage of the software if there
already is rpm packages provided.
In case the original tarball needs also a patch to be buildable in RedHat OS,
the patch file is mentioned in the spec file and patch file provided.
To make the rpm packages:
- copy the spec file to /usr/src/redhat/SPECS
- copy the possible patch file to /usr/src/redhat/SOURCES
- get the original tarball and put it to /usr/src/redhat/SOURCES
(Note! the spec file probably tells you where to find the tarball. URL)
- Build the rpm packages with:
'rpmbuild -ba /usr/src/redhat/SPECS/foo.spec'
(or just binary package by using '-bb' instead of '-ba')
- Install the package i.e.
'rpm -Uv /usr/src/redhat/RPMS/noarch/foo.noarch.rpm'
One can also build a tarball, which can be used straight with rpmbuild:
- untar the original tarball
- copy the spec file and the possible patch file to the main directory
which came from the tarball.
- Make a new tarball which now has the spec file. (and maybe also the patch)
- Build the rpm packages with:
'rpmbuild -ta /tmp/foo-1.3.tar.bz2'
(Note! The spec file tells in "Source:"-field if it expects tar.gz or .bz2)
- install the binary package to the system:
'rpm -Uv .....'
In case one wants to release the rpm packages, be sure to provide the correct
'Packager:' information in the spec file.
Also it is highly recommended to GPG sign the packages before releasing.
It protects both you and the installer from abuse. See
<
http://www.rpm.org/max-rpm/s1-rpm-pgp-signing-packages.html > for
instructions.
Also if you do sign, your GPG public key should be found somehow. The best
place would be in PGP-keyservers, i.e.
<
ldap://keyserver.pgp.com >
How to get your GPG public key to the keyserver is beyond the scope of this
README.
// Jouni dot Lohikoski at iki dot fi