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

Re: RFC: SDL and X static extension libraries re-revisited

On Fri, Nov 02, 2001 at 05:32:44PM -0500, Sam Hartman wrote:
> Hmm, I was sort of assuming that you would have libsdl depend on
> xlibs-pic rather than things that depend on using sdl in a plugin
> architecture.  The advantage of this is that you can manage the tricky
> versioning issues in one case (libsdl) and minimize the number of
> people who have to get sonames changes, conflicts, etc right.

Except that there's no *reason* for libsdl to declare a dependency on
xlibs-pic.  Everything that's going to need those static extension
libraries will be statically linked with them.  Almost all will use the
regular static versions in xlibs-dev; a very few will require the PIC
objects in xlibs-pic.

Remember, a change in the way libSDL and the extension libs talk to each
other generally will not require a change in libSDL's own interface with
programs that use it.  As Adam pointed out, SDL's purpose in life is to
abstract that stuff away.

Let's say one or more of the static X extension libs at issue "revs" in
such a way that libSDL doesn't work with it anymore.  It's my job to be
aware of this, but SDL upstream will probably be as well, since any
program using SDL will immediately fail to build.

In this event, libsdl needs to change internally, probably not in a way
that affects its own API, and its -dev package should declare a
versioned depends on the corresponding version of xlibs-dev.  It would
have to do this even we didn't bother with xlibs-pic at all.  Since
xlibs-pic exists, however, it should *ALSO* conflict with the older
versions.  The SDL -dev package should not declare any sort of
dependency on xlibs-pic, because the -dev package doesn't actually
require it.  Only a few SDL-dependent packages do, and that only to
build.  Those SDL-dependent plugins should declare a build-dependency on
xlibs-pic, versioning it the same as the SDL -dev package's own
dependency on xlibs-dev.

To my mind, this covers all the bases and doesn't abuse the meanings of
our package relationships.

Ironically, the level of disruption this causes to SDL plugin packages
is exactly proportional to how much change takes place in these static
extension libraries.  If they don't change, nobody has to worry about
keeping up with them.  So, in actual fact, making them shared doesn't
actually buy you a great deal.

> If you take this approach you would need to consider linking libsdl
> both in normal and dlopen contexts.

I don't understand this remark.

G. Branden Robinson                |     It's not a matter of alienating
Debian GNU/Linux                   |     authors.  They have every right to
branden@debian.org                 |     license their software however we
http://people.debian.org/~branden/ |     like.  -- Craig Sanders

Attachment: pgpQp0C8MRwel.pgp
Description: PGP signature

Reply to: