On 07/26/2017 03:39 PM, 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.
> 
>    I'd rather not get into the dance of forcing soname changes.
> 
> I stand by this.
> 
That's fine, you don't have to change the SONAME, so long as you revert
the ABI breakage.

Cheers,
Julien

Reply via email to