[opensuse-packaging] Bogus rpmlint error packaging a shared C++ library

Hi! Amazon has recently created new C++ dependencies for their AWS SDK in C++, those are aws-c-common, aws-c-event-stream and aws-checksums. I am currently in the process of packaging aws-c-common as a shared library package [1]. Unfortunately, I got stuck in the process with one strange issue: [ 18s] libaws-c-common1.0.0.x86_64: W: shlib-unversioned-lib libaws-c-common.so.0unstable [ 18s] Your package matches the Shared Library Policy Naming Scheme but contains an [ 18s] unversioned library. Therefore it is very unlikely that your package can be [ 18s] installed in parallel to another version of this library package. Consider [ 18s] moving unversioned parts into a runtime package. [ 18s] [ 18s] libaws-c-common1.0.0.x86_64: E: shlib-policy-name-error (Badness: 10000) libaws-c-common0unstable [ 18s] Your package contains a single shared library but is not named after its [ 18s] SONAME. The thing is that the actual packages don't contain the symbolic link in question: suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/RPMS/x86_64 # rpm -ql *rpm |grep unstable suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/RPMS/x86_64 # Yet rpmlint is complaining. Anyone has got any idea? Adrian

On Jan 24 2019, John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> wrote:
The thing is that the actual packages don't contain the symbolic link in question:
But it has a library with that soname, and that is what counts. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 2:35 PM, Andreas Schwab wrote:
You mean the SONAME is part of the shared libary file? i.e., running objcopy on libaws-c-common.so.1.0.0 would still dump that SONAME? Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thu, 24 Jan 2019, John Paul Adrian Glaubitz wrote:
readelf -d would, yes. Somehow their setup is broken.
Adrian
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 2:44 PM, Richard Biener wrote:
Right. That was what I was looking for: suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/BUILD/aws-c-common-0.3.0/build # readelf -d libaws-c-common.so.1.0.0 |grep SONAME 0x000000000000000e (SONAME) Library soname: [libaws-c-common.so.0unstable] suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/BUILD/aws-c-common-0.3.0/build # Will patch upstream. Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thursday 2019-01-24 14:44, Richard Biener wrote:
Unusual, but not necessarily broken -- as far as the packaging guidelines are concerned. [ 18s] libaws-c-common1.0.0.x86_64: W: shlib-unversioned-lib libaws-c-common.so.0unstable If the SONAME is libaws-c-common.so.0unstable, then the package must be named libaws-c-common0unstable, not libaws-c-common1_0_0 (and not libaws-c-common1.0.0 either!). -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 4:03 PM, Jan Engelhardt wrote:
Yes, I'm aware that the library package name has to match the SONAME. I don't think though that we having "0unstable" as SOVERSION is desirable. Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thu, 24 Jan 2019, John Paul Adrian Glaubitz wrote:
Yeah, if that suggests the ABI isn't stable we don't want to ship this kind of state. Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 4:17 PM, Richard Biener wrote:
Are we actually shipping the package if it's not submitted to Factory? The libraries are currently needed for the Public Cloud Team only and I'll just keep them in Cloud:Tools until the stuff has stabilized. The alternative would be not upgrading the package aws-sdk-cpp at all which is not an option for us. Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thu, 24 Jan 2019, John Paul Adrian Glaubitz wrote:
The alternative is to not provide a "unstable" shared library but only ship a static variant for that case. Or bump the SONAME SUSE-internal for each source change. Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 25/01/2019 01:36, John Paul Adrian Glaubitz wrote:
Well then the best course of action is to convince upstream of that and get them to do something different next release. -- 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

On Jan 24 2019, John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> wrote:
The thing is that the actual packages don't contain the symbolic link in question:
But it has a library with that soname, and that is what counts. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 2:35 PM, Andreas Schwab wrote:
You mean the SONAME is part of the shared libary file? i.e., running objcopy on libaws-c-common.so.1.0.0 would still dump that SONAME? Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thu, 24 Jan 2019, John Paul Adrian Glaubitz wrote:
readelf -d would, yes. Somehow their setup is broken.
Adrian
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 2:44 PM, Richard Biener wrote:
Right. That was what I was looking for: suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/BUILD/aws-c-common-0.3.0/build # readelf -d libaws-c-common.so.1.0.0 |grep SONAME 0x000000000000000e (SONAME) Library soname: [libaws-c-common.so.0unstable] suse-laptop:/var/tmp/build-root/openSUSE_Factory-x86_64/home/abuild/rpmbuild/BUILD/aws-c-common-0.3.0/build # Will patch upstream. Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Thursday 2019-01-24 14:44, Richard Biener wrote:
Unusual, but not necessarily broken -- as far as the packaging guidelines are concerned. [ 18s] libaws-c-common1.0.0.x86_64: W: shlib-unversioned-lib libaws-c-common.so.0unstable If the SONAME is libaws-c-common.so.0unstable, then the package must be named libaws-c-common0unstable, not libaws-c-common1_0_0 (and not libaws-c-common1.0.0 either!). -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On 1/24/19 4:03 PM, Jan Engelhardt wrote:
Yes, I'm aware that the library package name has to match the SONAME. I don't think though that we having "0unstable" as SOVERSION is desirable. Adrian -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Andreas Schwab
-
Jan Engelhardt
-
John Paul Adrian Glaubitz
-
Richard Biener
-
Simon Lees