superbeast aka Kevin wrote:

>I have noticed that certain software packages have different rpm's for
>the different distributions, and I was wondering why. If the core of the
>OS is the same version, why the need to create separate rpm's for SuSE,
>RedHat, Fedora, etc.?

The core of the OS is of course the Linux kernel.  Although, there is
only one main kernel source (Linus'), there are several variations
created by applying sets of patches.  Every major distribution ships
their Linux distribution with a thusly patched Linux kernel.  Even,
Debian uses a patched Linux kernel.

Some of these kernel patches affect the kernel interface to userland.
Thus, we have reason #1, to patch some user packages to match.

The administration structure of Red Hat/Fedora is night and day
different from that of SuSE (Novell).  This may mean that the
administrative hooks in each package will be different, reason #2.
This is probably also true of Mandrake and other RPM based GNU/Linux
distributions.

The people who maintain open source projects often supply only a tar
ball or sets of tar balls.  Each major distribution must decide if they
will build a single package or split the project down into several
smaller packages.  It's not surprising that different distribution will
split projects into different numbers and types of packages.  This
usually only happens with complicated projects whose nature is really
several related mini-projects that just happen to be maintained by the
same group of developers.  Sometimes there's just no single logical way
to break the multi-project into several small packages, thus different
distributions do it differently.  Reason #3.

Each distribution will define its own variation of the dependencies.
In general the dependencies of a particular package will be very close,
but may be slightly different for different distributions.  Some
distributions will be looser with dependencies and other will be more
restrictive with dependencies and others still will have broken
dependencies.  Reason #4.

Each distribution also fixes bugs (reason #5) in user packages and this
also results in potentially incompatible packages.  Distributions don't
share bug fixes as much as we or they would like because of reasons #1-4
above.

Each major distribution has its own unique installer which may also
affect to a smaller degree the packages installed.  This is a potential
reason #6.  

In the final analysis, there's more than one way to make a set of
RPM (or Debian) packages that comprise an operating system and set of
applications, given an exceedingly detailed specification fro the OS and
the set of specific applications.  Thus, a RPM package designed for one
RPM distribution may or may not work on another RPM distribution,
without at least some tweaking. :)

Sincerely,

Ken Fuchs <kfuchs at winternet.com>

_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list