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

Single RPM from multiple applications

I have what I think is a bit of a unique problem I'm trying to solve.. I've
dug through Maximum RPM and googled around for solutions, but haven't been
able to find an answer.  Mostly I think this has to do with my lack of
understanding of how multiple Source files in the .spec are handled, but in
any case read on and I'll explain what I'm trying to do:

I have a 3rd party application "Foo-1.1" which is the server side of a
client/server app which I have built into an RPM for local use.  No problems
there.. it was pretty straight-forward, and I mention it here only for

I also have a 3rd party application "Bar-1.3", which is a set of plugins which
belong to Foo-1.1.  Some operate on client machines, others on the server.
The right way to package this up seems to be to create a spec file with two
%packages in it: Bar-server-1.3 and a Bar-client-1.3.

Nothing too difficult so far.. however..

I also have a locally developed set of clients, which are Baz-1.0.  This
package also has some binaries which must be installed on the Foo server, and
some which go on client machines.  It has its own configure and build process,
separate and slightly different from Bar-1.3.

Anywhere Bar-server-1.3 is installed, Baz-server-1.0 should also be installed;
and anywhere Bar-client-1.3 is installed, Baz-client-1.0 should also be

Now, I realize that the easy and obvious way to manage this is to have one
spec file each for Bar and Baz, which each have two %package sections for the
-client and -server halves, and appropriately set co-requisites -- four RPMs
in total.  However, I'd like to have a single spec file, which takes the
Bar-1.3.tar.gz and Baz-1.0.tar.gz source files, does the configure and build
for both, and creates only two RPMs -- Foo-plugins-client and
Foo-plugins-server.  This gives me fewer spec files to maintain, and fewer
RPMs to move around when setting up new machines.

Is this at all possible?  If so, can anyone point me to some docs that explain
how to build the spec file appropriately, or even just an example SRPM I can
look at to see how this functions?

Thanks muchly..

Matt Pounsett                 CIRA - Canadian Internet Registration Authority
Technical Support Programmer                    350 Sparks Street, Suite 1110
matt.pounsett@cira.ca                                 Ottawa, Ontario, Canada
613.237.5335 ext. 231                                      http://www.cira.ca

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