curl / Mailing Lists / curl-library / Single Mail

curl-library

SONAME

From: Zakrzewski, Jakub <Jakub.Zakrzewski_at_scheer-group.com>
Date: Sat, 26 Aug 2017 17:38:38 +0000

Hi,

I wanted to fix the SONAME for CMake builds but first I have to understand something.

This is a fragment of lib/Makefile.am:

if SONAME_BUMP
#
# Bumping of SONAME conditionally may seem like a weird thing to do, and yeah
# it is. The problem is that we try to avoid the bump as hard as possible, but
# yet it is still necessary for a few rare situations. The configure script will
# attempt to figure out these situations, and it can be forced to consider this
# to be such a case! See README.curl_off_t for further details.
#
# This conditional soname bump SHOULD be removed at next "proper" bump.
#
VERSIONINFO=-version-info 9:0:4
else
VERSIONINFO=-version-info 8:0:4
endif

# This flag accepts an argument of the form current[:revision[:age]]. So,
# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
# 1.
#
# Here's the simplified rule guide on how to change -version-info:
# (current version is C:R:A)
#
# 1. if there are only source changes, use C:R+1:A
# 2. if interfaces were added use C+1:0:A+1
# 3. if interfaces were removed, then use C+1:0:0

First, the comment suggests that the configure script can make a decision if the SONAME should be bumped.
I haven't found any code supporting that statement. The version info is set here to one of two values and that's all.
The "SONAME_BUMP" variable is set based on a configure option (so by the user/developer) and nowhere else.
Am I missing something or the comment is misleading?

Second: unless I'm that stupid (entirely possible), the bump here does not adhere to the guide (the comment).
The current version will produce libcurl.so.4.4.0, the bumped one libcurl.so.5.4.0 instead of expected libcurl.so.5.0.0.

The third thing is the message at the configure summary:
> SONAME bump: yes - WARNING: this library will be built with the SONAME
> number bumped due to (a detected) ABI breakage.
> See lib/README.curl_off_t for details on this.

?I haven't found the mentioned file lib/README.curl_off_t.

Could someone enlighten me on the subject? I'm not sure if there are errors or I'm not getting something.

--
Grüsse / Cheers / Pozdrawiam,
Jakub

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2017-08-26