What about the removed dependencies?

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Mon Apr 30 19:53:04 UTC 2012


Hi,

So what happens with the problem of the missing dependencies?
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670122
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669571

I think that they are needed because the .so an static linking links
to them, even if they are not used in SDL_image.h header (and the same
for other modules).  There are different .c files to support each of
the image (or audio, etc) formats, so indeed the library depends on
them "logically", even if "technically" it shouldn't be necessary.

Ideally, if application A depends on libpng it would depend and link
to it along with SDL when compiling, and avoid the other gazillion
dependencies, without causing any problem.  But part of SDL's job is
to abstract people from such mess of having to decide which formats to
support, and just support everything out of the box.

Theoretically it should be even possible to support different formats
than what the package is shipped with.  For example, if a game loads
portraits of avatars, it should be possible to define a new portrait
for one of the avatar in, say. webp format, when all of the rest are
in png (for example, because the human player choses a favourite image
for the avatar in a local directory).  The game shouldn't fail/crash
when trying to load this image just because the Debian maintainer
oversought a new image format supported in a new SDL-image version.

I don't know if technically, by removing the dependencies only from
the -dev, this is actually not a problem...

Also, some SDL modules and formats support the concept of "shared",
which is to load support as plugins instead of linking at build time.
In this case, if (say) libpng does not exist when the plugin is
loaded, it will fail (or crash?) at runtime, but I don't think that
this is appropriate for Debian, and probably the best scenario to use
that is for developers of apps who know exactly what they want to
deploy when shipping a bundled SDL copy.

On top of that, I think that SDL packages depended for too long on
those libraries, so removing the dependencies a couple of months
before a freeze when there are 150-200 packages depending on SDL is
not good... I guess that, if we disable the dependencies in the end,
we should do it in another moment in time (after the freeze, or in 2.0
versions).

I volunteer to put back those dependencies and upload those versions
if everybody agrees, but I am also happy if you take part in the
fixes.

Comments?

Cheers.



More information about the Pkg-sdl-maintainers mailing list