Private-libraries in /usr/lib* - invalid soname.
Alec Leamas
leamas.alec at gmail.com
Fri Apr 20 14:32:59 UTC 2012
On 04/20/2012 04:08 PM, Kevin Kofler wrote:
> Alec Leamas wrote:
>> Still a newbie I have repeatedly been running into apps which stores
>> private, unversioned libraries into /usr/lib*. The usual symptom is
>> 'invalid-soname' errors rpmlint errors.
> There's no requirement that our packages have no errors from rpmlint.
Agreed.
> As far
> as I know, invalid-soname does not match any requirement in our packaging
> guidelines.
To my understanding, this is not really clear. From [1] I find ( thanks
to tibbs):
> As an additional complication, some software generates unversioned
> shared objects which are not intended to be used as system libraries.
> These files are usually plugins or modular functionality specific to
> an application, and are not located in the ld library paths or cache.
> This means that they are not located directly in /usr/lib or
> /usr/lib64, or in a directory listed as a library path in
> /etc/ld.so.conf (or an /etc/ld.so.conf.d/config file). Usually, these
> unversioned shared objects can be found in a dedicated subdirectory
> under /usr/lib or /usr/lib64 (e.g. /usr/lib/purple-2/ is the plugin
> directory used for libpurple applications). In these cases, the
> unversioned shared objects do not need to be placed in a -devel package.
I read those lines as "unversioned libs should be outside of ld.so's
paths" - placing them in a -devel package makes no sense. Also, my
initial discussion on #fedora-devel pointed in the same direction.
However, I have no problem with your overall conclusion from a more
practical point of view. I just want it cleared out.
> Unversioned shared libraries are bad, but inventing a library
> version can lead to conflicts with future upstream releases for public
> libraries, and is just not worth it at all for private ones. There's no need
> for a soname version if the library comes from the same package as the only
> user(s) of it.
>
> Kevin Kofler
Looks fine to me. Anyone else? Should the private lib be filtered in
this situation?
Thanks for input.!
--alec
[1] http://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages
More information about the devel
mailing list