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

Re: shlibs and lintian



Hi

The way I understand the Debian Plociy is that a SONAME is composed of 
library name + SONAME version
So for libvae.so.2.0  : libvae is the library name and 2.0 is the SONAME 
version (or it can be 2.0.0) .

The moment a SONAME version changes is described in 8.1 but it is 
immaterial to this case (I think) 
Also by comparison to other cases it seems that  my shlibs adhers the 
shlibs file format

Or maybe the SONAME should also be stamped inside the library file and the 
lintian scans the file content and looks for
SONAME inside that fits the SONAME in the library name  . That is 
something I am missing  because I had to compose the package after the 
libraries were built (not a pure fake root process) 

thanks

Zvi Dubitzky 
Email:dubi@il.ibm.com





From:   Russ Allbery <rra@debian.org>
To:     Zvi Dubitzky/Haifa/IBM@IBMIL
Cc:     debian-mentors@lists.debian.org
Date:   11/10/2010 18:35
Subject:        Re: shlibs and lintian



Zvi Dubitzky <DUBI@il.ibm.com> writes:

> Hi
> What do you mean the libraries are broken ?

It might be helpful to read Policy chapter 8:

    http://www.debian.org/doc/debian-policy/ch-sharedlibs.html

which explains the purpose of the library SONAME.  The problem here
appears to be that you have libraries without any version number in the
SONAME.  This both violates Policy 8.1 because there's no versioning in
the SONAME:

    Every time the shared library ABI changes in a way that may break
    binaries linked against older versions of the shared library, the
    SONAME of the library and the corresponding name for the binary
    package containing the runtime shared library should change. Normally,
    this means the SONAME should change any time an interface is removed
    from the shared library or the signature of an interface (the number
    of parameters or the types of parameters that it takes, for example)
    is changed. This practice is vital to allowing clean upgrades from
    older versions of the package and clean transitions between the old
    ABI and new ABI without having to upgrade every affected package
    simultaneously.

and it makes it impossible to use the shlibs section because the shlibs
file syntax requires a version number in the SONAME (see Policy 8.6.3).

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: