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

How package a binary library with unversioned soname?



Hi mentors, 

I am packaging printer drivers from Canon, see [1] for the ITP and some notes
about that very peculiar, awkward beast.  These drivers are only partly free
software, they come with non-free, binary-only libraries.  While this is bad
enough, unfortunately the libraries have unversioned sonames, and I see zero
chance to have upstream (Canon) fix this.  

So, one cannot produce valid shlibs files for these libraries.  But these are
required by policy.  That is, as Steve Langasek has pointed out in [2], the
policy de-facto requires libraries to have versioned sonames. 

OTOH, there is bug #48208 "dpkg-shlibdeps can't cope with bins linked against
libfoo.so"[3], which has just recently been closed by the upload of dpkg
1.14.7~newshlib, with the changelog saying: 

     * "symbols" files use the full SONAME as key instead of splitting it in
       (name, version) like the "shlibs" format requires it. This allows
       binaries to be linked with unversioned libraries and not fail.
       Closes: #48208
       Note that unversioned libraries are still a very bad idea.

So my first question is, is there any chance to package such libraries without
breaking policy?  Are there dirty workarounds for the shlibs problem? 
How would a -dev package look like; should it exist at all?

Second, while the new dpkg-gensymbols is supposed to fix bug #48208, how is
this going to help with the underlying problem, as the policy still requires a
shlibs file?

Thanks, 
Nikolaus

[1] http://bugs.debian.org/433555
[2] http://lists.debian.org/debian-mentors/2001/07/msg00219.html
[3] http://bugs.debian.org/48208

Attachment: signature.asc
Description: Digital signature


Reply to: