Hi Shane,
On Wed, 21 Mar 2001, Shane Wegner wrote:
> I have packaged shared libraries in the past but am looking
> for some help with this particular one. I am packaging
> version 1.0.0 of dotconf and rather than naming it
> libdotconf.so.1 as was done for 0.x (libdotconf.so.0) it's
> named libdotconf-1.0.so.0. Now, I was under the impression
> that one named a library libfoo.so.x and incremented x
> whenever there was an API change making it binary
> incompatable with the previous version. How would I
> package something where the major version is actually
> before the .so extention? How should the package name
> change as the API changes? Can I just modify the source to
> call it libdotconf.so.1 and call my package libdotconf1 or
> is that not ideal?
This is unfortunately not a unique situation. Other libraries are maintained
upstream by people who don't understand proper library versioning either (and
by 'proper', I mean "the tried and true method that's been used on Unix for
years and is the known standard"). Case in point is Imlib, which recently
made a 2.0 release... and which ships libraries with the soname
'libImlib2.so.0'.
The problem with trying to correct the library names in the package is that
your packages aren't binary-compatible with third-party software precompiled
for this version of the library; libfoo.so.1 will not satisfy the dependencies
on libfoo-1.0.so.0, no matter how you push on the square peg. Likewise it's
not a good solution to call the package 'libfoo1', because the package name
should indicate the contents. libfoo1 -> libfoo.so.1. If you call the package
libfoo1 and it contains libfoo1.so.0, what happens if the next release is
libfoo1.so.1? The least-bad option that seems to hold forth is to name the
package 'libfoo10' (perhaps with a delimiter between the 1 and the 0?)... and
then petition the upstream to un-break their library names...
HTH,
Steve Langasek
postmodern programmer
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]