swarm-support
[Top][All Lists]
Advanced

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

Re: SUSE Users: Build your RPM!


From: Alex Lancaster
Subject: Re: SUSE Users: Build your RPM!
Date: 07 Jul 1999 18:36:02 -0600

>>>>> "PJ" == Paul E Johnson <address@hidden> writes:

[...]

PJ> I do see some problems naming of rpms for different distributions
PJ> because it might become confusing. We might have to introduce the
PJ> term "redhat" and "suse" into the name of the package itself,
PJ> which seems an ugly prospect.  Or the SUSE version, at minimum,
PJ> must bear the name of the distribution that makes it obvious.

RPM .spec files have the `Distribution:' tag that we can use for this
purpose.

PJ> I'm not quite so negative as Alex about the possibility that a
PJ> single RPM can serve both distributions.  It is not pure luck that
PJ> you can "fiddle" suse to make the rpm work.  There are a lot of
PJ> similarities.

PJ> I'd like to try to understand better the problems and see if a
PJ> common RPM binary might not work.  Some of the problems we faced
PJ> are dissolving themselves.  For example, on RedHat egcs and gcc
PJ> are now the same thing, and so there is no more need for that
PJ> fussy distinction.  When we build new RPMS, I'll get rid of it.
PJ> Perhaps if a suse user tells me what they see concerning egcs and
PJ> gcc and xpm-devel when they do "rpm -qa" I'd understand
PJ> better. (don't send to whole mailing list, just me).

Well, there are similarities to be sure, especially the `base'
packages, which are pretty standard between Redhat and SuSE.
Unfortunately, where the distributions diverge are in the
less-standard `add-on' packages, some of which are exactly what Swarm
relies on.

Take, for example the `libpng' package, a Swarm dependency package:

* Redhat 6.0 for i386 splits libpng into two packages,

libpng-1.0.3-2.i386.rpm:

/usr/doc/libpng-1.0.3
/usr/doc/libpng-1.0.3/CHANGES
/usr/doc/libpng-1.0.3/README
/usr/doc/libpng-1.0.3/TODO
/usr/doc/libpng-1.0.3/example.c
/usr/doc/libpng-1.0.3/libpng.txt
/usr/lib/libpng.so.2.1.0.3
/usr/man/man5/png.5

and

libpng-devel-1.0.3-2.rpm:

/usr/include/png.h
/usr/include/pngconf.h
/usr/lib/libpng.a
/usr/lib/libpng.so
/usr/man/man3/libpng.3
/usr/man/man3/libpng.so.2.1.0.3
/usr/man/man3/libpngpf.3

* Whereas SuSE 6.0 Beta for i386, has a single package:

libpng-2.1.0.2-24 RPM for i386:

/usr/X11R6/include/png.h
/usr/X11R6/include/pngconf.h
/usr/X11R6/lib/libpng.a
/usr/X11R6/lib/libpng.so
/usr/X11R6/lib/libpng.so.2.1.0.2
/usr/X11R6/man/man3/libpng.3.gz
/usr/X11R6/man/man3/libpngpf.3.gz
/usr/X11R6/man/man5/png.5.gz
/usr/doc/packages/libpng
/usr/doc/packages/libpng/CHANGES
/usr/doc/packages/libpng/README
/usr/doc/packages/libpng/TODO
/usr/doc/packages/libpng/libpng.txt

Differences:

1) You'll notice that the filesystem layout for the SuSE distribution
is completely different from the Redhat one.  Which means that a Swarm
binary package which compile-in these paths on one distribution, may
(or may not) work, depending on how your dynamic linker is set up, but
most importantly is not *guaranteed* to work (which is the whole point
of packaging, after all).

2) The Redhat package contains the symlink:

/usr/lib/libpng.so -> /usr/lib/libpng.so.2.1.0.3

*only* in the libpng-devel package, *not* the standard libpng package.
So you your package dependencies in the RPM .spec need to be
different, for Redhat you need:

Requires: libpng
Requires: libpng-devel

but SuSE would only need:

Requires: libpng

There are attempts in the GNU/Linux community to develop something
called the `Linux Standard Base' (a set of standard packages and
package naming conventions), but it's a long way off just now, and
it's likely only to standardize the truly `base' packages (such as the
kernel, binutils, glibc etc.)  I can't see a point in the near future
in which something like `libpng' will be standardized.

That said, it might be possible to still maintain a common rpm `.spec'
file with some clever conditional logic which can be used to build
packages on SuSE and Redhat.

 --- Alex

-- 
  Alex Lancaster           |  e-mail: address@hidden
  Swarm Program            |     web: http://www.santafe.edu/~alex
  Santa Fe Institute       |     tel: +1-(505) 984-8800 (ext 242)
-------------------------------------------------------------------

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]