[TriLUG] Curious about RPM

Tom Bryan tbryan at python.net
Tue Jan 1 10:06:29 EST 2002


On Tuesday 01 January 2002 04:31 pm, M. Mueller/bhu5nji wrote:
> I've got a Linux based router app that requires home-spun versions of
<snip/>
> In the case of SSH2 and mgetty, I have been making a new installs on a new
> machine by tarring up the development path, copying the tarball to the new
> machine, untarring, and running make install.  U-u-u-u-u-u-gly, eh?  But,
> it works. To clean up, I eliminate the development path.

Not too bad.

> It would be better make an RPM - yes? Easier?

Yes.  Probably easier.  I assume that the Linux-based router has rpm 
installed or is based on a rpm-based distribution like Red Hat or SuSE.  

> Is there a way to translate what happens in a "make install" to an RPM?

I'll give the brief explanation of RPM from a packager's point of view.

The packager writes an RPM .spec file.  The spec file contains some 
descriptive information and instructions (scripts and some magic) on how to 
build and install the software.  You call RPM with an argument of the spec 
file to drive a build and install to a local sandbox.  RPM will run the 
commands in the spec file and package the pre-built binaries.  (It also 
creates a .src.rpm.)  

> Perhaps this question is even naive?

Depends on your point of view. :)

> I would really appreciate some advice or alternatives.

If the Linux router has rpm is already RPM-based, then making an RPM is the 
way to go.  With the online version of _Maximum_RPM_, rpjday's doc, and some 
docs I have here, you should be able to go from a functioning build/install 
from source to a functioning RPM in a weekend.

If you're simply tweaking some software that you can get as a .src.rpm, then 
you're in an even better position since the .src.rpm contains the spec file 
required to create a binary .rpm.  You'd just need to tweak the existing spec 
file.

The kernel might be messy, but if you're using (for example) a Red Hat set of 
kernel sources from RPM with patches, then RPM will be perfect.

---Tom



More information about the TriLUG mailing list