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