The following instructions outline the steps necessary to create a binary RPM file, which can be used to install a Java .jar file on a Linux system. My build system is using Fedora 13.
First step is to install the RPM Development Tools. As the root user, issue the command:
# yum install rpmdevtools
Create a user account which will be used to generate the rpm's.
# useradd rpmmanager
Login as the rpmmanager, and issue the command to setup the rpm build tree.
This will create a rpmbuild directory in the rpmmanager's users home directory. Create a tmp directory in the rpmbuild directory.
# mkdir ~rpmmanager/rpmbuild/tmp
Edit the ~rpmmanager/.rpmmacros file with path information. My .rpmmacros file contains the following info:
%_topdir %(echo $HOME)/rpmbuild
%_tmppath %(echo $HOME)/rpmbuild/tmp
"rpmbuild" needs a ".spec" file to build a ".rpm" file. Create such a spec file in your project directory.
Example of my spec file.
Summary: Psydex Node Manager
%define version 1.0
Psydex Node Manager provides status to the Psydex Service Manager via JMS.
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/local/bin/psydexNodeManager
cp ~rpmmanager/builds/pxService/dist/pxNodeManager.jar .
The above spec file copies the pxNodeManager.jar file from the location I use to build the .jar. ("cp ~rpmmanager/builds/pxService/dist/pxNodeManager.jar . "). One can easily add additional files to the binary rpm, by adding them under the %files section of the spec file.
To create the binary rpm, run the rpmbuild command.
rpmbuild -bb ~rpmmanager/rpmbuild/SPECS/pxNodeManager.spec
The rpmbuild command will generate the binary rpm in the rpmbuild/RPMS/platform_name_here directory. In my case the directory is rpmbuild/RPMS/x86_64
To install the rpm binary simply issue the command:
# rpm -i binary_rpm_filename_here