On Tue, Apr 06, 2010 at 10:35:58PM +0300, Yavor Doganov wrote: > At Thu, 25 Mar 2010 23:07:11 +0100, > Bill Allombert wrote: > > On Mon, Mar 22, 2010 at 03:06:00PM +0200, Yavor Doganov wrote: > > > libEOAccess (from libgnustep-dl2-0) needs at least one adaptor to > > > be present/installed -- it might be either one from the > > > gnustep-dl2 package (-postgresql or -sqlite), or it might be a > > > proprietary one which I anticipate will never be packaged for > > > Debian. Anything using the library will fail miserably with > > > SIGABRT if no adaptor is found -- the code dynamically discovers > > > the available adaptors by searching the standard GNUstep Bundles > > > path. > > > > Well, assuming the adaptors cannot be used outside of > > libgnustep-dl2-0, > > That's certainly so. > > > then they do not really need to depend on libgnustep-dl2-0, so their > > shlibs dependency can be trimmed. > > Yes, this is possible right now, but... > > > However if the interface of libgnustep-dl2-0 change then there must > > be a mechanism that prevent libgnustep-dl2-0 to load an adaptor for > > the wrong interface. > > The interface of all EO* libraries shipped in libgnustep-dl2-0 is > likely to change at some point in the future (as is for all shared > libraries in the distro). In fact it changed several times in the > past, but because no package in Debian uses these libraries, these > changes remained unnoticed (perhaps even by upstream, as the SONAMEs > didn't change). > > I think that *provided* the adaptors are built from the same source > package, it is OK to trim their dependency on libgnustep-dl2-0, as it
Being from the same source package does not make any difference for binary packages when upgrade are concerned. > is guaranteed that they will migrate together to testing and a prudent > user (except those manually installing .debs) will be guaranteed to > have compatible adapror + libEOAccess. This is not OK, because partial upgrades need to be supported and I am not sure if the current situation (before trimming) is safe with regard to partial upgrades: The only versionned dependency is gnustep-dl2-sqlite-adaptor (0.12.0-1) Depends: libgnustep-dl2-0 (>= 0.12.0) So someone can upgrade libgnustep-dl2-0 to 0.13.0 and keep gnustep-dl2-sqlite-adaptor to 0.12.0-1. Does that work ? Of course trimming the dependency will make things worse in that regard. > (As an additional safety, we > can let the runtime library package depend on the exact > ${binary:Version} of the ORed adaptor package.) Installing an adaptor > will not pull libgnustep-dl2-0, but that is a useless activity anyway > if one does not use DBModeler.app (from gnustep-dl2) or some custom > GDL2-based thingy. Be careful to avoid this: libgnustep-dl2-0: Depends: gnustep-dl2-postresql-adaptor (=0.12.0-1) | gnustep-dl2-sqlite-adaptor (=0.12.0-1) because this allows a system to carry gnustep-dl2-postresql-adaptor 0.12.0-1 and gnustep-dl2-sqlite-adaptor 0.11.0-1 and libgnustep-dl2-0 will likely attempt to load gnustep-dl2-sqlite-adaptor 0.11.0-1. I would suggest to implement some simple mechanisms to define the interfaces and have libgnustep-dl2-0 only look for adaptors for the correct interfaces. Cheers, Bill. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org