libpri1, libpri1.2, SONAMES etc.

Kilian Krause kilian at debian.org
Sun Jul 22 11:44:10 UTC 2007


Tzafrir,

On Sun, Jul 22, 2007 at 08:00:32AM +0300, Faidon Liambotis wrote:
> Hello,
> I'm having a look at the libpri mess that upstream created and 
> unfortunately got to Debian.
> 
> -- 
> PLEASE DO NOT UPLOAD A NEW libpri TO Debian BEFORE DISCUSSING THIS.
> It will only make the mess worse.
> -- 

Agreed!


> As I understand it, libpri 1.2 is _not_ API/ABI compatible with 1.4. 
> IOW, Asterisk 1.4 doesn't work with libpri 1.2 and Asterisk 1.2 doesn't 
> work with libpri 1.4. Correct me if I'm wrong.
>
> I see that now you (Kilian, mostly?) are trying to fix this mess by 
> renaming the 1.4 package again.

Well, we mostly overcome this problem by moving libpri and asterisk to
the 1.4 versions. The requirement to re-add a 1.2 branch caused the
problem that the dak on buildserver.net wouldn't take it unless we make
it use its own namespace. That's where the idea came from that we need
have both versions to coexist. Yes, because the libpri 1.4 can't be used
to compile asterisk 1.2 according to Tzafrir.


> Some initial notes:
> You've named the 1.4 package libpri1. lintian produces a warning about 
> this and is right. The SONAME is 1.0, not 1. The package should be named 
> libpri1.0.
> 
> Even better would be to do upstream's job and SONAME version the libraries.
> So,
> libpri 1.4:
>    SONAME: 1.4
>    -dev package name: libpri1.4-dev
>      i.e. contains: /usr/lib/libpri.1.4
> libpri 1.2:
>    package name: libpri1.2
>    -dev package name: libpri1.2-dev
>    SONAME: 1.2
>      i.e. contains: /usr/lib/libpri.1.2
> 
> The binary packages must not containt a /usr/lib/libpri.so.1 or 
> /usr/lib/libpri.so soft-link. The -dev can contain those.
> Hence, they MUST NOT CONFLICT each other.
> That's the standard practice (and for a good reason) for shared 
> libraries in Debian.

Sounds good. Please commit that fix to svn in the above layout so
that we can verify whether it solves the problem. If you then can also
verify that asterisk 1.4 and asterisk1.2 can be installed alongside,
that'd be even better!


> The -dev package for 1.4 must have a Conflicts:/Replaces: however, 
> beacuse of conflicting files.

Unless we sort them into unique namespaces. But no problem there IMHO.


> The binary packages
> 
> Asterisk 1.4:
>    Build-Depends: libpri1.4-dev
>    Depends: libpri1.4
> 
> Asterisk 1.2
>    Build-Depends: libpri1.2-dev
>    Depends: libpri1.2
> 
> I think that's the ideal solution, and is safe for all future versions 
> (1.6) of Asterisk and perhaps other users of libpri (what about callweaver).
> 
> Comments, thoughts?

Good to go.

-- 
Best regards,
Kilian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-voip-maintainers/attachments/20070722/0c85278b/attachment.pgp 


More information about the Pkg-voip-maintainers mailing list