[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC: XINE and plugins without Depends cause hangs due to a bug


  (question for d-d in the last paragraph)

  libxine1 ships lots of plugins; if one allows dh_shlibdeps run over
  all of them, one gets a pretty big Depends line (though *not*
  unbearable in a desktop, IMHO). To avoid this, the maintainer lowers
  some of these dependencies to Recommends or Suggests by using
  dpkg-shlibdeps -d (on the less common plugins, I imagine). [But the
  script doing this has a bug which makes it non-functional, #328184.]

  TTBOMK, this works to some extent because xine generates a list of
  available plugins in ~/.xine/catalog.cache; if when generating such
  list, a plugin fails to load, it is not added to the list.

  But imagine this scenario: when running xine for the first time, libX,
  which is NEEDED by pluginX, is installed --> pluginX gets listed as
  available. After a while, the user removes libX because no package
  depends on it. Ideally, on successive runs xine would detect that the
  plugin is no longer loadable, and remove it from the list. However,
  xine _hangs_, instead of coping... amarok's #327203 is caused by this,
  see e.g. #326935 too. Some weird hangup in a futex() call.

  I believe the "not coping" above is a xine bug, but one that I have no
  time, nor interest, on hunting, reporting upstream, or whatever. I
  will file it in our BTS, though, by sending a copy of this mail. But
  still, and in the meantime, its effects are biting our users for real.

  I plan on workarounding this in a NMU by reverting to plain
  dh_shlibdeps behavior until the bug described above gets fixed. For
  reference, we're taking about the following dependencies:

    shlibs:Depends=libasound2 (>> 1.0.9), libc6 (>= 2.3.5-1), libfreetype6 (>= 2.1.5-1), libglu1-xorg | libglu1, libmodplug0c2 (>= 1:0.7-4.1), libogg0 (>= 1.1.2), libpng12-0 (>= 1.2.8rel), libspeex1, libtheora0, libvorbis0a (>= 1.1.0), libxext6 | xlibs (>> 4.1.0), libxinerama1, xlibmesa-gl | libgl1, zlib1g (>= 1:1.2.1)
    shlibs:Recommends=libmng1 (>= 1.0.3-1), libxv1
    shlibs:Suggests=libaa1 (>= 1.2), libartsc0 (>= 1.4.2-1), libaudiofile0 (>= 0.2.3-4), libesd0 (>= 0.2.35) | libesd-alsa0 (>= 0.2.35), libflac7, libglib2.0-0 (>= 2.8.0), libgnomevfs2-0 (>= 2.10.0-0), libncurses5 (>= 5.4-5), libsdl1.2debian (>> 1.2.7+1.2.8), libslang2 (>= 2.0.1-1), libsmbclient (>= 3.0.2a-1), libx11-6 | xlibs (>> 4.1.0)

  If somebody in -devel has objections, or can think of a better method,
  please speak now.


Adeodato Simó
    EM: asp16 [ykwim] alu.ua.es | PK: DA6AE621
When the only tool you have is a hammer, every problem starts to look
like a nail.

Reply to: