Re: [ANNOUNCE] libchamplain 0.5.2



On Tue, May 18, 2010 at 10:29 PM, Jiří Techet <techet gmail com> wrote:
> On Tue, May 18, 2010 at 10:05, Łukasz Jernaś <deejay1 srem org> wrote:
>> On Tue, May 18, 2010 at 1:49 AM, Jiří Techet <techet gmail com> wrote:
>> 2. IMHO the LIBRARY_VERSION variable in configure.ac should be 0:5:2
>> (0:6:0 rather) or do you plan to keep the ABI stable until the 1.0
>> release of libchamplain?
>>
>
> No. Notice that libchamplain libraries have the major and minor
> version numbers in their name, such as
>
> libchamplain-0.5.so
>
> and the same applies for the include directory name. The reason is
> that the ABI is not frozen yet and changes quite a lot between
> releases (the same applies to ABI). With the version number as a part
> of the library name it is possible to install several versions of
> libchamplain in parallel (each with its own library, pc files and
> include directory), which wouldn't be possible otherwise. During every
> point release the library version is bumped to 0.0.0, so after the 0.6
> release, there will be
>
> libchamplain-0.6.so.0.0.0
>
> in the stable branch and
>
> libchamplain-0.7.so.0.0.0
>
> on trunk. Between the individual releases of 0.6.x and 0.7.x the
> version numbers are updated according to the rules here:

Well, as far as I know (from a few dozen packages made for PLD) if you
specify version at 1:0:0 you'll get libchamplain-0.6.so.1.0.0 with a
symlink to libchamplain-0.6.so
The version flag for libtool allows you to specify ABI versions, so
you can have installed for example libchamplain-0.6.so.1.0.0 and
libchamplain-0.6.so.1.2.3 with different ABI/API versions
simultaneusly. The thing with adding libraryname-0.1.so,
libraryname-0.2.so is just because people usually didn't get the
libtool bits right ;) It really makes things for packagers hard,
because if you change the version after the .so suffix you have to
rebuild every package depending on that library even if the ABI stays
the same. Of course this is all IMHO (see the X.org and KDE libs for a
versioning scheme which is IMO more correct, eg.
libraryname.so.1.2.3), but if the version is 0.0.0 then usually the
--avoid-version parameter could be used (and it is usually patched to
it by packagers)

Regards, (because I'm out of battery)
-- 
Łukasz


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]