Tracking hidden dependencies
Loïc Minier
lool@dooz.org
Sat, 25 Jun 2005 13:54:39 +0200
Hi,
I had an interesting discussion with Tim-Philipp Mueller which started
around bug #315556.
Tim suggested that gst_audio_set_structure_channel_position is missing
from /usr/lib/gstreamer-0.8/libgstaudio.so (which is in
libgstreamer-plugins0.8-0) because the submitter has an older
libgstreamer-plugins0.8-0 and newer audioconvert plugins (from
gstreamer0.8-misc) in /usr/lib/gstreamer-0.8/libgstaudioconvert.so
require it.
Unfortunately, this isn't visible with "ldd", ie. in ELF dependencies,
hence no shlib-depends can be used to work around this.
To work around this, we add the same short term idea, which is about
making every package of gst-plugins depend on ">= current upstream
version", for example ">= 0.8.9" for inter-gst-plugins dependencies.
This is because upstream assumes that gst-plugins is consistent with
itself, but can't be mixed with past/previous releases. For outside of
tree plugins, or GStreamer dependent apps (non-plugin), the interface
is supposedly preserved though.
A medium-term approach would be to ship a dh_gst_makeshlibdeps which
would parse the output of "nm -D" for gstreamer plugins, but since this
probably represent some work and time, and since this will probably
change in 0.9/0.10, I'm not sure I'll implement the idea.
Bye,
--
Loïc Minier <lool@dooz.org>
"Neutral President: I have no strong feelings one way or the other."