packaging libraries with no versioned .so files

Michael Schwendt mschwendt at gmail.com
Sat Mar 21 13:31:42 UTC 2009


On Fri, 20 Mar 2009 19:19:07 +0100, Till wrote:

> On Do März 19 2009, Alex Lancaster wrote:
> 
> > The guidelines don't appear to cover the case of packages that only
> > consist of unversioned .so's.  Ideally upstream would add the
> 
> The Review Guidelines are easier to understand:
> 
> | MUST: If a package contains library files with a suffix (e.g.
> | libfoo.so.1.1), then library files that end in .so (without suffix) must go
> | in a -devel package.
> 
> Imho this means, that the .so files without other suffixed .so.* files go in 
> the main package.

It's not bullet-proof either. That guideline only tries to cover ordinary
shared library packages, where the .so files are softlinks, which are
needed only when compiling software.

That guideline has been misunderstood a couple of times before, too. Some
packages store versioned libraries in %_libdir and non-versioned .so
plug-ins/modules in %_libdir/%name. I think we've also had packages that
store a mix of .so.N and .so libs in %_libdir, and even the cases where an
application dlopen()'s the .so symlinks which point to the versioned .so.N
or so.X.Y.Z libs. Additionally, there's the special case where the .so.N
libs are dlopen'ed at run-time, while the .so symlinks are not needed at
all. Sometimes packagers move them to a -devel package without having any
public API headers. [Not deleting statically linked .a plugins which
are useless is another case you can observe during pkg reviews.]




More information about the fedora-devel-list mailing list