On Wed, Jun 06, 2007 at 02:33:58PM +0200, Raphael Hertzog wrote: > On Wed, 06 Jun 2007, Steve Langasek wrote: > > > > Consider cases where you want to declare that more than one package > > > > satisfies the dependency -- we do have libraries using that today in > > > > their > > > > shlibs. I do think it's necessary here to support the full range of > > > > dependency semantics here.
> > > Good that you mention it because it can't be done with my current > > > implementation/syntax... > > > Can we make the supposition that in that case all packages providing the > > > library have the same version? > > Nope. Have a look at libGL. (libGL would actually benefit significantly > > from symbol-shlibs, because not all of the symbols exported by each of the > > implementors are supported by all the others. :/) > Can you expand? I don't see at all how libgl would "benefit" from this new > approach. The current shlibs is already very lax and non-versioned. Yes, and that's the problem: I know the libgl shlibs to have been wrong in certain corner cases involving uncommon symbols (whether those are implementors adding their own extensions, or failing to implement the standard, or just exposing symbols in the lib that aren't part of the API in the headers, I don't know). --- /tmp/mesa-syms 2007-06-06 22:32:25.000000000 +0000 +++ /tmp/nvidia-syms 2007-06-06 22:31:01.000000000 +0000 <snip> Base glAccum +Base glActiveStencilFaceEXT Base glActiveTexture Base glActiveTextureARB -Base glAlphaFragmentOp1ATI -Base glAlphaFragmentOp2ATI -Base glAlphaFragmentOp3ATI +Base glActiveVaryingNV +Base glAddSwapHintRectWIN Base glAlphaFunc Base glAreProgramsResidentNV Base glAreTexturesResident @@ -106,14 +53,21 @@ Base glAttachObjectARB Base glAttachShader Base glBegin -Base glBeginFragmentShaderATI +Base glBeginConditionalRenderNVX +Base glBeginConditionalRenderOES +Base glBeginOcclusionQueryNV Base glBeginQuery Base glBeginQueryARB +Base glBeginTransformFeedbackNV +Base glBindArraySetARB Base glBindAttribLocation Base glBindAttribLocationARB Base glBindBuffer Base glBindBufferARB -Base glBindFragmentShaderATI +Base glBindBufferBaseNV +Base glBindBufferOffsetNV +Base glBindBufferRangeNV +Base glBindFragDataLocationEXT Base glBindFramebufferEXT Base glBindProgramARB <snip> $ diff -u /tmp/mesa-syms /tmp/nvidia-syms |grep -c '^\+.*\bgl' 255 $ diff -u /tmp/mesa-syms /tmp/nvidia-syms |grep -c '^\-.*\bgl' 75 $ For another example, see fam/gamin, which are supposed to be 100% ABI-compatible, but I'm not sure this is the case. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]