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