Dear Mentors, I have a question regarding missing symbols in a shared library package (libgenometools0) after a new upstream release. As it has turned out, some exported symbols have disappeared from the shared library (https://gist.github.com/satta/1ac2d6e38bd577f17d15) between the last and current upstream release. They were not declared as static in the prior version (1.5.1) and have -- most likely inadvertently -- been exported as public symbols. In the new release (1.5.2) they have been remove or renamed (as they were deemed to be internal only by the developers -- of which I am one). This now leads to a discrepancy involving missing symbols, apparently detected by comparison to the 1.5.1 symbols file created by Andreas quite some time ago for me (thanks btw!). According to the policy, this is a condition which normally calls for an ABI version bump :(
However, only two of the missing symbols appeared in public API headers distributed in the 1.5.1 libgenometools0-dev package. This luckily makes it very unlikely that anything built externally against the shared lib will be broken by the 1.5.2 transition unless it uses one of these functions. It has to be noted that both of the functions in question were just renamed for consistency reasons in 1.5.2 and this could easily be fixed in the package by adding a patch introducing wrapper functions with the old names. Under these circumstances (only private, internal symbols which have been mistakenly exported are changed), is it OK to add wrappers for those which are in the official API, and to simply adjust libtool to not export the internal ones in the current version to make sure they do not remain exported? Would it still be necessary in any case to increase the ABI version? Actually as one of the upstream authors I can say we have been rather careful to keep the API/ABI stable -- but only for those that we put into the 'official' API headers. I would be very happy to receive some input on this from some knowledgeable library packagers -- thanks in advance! Kind regards, Sascha -- The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE. -- To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/5315f429.3050...@steinbiss.name