[gst-devel] Bundling of needed libraries

Christian Fredrik Kalager Schaller Uraeus at linuxrising.org
Wed Dec 12 13:20:02 CET 2001


Hi team,
It is our plan to make a release of GStreamer in about 2 months that can
be labeled stable and which will get bundled with GNOME2. This makes our
current problem with unstable libraries even more of a pain. We need to
have a way to let people have GStreamer installed without having to
search for hours and days to find the exact same snapshot of the library
that we used in order to be able to build or have gstreamer losing
functionality everytime they try and update a library.

This is also a problem for us as demonstrated during the work with the
0.3.0 release.

On the other side we don't want to just add the libraries to GStreamer
creating extra work for us. 

My suggestion to a solution is as follows, and it is largely inspired
for how Abiword does it.

a) We make a system that allows us to tell the build system which
libraries to bundle as compared to using the ones installed on the
system. This means that we still can make releases exactly like the ones
we do today without any libs included.

b) The bundled libraries have to be available for the GStreamer build
system by having a .tar.gz with its source in the GStreamer root
directory. 

c) The bundled libraries gets built using their own buildscripts and
placed under %{prefix}/lib/gst/3rdpartylibs which is also the place
where the plugins depending on them will link to them.

This way the plugins using the most API unstable libs can have the
working version of the lib available without the user getting troubles
when building or when running due to having the wrong snapshot of the
library installed.

Plugins that maybe should be bundled:
mpeg2dec, avifile, librtp, ffmpeg

Plugins that definetly should not need bundling:
gnome-vfs, mikmod, au, wav, affile, SDL etc. In other words plugins
depending on post 1.0 libs

Christian

I know this is controversial but hopefully this will lead to a
constructive debate on how to solve this problem







More information about the gstreamer-devel mailing list