On Saturday 02 June 2007 14:58, Ben Hutchings wrote: > On Fri, 2007-06-01 at 18:03 +0200, Magnus Holmgren wrote: > > Many applications allow their functionality to be extended by means of > > plugins, often in the form of libraries that the application dlopen()s. > > Usually the application provides an API, and like other APIs these APIs > > (and ABIs) can evolve, calling for versioned dependencies. But > > executables aren't shared libraries, so there are no SONAME/NEEDED tags > > (typically, AFAIK, the API headers define some version constants that the > > application queries the plugin for to detect incompatibilities) and using > > dpkg-shlibdeps doesn't work. So how should the -dev package provide > > correct dependency information in these cases? > > <nip> > > The ion3 package provides "ion3-api-" + an API identifier, and > separately-packaged modules depend on this. The API identifier is in > one of the headers in the -dev package.
This works, but either plugin packages become locked to a particular API version, or the application package will have to Provide virtual packages representing API versions it's compatible with. Perhaps that's not a big problem unless the API changes very quickly. -- Magnus Holmgren [EMAIL PROTECTED] (No Cc of list mail needed, thanks)
pgp8bdkmFb6DX.pgp
Description: PGP signature