On 16 October 2021 at 17:50, Sebastian Ramacher wrote:
| On 2021-10-15 13:54:07 -0500, Dirk Eddelbuettel wrote:
| > 
| > On 15 October 2021 at 20:35, Sebastian Ramacher wrote:
| > | On 2021-10-15 10:38:48 -0500, Dirk Eddelbuettel wrote:
| > | > 
| > | > Turns out this was fully my fault. The 2.7 release sets the SO number 
to 26,
| > | > and I didn't use that.
| > | 
| > | No, it doesn't. gsl 2.7 has current=26 and age=1, meaning the the 
SOVERSION
| > | is 25. gsl 2.6 had current=25, age=0. Increasing current was correct,
| > | increasing age wasn't.
| > 
| > I will admit not fully understanding the three components used as eg in
| > upstream's configuire.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-2.6    libgsl 25:0:0   libgslcblas 0:0:0 
| > dnl gsl-2.7    libgsl 26:0:1   libgslcblas 0:0:0 
| > 
| > and
| > 
| > GSL_CURRENT=26
| > GSL_REVISION=0
| > GSL_AGE=1
| > 
| > If I understand you correctly we needed / need
| > 
| > dnl gsl-2.7    libgsl 26:0:0   libgslcblas 0:0:0 
| > 
| > GSL_CURRENT=26
| > GSL_REVISION=0
| > GSL_AGE=0
| > 
| > Is that correct (as far as the Debian package goes) ?
| 
| That would have been correct, yes.
| 
| > What do you (ie Sebastian) suggest we do going forward?  Be more careful
| > about increasing CURRENT (only) when the ABI changes? (And I CC'ed Patrick
| > from GSL upstream now.)
| 
| The change to CURRENT was fine. I would suggest following the rules from
| 
https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html.
| 
| Starting from GSL_CURRENT=25, GSL_AGE=0 from gsl 2.6 and ignoring
| everything regarding GSL_REVISION.
| 
| 4. If any interfaces have been added, removed, or changed since the last
| update, increment current, and set revision to 0.
| 
| => GSL_CURRENT=26, GSL_AGE=0
| 
| 5. If any interfaces have been added since the last public release, then
| increment age.
| 
| => GSL_CURRENT=26, GSL_AGE=1
| 
| 6. If any interfaces have been removed or changed since the last public
| release, then set age to 0.
| 
| => GSL_CURRENT=26, GSL_AGE=0

Thank you so much Sebastian, that was rather helpful. I think I will look
into a package update for Debian, making this a local patch. As this will
lead to a new soname I probably will have to upload to experimental first and
then trigger a proper migration, correct.
 
| It would be good to have a release of gsl with fixed values (e.g. a gsl
| version 2.7.1). Other distributions will be affected by this issue as
| well.

Agreed. Any thoughts, Patrick?

Dirk

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

Reply via email to