arpack-ng
arpack-ng copied to clipboard
Increase SONAME version numbering in line with libtool suggestions
The SONAME version was last updated with the 3.0 release of arpack-ng.
The SONAME version numbering should be updated for code revisions as well (revision number only still indicating interface compatibility). If this is not updated it makes it difficult to track that a library is in fact newer.
See ftp://ftp.gnu.org/old-gnu/Manuals/libtool-1.4.2/html_node/libtool_35.html
The soname is about the versioning of the ABI, not the software itself. AFAIK, the arpack library is still ABI compatible with the previous versions. Therefor, doesn't require a bump of soname.
In the Debian package, I am maintaining a list of symbols https://salsa.debian.org/science-team/arpack/blob/master/debian/libarpack2.symbols and the tool didn't detect changes which would requires to bump the SONAME.
Regardless if it has to do with API or ABI it is still helpful to change the revision number if (quoting from the link above)
- If the library source code has changed at all since the last update, then increment revision (
c:r:a' becomesc:r+1:a')
The problem that I am facing is that if I compile with arpack-ng-3.4.0 or arpack-ng-3.6.1 I end up with libarpack-ng.so.2.0.0. So there is no way of telling which library I am actually dealing with when looking at the file itself.
If the revision number is updated as suggested then I would at least have say libarpack-ng.so.2.0.1. and libarpack-ng.so.2.0.4. for argument sake. Both would be compatible with my binary and I would use soft links (as is customary - libarpack-ng.so.2) to point to the desired version.
oh, ok, that. Sure, feel free to submit a PR!
Thanks.
I have submitted a pull request for this issue, however this is only for this release and I will not be able to do this for every release. I would suggest that you add this to the stuff that needs to be done for every release.
I don't think it would make sense to go an try to fix this for versions in the past as that might break many things for people relying on the full SONAME that currently assume 2.0.0.
ps. this is my first pull request so pardon if I missed something.