[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: library naming problem

On Wed, Dec 21, 2005 at 12:33:38AM -0500, Steve Halasz wrote:
> Hi,
> I've been helping to package the GDAL library. It contains a C and a C++
> API. The upstream maintainer has decided not to guarantee ABI
> compatibility even between minor releases. He updates the SONAME
> correctly for the C API. Hopefully we can manage to split the two APIs
> into different packages. But for now, how should I name the package when
> the ABI has changed, but the SONAME hasn't?
> The SONAME is libgdal.so.1. The new release is 1.3.1. I've thought of
> using libgdal1.3.1-1 as the package name.
The symlink libgal.so.1 => libgdal.so.1.X.Y will exist in each runtime
package, and the linker symlink libgal.so => libgal.so.1.X.Y will
exist in each -dev package.

If each runtime package Conflicts+Provides+Replaces the virual package
libgdal, then you will be able to ensure that only a single such
package is installed.  You can either do a similar thing with the -dev
packages, or use Depends: libgal1.3.1 (which conflicts with other
libgal packages, which are dependencies of other -dev packages).

The runtime packages will provide a shlibs file resolving the soname
to the package that was used for compilation, and thusly the one
necessary at runtime.  (The shlibs file should be an '=' relation, not
an '>=' one).


Clear skies,

Reply to: