Package: libxine1
Version: 1.1.7-2
Severity: serious

Most of the dependencies were turned into "Recommends:" beginning with
version 1.1.7-2. This renders the package unusable for almost
(possibly that there's exception; but I can't imagine any) every user
of the library; except for those people who install the recommended
packages by default.

The issue is that even with the announced change of apt to install
those packages by default this problem will not be solved
sufficiently. The root of the trouble is that although those
dependencies aren't absolute for xine-lib itself many of them are
needed by the users of the library. And the main point is: those users
can't depend on those.

There are basic reasons for that: The users don't access those
libraries directly, they don't know which libraries are needed and
even less which version; all that stuff is internal to xine and
therefore only libxine can deal with those dependencies correctly.

For example an X output plugin: all the user knows is that it is an X
plugin - something around 20 lines in the header is shared between the
plugin and the user - but it doesn't know whether shm, xv, xvmc,
opengl, sdl etc is used. Even less it knows which additional libraries
are needed for those plugins to work.

In the current situation it is very easy to create gentoo-like breakages [1].

For the solution: Because this issue can't be solved at other places
than libxine (as an example: it would be wrong for amarok to depend on
libmodplug0c2 to allow playing mp3 files; and it's equally wrong if
you can't play those files because of the way libxine deals with
dependencies [2]), there are two possible approaches:

1) Revert to the old way and using "Depends:". I know that you don't
like that idea; but on the other hand I wonder why you don't find the
current recommends-way-of-doing-things problematic.
2) Split the output plugins into different packages, like
libxine1-xxx-all (which depends on the others and is installed by
default) and libxine1-xxx-<name-of-plugin>, which hard depends on the
needed stuff. You could do the following split: normal-x-plugins (shm,
xv, xvmc, gl), normal-xcb-plugins (shm, xv) and for each of the
special ones one package (sdl, dfb, ...). I don't see much sense in
splitting the demuxers / decoders (apart from legal reasons; but in
this case you'd have to rip away the offending stuff from the source
anyway). I think it's just annoying for most users to only have a
half-baken/"codeced" system.

I made the bug report rc to prevent this package from entering testing
until this issue hasn't been fully solved (to avoid needless annoyance
for users).

Christoph


[1] attached
[2] discussion on #debian-qt-kde; Debian Qt/KDE Team can confirm that
[OUCH!!] There are no input plugins.
         xine needs at least one input plugin, but none is installed.
         You should probably reinstall xine-lib...
         press <enter> to continue...

[OUCH!!] There are no demux plugins.
         xine needs at least one demux plugin, but none is installed.
         You should probably reinstall xine-lib...
         press <enter> to continue...

[OUCH!!] There are no decoder plugins.
         xine needs at least one decoder plugin, but none is installed.
         You should probably reinstall xine-lib...
         press <enter> to continue...

[OUCH!!] There are no video_out plugins.
         xine needs at least one video_out plugin, but none is installed.
         You should probably reinstall xine-lib...
         press <enter> to continue...

[OUCH!!] There are no audio_out plugins.
         xine needs at least one audio_out plugin, but none is installed.
         You should probably reinstall xine-lib...
         press <enter> to continue...

Reply via email to