Problem packaging a library

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem packaging a library

Luigi Baldoni
  Hello everyone,
I'm attempting to package a library plus a few dependent executables.
Said library is alas static-only, but since about twelve executables
depend on it, it seemed like a waste and therefore I patched the
source to build it shared.

But then I got stuck. I don't think I can set a SOVERSION because there
would be no guarantee of API/ABI compatibilty upwards, but its SONAME
ends with a digit and rpmlint seems to be confused by this.
I've read https://en.opensuse.org/openSUSE:Shared_library_packaging_policy
and it doesn't seem to cover this particular case.

Should I rename the library? Force a version? Ignore rpmlint's warnings
or what else?

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Problem packaging a library

Jan Engelhardt-4

On Monday 2017-03-27 21:55, Luigi Baldoni wrote:

>Said library is alas static-only
>
>I don't think I can set a SOVERSION because there
>would be no guarantee of API/ABI compatibilty upwards, but its SONAME
>ends with a digit and rpmlint seems to be confused by this.

If there is only a static library, there is no official SONAME, ergo the
filename cannot end in a digit (and should not be made to, either).

Compatibility is not a problem that needs to be solved. Uniqueness is.

>I've read https://en.opensuse.org/openSUSE:Shared_library_packaging_policy
>and it doesn't seem to cover this particular case.

Section "When there is no versioning", subclause "it is suggested to enter the
complete package version into the SONAME". This ensures the
uniqueness.

>Should I rename the library? Force a version? Ignore rpmlint's warnings
>or what else?
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Problem packaging a library

Luigi Baldoni
Jan Engelhardt-4 wrote
On Monday 2017-03-27 21:55, Luigi Baldoni wrote:

>Said library is alas static-only
>
>I don't think I can set a SOVERSION because there
>would be no guarantee of API/ABI compatibilty upwards, but its SONAME
>ends with a digit and rpmlint seems to be confused by this.

If there is only a static library, there is no official SONAME, ergo the
filename cannot end in a digit (and should not be made to, either).
I mean that the SONAME created after the static library's name ends with
a digit. So, libfoo4.a becomes libfoo4.so and then libfoo4-1.2.3.so packaged
as libfoo4-1_2_3.

Is that "4" going to create problems to anything? Would it make sense to rename
it to libfoofour or something?

Regards
Reply | Threaded
Open this post in threaded view
|

Re: Problem packaging a library

Jan Engelhardt-4

On Tuesday 2017-03-28 09:34, Luigi Baldoni wrote:
>> If there is only a static library, there is no official SONAME, ergo the
>> filename cannot end in a digit (and should not be made to, either).
>
>I mean that the SONAME created after the static library's name ends with
>a digit. So, libfoo4.a becomes libfoo4.so and then libfoo4-1.2.3.so packaged
>as libfoo4-1_2_3.
>
>Is that "4" going to create problems to anything? Would it make sense to
>rename it to libfoofour or something?

That will not be necessary. The name transformation is to happen exactly like
you said. If rpmlint complaints, the blame is on rpmlint being not bright
enough.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]