Hi, On 26/07/17 14:39, Dirk Eddelbuettel wrote: > On 26 July 2017 at 15:18, Julien Cristau wrote: > | Control: reopen -1 > | > | On Wed, Jul 26, 2017 at 12:57:55 +0100, James Cowgill wrote: > | > | > Hi, > | > > | > On 26/07/17 12:32, Dirk Eddelbuettel wrote: > | > > On 26 July 2017 at 13:14, Michal Politowski wrote: > | > > | Package: libgsl2 > | > > | Version: 2.4+dfsg-1 > | > > | Severity: important > | > > | > | > > | libgsl2 2.3+dfsg-1 contains /usr/lib/i386-linux-gnu/libgsl.so.19 (on > i386) > | > > | libgsl2 2.4+dfsg-1 contains /usr/lib/i386-linux-gnu/libgsl.so.23 > | > > | this breaks packages depending on libgsl2. > | > > | > | > > | If the soname changed, package name must change too. > | > > > | > > Right. I'll change the soname. > | > > | > From NEWS: > | > > ** removed routines which were deprecated in v2.1: > | > > gsl_bspline_deriv_alloc > | > > gsl_bspline_deriv_free > | > > | > Isn't this an ABI break? If so, upstream changing the SONAME was correct > | > and the package should be renamed (instead of reusing the old > | > incompatible SONAME). > | > > | Yes. You need to either bump SONAME *and* change package name, or keep > | the package name and SONAME but revert the ABI breakage. There's no > | option where you get to break ABI but keep the SONAME and/or package > | name. > > Allow me to quote myself from a reply I just sent a minute ago: > > We have this discussion on every release. Look what is in (upstream's) > configure.ac: > > dnl Library versioning (C:R:A == current:revision:age) > dnl See the libtool manual for an explanation of the numbers > dnl > dnl gsl-1.0 libgsl 0:0:0 libgslcblas 0:0:0 > dnl gsl-1.1 libgsl 1:0:1 libgslcblas 0:0:0 > dnl gsl-1.1.1 libgsl 2:0:2 libgslcblas 0:0:0 > dnl gsl-1.2 libgsl 3:0:3 libgslcblas 0:0:0 > dnl gsl-1.3 libgsl 4:0:4 libgslcblas 0:0:0 > dnl gsl-1.4 libgsl 5:0:5 libgslcblas 0:0:0 > dnl gsl-1.5 libgsl 6:0:6 libgslcblas 0:0:0 > dnl gsl-1.6 libgsl 7:0:7 libgslcblas 0:0:0 > dnl gsl-1.7 libgsl 8:0:8 libgslcblas 0:0:0 > dnl gsl-1.8 libgsl 9:0:9 libgslcblas 0:0:0 > dnl gsl-1.9 libgsl 10:0:10 libgslcblas 0:0:0 > dnl gsl-1.10 libgsl 10:0:10 (*) libgslcblas 0:0:0 > dnl gsl-1.11 libgsl 12:0:12 libgslcblas 0:0:0 > dnl gsl-1.12 libgsl 13:0:13 libgslcblas 0:0:0 > dnl gsl-1.13 libgsl 14:0:14 libgslcblas 0:0:0 > dnl gsl-1.14 libgsl 15:0:15 libgslcblas 0:0:0 > dnl gsl-1.15 libgsl 16:0:16 libgslcblas 0:0:0 > dnl gsl-1.16 libgsl 17:0:17 libgslcblas 0:0:0 > dnl gsl-2.0 libgsl 18:0:18 (**) libgslcblas 0:0:0 > dnl gsl-2.1 libgsl 19:0:0 libgslcblas 0:0:0 > dnl gsl-2.2 libgsl 20:0:1 libgslcblas 0:0:0 > dnl gsl-2.2.1 libgsl 21:0:2 libgslcblas 0:0:0 > dnl gsl-2.3 libgsl 22:0:3 libgslcblas 0:0:0 > dnl gsl-2.4 libgsl 23:0:0 libgslcblas 0:0:0 > dnl > dnl (*) There was an error on this release. Firstly, the versioning > dnl numbers were not updated. Secondly, 2 functions were removed, but > dnl the age not reset--this should have been 11:0:0. However these > dnl functions were not documented and are regarded as internal, so we > dnl will assume 11:0:11. > dnl > dnl (**) There was an error on this release. Age should have been > dnl reset to 18:0:0 > > I maitained this for close to 20 years, and we done (IIRC) ONE soname > change.
The list above only contains 3 ABI changes, of which one was "ignored" by upstream. The first one (ignored as detailed above): > dnl gsl-1.9 libgsl 10:0:10 libgslcblas 0:0:0 > dnl gsl-1.10 libgsl 10:0:10 (*) libgslcblas 0:0:0 One here: > dnl gsl-1.16 libgsl 17:0:17 libgslcblas 0:0:0 > dnl gsl-2.0 libgsl 18:0:18 (**) libgslcblas 0:0:0 > dnl gsl-2.1 libgsl 19:0:0 libgslcblas 0:0:0 And the current one we're talking about here: > dnl gsl-2.3 libgsl 22:0:3 libgslcblas 0:0:0 > dnl gsl-2.4 libgsl 23:0:0 libgslcblas 0:0:0 James
signature.asc
Description: OpenPGP digital signature