-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.9.4.0 changed the interface and didn't bump the SONAME #564
Comments
@yurivict: Thanks a lot for your issues (on FreeBSD bugtracker and here), please read and comment here: |
Yes, this is unfortunate situation. @tuexen How about adding a tiny fix (just bumping of soversion/soname) and making of new git tag |
@tehnick: I think that 1.0.0 or 1.0.0.0 will be better, like Fedora 31/32/33/34 have already 1.0.0 versions: https://src.fedoraproject.org/rpms/usrsctp:
From: cc: @xvitaly. Note: The API has changed: #561 (comment) + #561 (comment) + #318 + #439 |
Where is the soversion set in comparison to the version of the library? I guess for the autotools stuff, this sets the version of the library, and this sets the soversion. We can bump the version 0.9.4.1 and to soversion to 2.0.0. |
I am not sure that this is correct assumption regarding soversion. As far as I see, package libusrsctp in Debian is built using autotools. (Just find
So real soversion is autotools based builds is
In cmake based builds library version and soversion are set by one string:
I do not know a situation with Meson build system, because I have never worked with it, but this string looks very suspicious to me. Please test that shared library built by it has the same
I would recommend to use soversion Just a side note for @jonassmedegaard , not related to library: |
I will send a PR with fixes shortly. |
Meson does not support X.Y.Z.N versions:
|
Introduced a separate API/ABI version fields for shared library version: Meson:
Cmake:
Will try to do the same for the automake. |
I think it will be better to use the full SOVERSION to be unified with all supported build systems. I will update my PR shortly. Now all build systems produces the same result. Cmake:
Meson:
Automake:
LGTM now. |
Almost correct. SONAME is not the value defined in the Makefile but is computed from those 3 components. Probably best documentation of libtool versioning (better than official documentation) is this: https://autotools.io/libtool/version.html
Correct.
I would recommend to read the libtool versioning documentation referenced above before deciding which should be the nex SONAME.
Correct: Yesterday was the deadline for introducing major library changes (and "introducing" involves a screening by the Debian ftpmaster team which can take days or weeks, so even if uploaded yesterday it was unlikely to make it in time). That said, the damage is already done: the breaking change tracked in this issue was introduced 5 months ago and is included in Debian. |
@tehnick @jonassmedegaard Please check PR #565. It should fix all of these issues. |
otherwise - if Debian won't accept an exception to sneak in a new major release of libusrsctp, then it simply means what was known already: That SONAME 1 is an unstable SONAME that can mean multiple things, because it stayed the same across multiple years with (unfortunately) at least one breakage. |
Depending packages require to be patched now, for example https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252581
Please always bump the shared library's soname when breaking API changes are made:
In this case 1 should be changed to 2.
The text was updated successfully, but these errors were encountered: