On 10/07/17 09:41, Pierre de Villemereuil wrote:
Dear all,
I am not super skilled with compilation/packaging, but I'm trying to update a package to a newer version for the science repo: https://build.opensuse.org/package/show/home:flyos:branches:science/libhts
This library is needed for the SAMtools/BCFtools software for bioinformatics.
Details aside, OBS is not happy with this new version because the make install is creating a libhts.so.2: ln -sf libhts.so.1.5 /home/abuild/rpmbuild/BUILDROOT/libhts1-1.5-14.1.x86_64/usr/lib64/libhts.so.2
I don't get why the MAKEFILE is doing this...
The problem is that this creates an error at the end because the package is named libhts1 (the version is 1.5...): [ 58s] libhts1.x86_64: E: shlib-policy-name-error (Badness: 10000) libhts2 [ 58s] Your package contains a single shared library but is not named after its [ 58s] SONAME.
Any idea on how to correct this? I tried to create a sub-package libhts2 but ended more with even more of a mess... Any help would be very welcome!
Cheers, Pierre
As a bit of background the SONAME is the internal library version, whenever you make incompatible changes to a library you need to increase the version, so it sounds like your upstream has broken compatibility and updated the SONAME correctly but not changed there major version like they probably should have. So even though the version is 1.5 the correct package name is libhts2 but the package version should be 1.5 (Unfortunately upstreams sometimes do silly things and theres not so much we can do about it). -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B