Description
Hi,
I'm trying to update Debian's htslib package to the recently released version 1.3. This worked nicely with the exception of a few exported symbols having disappeared from the shared library, most of which were either made static, replaced by a macro or renamed. This would cause the ABI version to be bumped in Debian, which is probably not intended for a minor version update like the new 1.3. I was able to add some wrappers for most of them (see attached fixup_symbols.patch.txt) to ensure they are still in the library for backwards compatibility.
Three more puzzle me a bit:
libhts.so.1 libhts1 #MINVER#
- MD5_Final@Base 1.0
- MD5_Init@Base 1.0
- MD5_Update@Base 1.0
+#MISSING: 1.3-1# MD5_Final@Base 1.0
+#MISSING: 1.3-1# MD5_Init@Base 1.0
+#MISSING: 1.3-1# MD5_Update@Base 1.0
It appears like at some earlier point in time libhts exported these OpenSSL functions in its own symbol table, and now that the implementation changed in 1.3 they are gone. I have simply wrapped these as well (though I doubt anyone linking to the shared htslib library uses them) -- is the new internal implementation really binary compatible to the OpenSSL one? Can I do this?
I would be glad to get some advice whether my patches make sense... thanks in advance!
Happy holidays,
Sascha