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."