Stefan Teleman wrote:
>
>
> Joseph Kowalski wrote:
>
>> My preference is to just drop the multi-versioned name, unless
>> significant value can be suggested for it.
>
> There is value in letting these multi-versioned libraries the way they
> are:
>
> 1. There is currently precedent:
>
> /usr/lib/libpng.so
> /usr/lib/libpng.so.2
> /usr/lib/libpng.so.2.1.0.15
> /usr/lib/libpng.so.2.1.0.18rc5
> /usr/lib/libpng.so.3
> /usr/lib/libpng.so.3.1.2.5
> /usr/lib/libpng.so.3.1.2.8
> /usr/lib/libpng10.so
> /usr/lib/libpng10.so.0
> /usr/lib/libpng10.so.0.1.0.15
> /usr/lib/libpng10.so.0.1.0.18rc5
> /usr/lib/libpng12.so
> /usr/lib/libpng12.so.0
> /usr/lib/libpng12.so.0.1.2.5
> /usr/lib/libpng12.so.0.1.2.8
There appear to currently be outliers/bugs. I don't buy this. 8^)
(see below)
> 2. For many other FOSS packages, ./configure determines if the correct
> version of a required library is available by "chopping" the versioned
> name of the library into its numbered components. For example:
>
> libname="/usr/lib/libtiff.so.3.8.2"
> major_version=`echo ${libname} | cut -f3 -d"."`
> minor_version=`echo ${libname} | cut -f4 -d"."`
> micro_version=`echo ${libname} | cut -f4 -d"."`
>
> if test $major_version -ge "3" && test $minor_version -ge "7" && test
> $micro_version -ge "0" ; then
> echo "#define HAVE_LIBTIFF 1" >> $config_h 2>&1
> else
> echo "#define HAVE_LIBTIFF 0" >> $config_h 2>&1
> fi
>
> Removing the version numbers from the library name would cause an
> increase in ./configure patching, because ./configure would
> erroneously fail in this case.
However, I do buy this. Seems like a good reason.
Now, back to these cases. I'll assert:
The multi-version number name is Volatile, not Uncommitted. You want
to be able to update this at any time.
The SONAME needs to be in the exported interface table as
Uncommittted. This is what you bind to.
These levels need to be explicit in the ATTRIBUTES section of the
man page, perhaps accompanied by a NOTE.
Agreed?
ARC members: we seem to be setting a precedent here. Any objections?
> --Stefan
- thanks,
- jek3