[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LGDC Homepage & LGB



Jorrit Tyberghein wrote:
> I always assumed that rpm's are more for stable releases. 
They're even handy during development, believe it or not,
since they automate installing and uninstalling.

> The problem is that there is at least one new version 
> every week. Sometimes more. So creating the rpm's
> should not be too difficult.
> 
> What does it involve to create an 'rpm'? I need to be able to do it on Solaris as
> that's the machine I'm using for distributing CS.

Above all, know that .rpm's are designed to make life easier
firstly for Red Hat users.  Other Unixes are starting to use
RPM, but Red Hat users are still the main consumers.

First, you need RPM.  (It's the tool that generates and uses .rpm
files.)
You can get it for Solaris at http://www.solaris.rpm.org/
But most people only use it on Linux, so you'd be forgiven
if you delegated RPM-building to someone with a Linux box.

Second, the basic idea is to write a "spec file" that 
1) lists the steps needed to unpack the Crystal Space tarball, 
   extract the install script, and run it.
2) lists the packages that must be installed before the Crystal Space
package can be used (e.g. it might depend on OpenGL.rpm) 
and 
3) lists the files installed by the Crystal Space install script.
Spec files can be quite short.  

Third, you run RPM in 'build mode', which 
saves the tarball and the spec file inside a .src.rpm file.
It also builds the package and saves the files listed in step 3
inside an architecture-specific binary .rpm file.
Users can install either the sources or the binaries as they
wish; either way, everything just plain works.

It took me a day to go from 'never used RPM' to having put 
together a source .rpm for XAnim that even automated downloading 
the commercial cinepak driver in a way that didn't 
violate its licensing agreement; the result is a much easier 
way to legally install an xanim that supports
Cinepak movies.  See http://www.kegel.com for my .rpm.

Even if you delegate the .rpm building to a Linux person,
you probably want to keep the .spec file they use in your
CVS source tree, so anyone with CVS access can fix it if
it needs it.

It would probably be easy to have somebody set up a nightly
fetch-everything-from-CVS-and-build-the-RPM crontab job.  I do 
stuff like that all the time at work...

- Dan