Hi fellow developpers, I maintain iiwusynth, which until now shipped unversioned libraries. I have been discussing with upstream author for the past days and he agreed that versioning libraries is certainly a good thing.
He's in the process of versioning his libraries but asked me details about the versioning scheme, and I'm not sure what the correct answer his... In two words, his question is: should a binary and the library it depends on have the same version number ? Say foo is version M.m.p and depends on foo dynamic library. Should the library necesarily be called libfooM of could it be libfooX ? On one hand I have the example of avifile-player version 0.7.12.20020719-1.2, which depends on libavifile0 version 0.7. OTOH, we have aspell version 0.33.7.1 which depends on libaspell10 version 0.33.7 What is the Very True Way ? I paste below the details of his question: Please CC me on reply. Thanks for your help. ----- Forwarded message from Peter Hanappe <[EMAIL PROTECTED]> ----- From: Peter Hanappe <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: bug in iiwusynth: dubious FPE logging implementation X-Virus-Scanned: by AMaViS new-20020517 X-Razor-id: 44bb8d5d94b139efb3297b797e4e382641ab7d54 X-Spam-Status: No, hits=1.6 tests=MAY_BE_FORGED Eric Van Buggenhaut wrote: [...] >>You said in a previous mail: "Binary >>executables should be compatible with one major version, all across >>its succesive minor numbers." Just to make sure I get this right, do you >>mind >>I write down a little scenario: >> >>- I install iiwusynth-M.m.p that is linked against libiiwusynth.so.X. >> The ABI version of libiiwusynth is X. >> >>- Later, I update to iiwusynth-M.m+1.p that is also linked against >> libiiwusynth.so.X. There should be no problems since they are >> ABI compatible. I don't necessarily have to update libiiwusynth. >> >>- I update libiiwusynth to a newer version, however that is still ABI >>version X >> (i.e. libiiwusynth.so.X), everything continues to work. >> >>- However, if I update iiwusynth to version M.m+2.p that is linked against >> libiiwusynth.so.X+1 there is a conflict and I'll need to install >> libiiwusynth.so.X+1 >> as well. >> >>Is this about correct? >> > >Yes, that's exactly how it works. > >One detail though, in the scenario above X always = M so I rewrite it: This I don't understand. I have been searching on the web a little and I thought I understood that the library version isn't necessarily equal to the project version. For example, I checked on the debian web site, libaspell version 0.33.7.1-8 (package libaspell10) installs libaspell.so.10, and not libaspell.so.0 (M=0, X=10). I don't want to update iiwusynth to version 1.x.y because somehow (psychologically) version 1.x is the first stable release. If X always = M than *all* libraries before iiwusynth 1.0 have major number 0. It's impossible to keep all those 0 library version ABI compatible, especially in the beginning of a project. Let me know what your thoughts on this are. We'd better straighten this all out before making new packages to avoid future confusion. >>Sorry to annoy you with all these questions but I want to make sure I >>understand >>it correctly. ----- End forwarded message ----- -- Eric VAN BUGGENHAUT [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]