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.

Dirk

| 
| Cheers,
| Julien

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

Reply via email to