packaging libraries with no versioned .so files

Hans de Goede j.w.r.degoede at hhs.nl
Thu Mar 19 07:27:14 UTC 2009


Alex Lancaster wrote:
> Hi there,
> 
> The packaging guidelines:
> 
> http://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages
> 
> recommend that unversioned .so libraries should go into a -devel
> package.  I'm reviewing a package, eclib, that has no versioned .so
> libraries at all:
> 
> http://bugzilla.redhat.com/show_bug.cgi?id=476398
> 
> To satisfy the review requirements submitter put the .so into a -devel
> package and suppressed the main eclib package, as there are no
> versioned .so to package.  It seems to make more sense to actually
> remove the -devel package and include them in the main eclib package.
> 
> The guidelines don't appear to cover the case of packages that only
> consist of unversioned .so's.  Ideally upstream would add the
> versioning, but currently don't support versioning the library.
> 
> Either way, I would like to know what the best practice would be in
> this case, and ultimately it would be useful if there was an explicit
> guideline.
> 

If upstream doesn't do library versioning it is a safe bet that they
don't guarantee ABI stability either.

The best practice in this case is to patch upstream's Makefiles to make
versioned libraries with the full upstream version in the soname
(use -release argument to libtool if using libtool). This means
that each new upstream release all dependend programs need to be rebuild
(which sucks), but in my experience this is the best way.

Regards,

Hans




More information about the fedora-devel-list mailing list