[gst-devel] where is library gst.h?

Thomas Vander Stichele thomas at apestaart.org
Sat Jul 9 09:29:02 CEST 2005


Hi,

> This will not get fixed, because gentoo unlike all other distributions
> has a decent package system.  Let me explain:
> 
> To install gstreamer, one just needs to emerge gstreamer not gstreamer08
> or gstreamer06 or whatever.  Portage allows parallely installable
> versions of the same packe to install using slots. e.g. slot 0.6 of
> package gstreamer can be installed alongside slot 0.8.  Portage has a
> colission protection system that does not allow one package's files to
> overwrite another's.  So gstreamer 0.8.8 may have gst-inspect and
> gstreamer 0.10.0 may have gst-inspect, with both possible to be
> installed, the symlink would collide.

All true, and beside the point.  Remember, gst-inspect is *not* a
symlink.

This doesn't touch anything that makes gentoo have a better package
system, this works in Fedora and Debian as well.  In fact, I believe the
resolution was actually that Gentoo has a slightly worse package system.
Let me explain.

In Fedora, there are two src.rpm's - one for 0.6 and one for 0.8.  Both
of them build three packages, a base lib package (which contains the
versioned binaries), a devel package, and a tools package (which
contains the unversioned binaries).

So if you want both versions installed, you install five packages - two
base, two devel, and one of the tools.  It could be the 0.6 or the 0.8
one, it doesn't matter, since they provide the same functionality.  The
0.8 version obviously "upgrades" the 0.6 version, and they're the only
ones that contain "conflicting" files.

I believe the problem in Gentoo was that when you build or emerge a
package, there's no way to have subpackages.  Ie, you emerge all of
GStreamer, or the equivalent of the three subpackages in Fedora.  So
both the 0.6 and 0.8 ebuilds currently probably list the unversioned
binaries as part of them, hence they conflict.

An easy workaround would be to have three gentoo ebuilds: one for 0.6
that installs core and devel, but not the tools, one for 0.8 that
installs core and devel, but not tools, and one for 0.8 that installs
the tools.  IIRC foser preferred not to do this because of how gentoo
works - it would have to download the same tarball twice.

I'm not going to discuss whether or not gentoo has a better or worse
packaging system than other distros (though in this case it seems that
there are drawbacks to the gentoo one that other package systems handle
without problem) - I'm just saying that it annoys me that we put these
unversioned binaries there to solve a problem (having to version every
binary in our docs) and that a distro chooses not to ship them because
their packaging system has a problem and the hacks to work around it
aren't accepted.

Thomas


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I will play you like a shark
And I'll clutch at your heart
I'll come flying like a spark
To enflame you
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/







More information about the gstreamer-devel mailing list